Releases: kobsio/kobs
Releases · kobsio/kobs
v0.11.0
Added
- #443: Add PodDisruptionBudget to Helm Charts @monotek
- #441: [app] Extend Placeholders for Dashboards @ricoberger
- #435: [grafana] Add support for variables in dashboards @ricoberger
- #434: [datadog] Add Datadog Plugin @ricoberger
- #431: [mongodb] Add MongoDB Plugin @timkante
- #432: Add topologySpreadConstraints value in Helm chart @ricoberger
- #429: [jaeger] Add Panels for Service Performance Monitoring @ricoberger
- #428: [jaeger] Add Service Performance Monitoring @ricoberger
Fixed
- #445: [app] Fix User Authentication @ricoberger
- #442: [app] Fix token auth @ricoberger
- #440: [mongodb] Fix pagination for collections @ricoberger
- #439: [mongodb] Fix render performance @ricoberger
- #436: [app] Show empty integer colums as 0 in CRs @ricoberger
- #433: [mongodb] Fix null error and limit parameter @ricoberger
- #430: [doc] Fix Kubernetes resources documentation @stefan-scheidewig
- #427: [demo] Upgrade Istio version to 1.15.0 ⬆️ @timkante
Changed
- #447:
klogs-plugin
: use TextArea instead of TextInput @matthiastz - #437:
⚠️ Breaking change:⚠️ [klogs] Use maps instead of columns for custom fields @ricoberger - #438: [app] Only display columns with priority 0 for CRs @ricoberger
v0.10.0
Added
- #419: [signalsciences] Add Signal Sciences Plugin @ricoberger
- #414: [jira] Add Jira Plugin @ricoberger
- #406:
⚠️ Breaking change:⚠️ [app] Implement Authentication @ricoberger - #411: [sql] Add yAxisGroup Property @ricoberger
- #407: [sql] Add "singlestats" Chart @ricoberger
- #402: [app] Add "mongodb" driver @ricoberger
- #401: [app] Add Integrations for Kubernetes Resources @ricoberger
- #399: [github] Add Notifications @ricoberger
- #398: [github] Add GitHub Plugin @ricoberger
- #394: [app] Custom User and Team Notifications @ricoberger
- #393: [app] Display Kubernetes Resources in Notifications @ricoberger
- #392: [rss] Display RSS Feeds in Notifications @ricoberger
- #390: [app] Improve instrumentation middleware @ricoberger
- #389: [app] Add Notifications @ricoberger
- #388: [app] Customize Navigation Sidebar @ricoberger
Fixed
- #425: [sql] Fix query encoding in panel actions @ricoberger
- #416: [app] Fix error handling in resources table @ricoberger
- #413: [app] Fix Permission Handling for Applications @ricoberger
- #410: [app] Fix 404 error for ACE worker files @ricoberger
- #403: [app] Add missing sort keys to MongoDB queries @ricoberger
- #397: Fix elastic setup for recent kubernetes versions 💚 @timkante
- #396: [app] Fix Shutdown Logic @ricoberger
- #395: [app] Fix Permission Handling for Apps and Teams @ricoberger
- #387: [app] Fix tooltip in charts @ricoberger
Changed
- #424: [app] Update Dependencies @ricoberger
- #423: [app] Replace plouc/nivo with @patternfly/react-charts @ricoberger
- #422: [app] Rework "useDimensions" hook @ricoberger
- #421: [app] Delete all cookies on signout @ricoberger
- #420: [app] Use generics for jwt package @ricoberger
- #418: [app] Go to details when application is selected @ricoberger
- #417: [jira] Adjust notification style @ricoberger
- #415: [jira] Convert description to markdown @ricoberger
- #404: [app] Update Dependencies @ricoberger
- #412: [helm] Reload list of Helm releases @ricoberger
- #409: [app] Improve Plugin Instaces Toolbar @ricoberger
- #408: [app] Improve Usability @ricoberger
- #405: [app] Imporove federated module core @marwonline
- #400: [app] Add recover handler for metrics middleware @ricoberger
- #391: [app] Fix terminal for Kubernetes Pods @ricoberger
v0.9.1
v0.9.0
Added
- #355: [app] Add profile page for authenticated users, which can be customized via dashboards.
- #361: [app] Add tracing support for kobs via Jaeger or Zipkin.
- #363: [app] Re-add topology chart, which is generated based on the dependencies of an Application.
- #374: [app] Reduce bundle size by using code splitting for React Router and optimizing the import of icons.
- #375: [app] Add ServiceWorker and version parameter for
remoteEntry.js
file. - #376: [flux] Add action to suspend / resume resources.
Fixed
- #349: [app] Fix the creation of a VirtualService in the Helm chart when no
additionalRoutes
are set. - #350: [app] Fix Docker image and request proxy.
- #351: [jaeger] Fix links and colors in Jaeger plugin.
- #352: [app] Fix plugin filter and allow filtering by the name of a satellite.
- #356: [app] Fix tooltip in documents table of the klogs plugin. Fix filtering of services and operations in the Jaeger plugin. Add max height to all select boxes.
- #358: [app] Fix namespace handling, when multiple namespaces are selected.
- #359: [app] Fix pagination, when the number of items per page is changed.
- #360: [app] Fix static file handling, when url contains a dot (
.
). - #364: [app] Fix usage of cytoscape in the topology graph. The fix was also applied for the
istio
andkiali
plugin. - #365: [app] Fix satellite replacement for variables in inline dashboards.
- #368: [flux] Fix panel implementation, so that the Flux plugin can be used within a dashboard again.
Changed
- #346: [app]
⚠️ Breaking change:⚠️ Rework kobs architecture, by introducing ahub
and asatellite
component. This new architecture allows us to run the kobshub
component in a central cluster and access clusters / services (plugins) through the kobssatellite
component. More information regarding the new kobs architecture can be found in the documentation at kobs.io. - #348: [app] Update permission handling.
- #354: [app] Change URLs for the details page of an Application and a Dashboard.
- #357: [app] Adjust namespace handling in the frontend, so that it is not required anymore to select the namespaces from all selected clusters.
- #362: [app]
⚠️ Breaking change:⚠️ Renamepreview
field toinsights
in Application CRD. - #366: [app]
⚠️ Breaking change:⚠️ Rework Go plugin architecture, to not uses Go'splugin
mode. - #367: [app] Change filtering for select components, by using
item.includes(value)
. - #369: [app] Add
insights
panel, to display the insights of an application within a dashboard. - #371: [app] Change toolbar handling by replacing the Patternfly
Toolbar
andToolbarItem
components with a customToolbar
andToolbarItem
component. - #372: [app] Change
hasDivider
property toPageContentSection
component to explicit enable / disable the diver. - #373: [app] Change behaviour of drawer panels on pages with dashboards.
- #377: [app] Change filter for select boxes by always comparing the lower case values.
v0.8.0
Added
- #213: [techdocs] Add TechDocs plugin, to access the documentation for your services within kobs.
- #215: [azure] Add Azure plugin, to monitor your Azure resources.
- #219: [azure] Add permissions for Azure plugin, so that access to resources and actions can be restricted based on resource groups.
- #220: [azure] Add auto formatting for the returned metrics of a container instance and fix the tooltip positioning in the metrics chart.
- #221: [azure]
⚠️ Breaking change:⚠️ Add support for kubernetes services and refactor various places in the Azure plugin. - #222: [azure] Simple cost management on subscription level
- #224: [harbor] Add support for multi-arch images.
- #226: [klogs] Add option to sort fields.
- #228: [azure]
⚠️ Breaking change:⚠️ Add support for virtual machine scale sets and change required values to display metrics from Azure. - #246: [jaeger] Add new configuration field
publicAddress
. When this options is set we add a link to the Jaeger UI. - #256: [grafana] Add tests for Grafana plugin.
- #257: Add codecov.io for code coverage.
- #258: [rss] Add test for RSS plugin.
- #261: [elasticsearch] Add test for Elasticsearch plugin.
- #264: [core] Add tests for core packages.
- #266: [dashboards] Add tests for dashboards plugin.
- #267: [users] Add tests for users plugin.
- #268: [teams] Add tests for teams plugin.
- #270: [applications] Allow the usage of dashboards in application dependencies.
- #271: [applications] Add support for external applications.
- #272: [helm] Add Helm plugin, to manage Helm releases via kobs.
- #273: [azure] Add tests for Azure plugin.
- #277: Support multiple versions for the documentation.
- #282: [helm] Add permission handling based on clusters, namespaces and the names of Helm releases.
- #283: [core] Add optional
defaultTime
argument togetTimeParams
function to overwrite the default time range. - #285: [core] Add
/api/debug
endpoints for debugging the API server. - #288: [resources] Add support to show custom columns for a resource.
- #289: Add an option to create a NetworkPolicy via the Helm chart.
- #295: [sql] Add
columns
options to set the title and formation of the returned columns from a query. - #296: [sql] Add support to visualize data via line and area charts.
- #298: [sql] Add support for pie charts.
Fixed
- #227: [techdocs] Ignore comments in code blocks in table of contents.
- #234: [azure] Fix json tags in Azure permissions struct.
- #242: [flux] Fix sync action for Kustomizations / Helm Releases and reload resources when search button is clicked.
- #243: [resources] Fix reload of resources, when the user clicks on the search button.
- #245: [klogs] Fix that the returned documents could be out of the selected time range.
- #247: [azure] Fix documentation about the permission handling.
- #274: Fix Docker build by setting
CGO_ENABLED=0
. - #280: [core] Fix returned capacity value for persistent volumes.
- #286: [helm] Show warning when no Helm releases were found or the history of an Helm release was not found.
- #292: [resources] Fix shown conditions in details view.
- #297: [prometheus] Fix metrics, when Prometheus returns
Inf
value. - #303: [core] Fix missing borders for select elements.
- #304: [resources] Fix formatting of cells for Custom Resource Definition.
- #307: [resources] Fix creation of Jobs.
Changed
- #217: [azure] Use resource groups to get a list of container instances.
- #225: [core]
⚠️ Breaking change:⚠️ Change options handling across all plugins and re-addtime
property. - #229: [opsgenie] Allow users to overwrite the selected time range in a dashboard for an Opsgenie panel via the new
interval
property. - #230: [dashboards] Add special variables
__timeStart
and__timeEnd
for dashboards. - #231: [klogs] Highlight expanded row and do not use index as key. The same changes were also applied for the Elasticsearch plugin.
- #232: [core] Change options handling for various plugins.
- #233: [resources] Highlight expanded row for containers in Pod details.
- #235: [resources] Use
TableComposable
instead ofTable
component and unify table style across plugins. - #237: [core] Adjust API paths to use the same schema as the Azure plugin.
- #239: [azure] Cost Management drill-down on resource groups.
- #238: [core] Refactor frontend code for plugins (change options handling, use
setDetails
instead ofshowDetails
and rename plugins options in panels topluginOptions
). - #240: [core] Switch from
github.com/sirupsen/logrus
togo.uber.org/zap
for logging and enrich log lines viacontext.Context
. - #241: [core]
⚠️ Breaking change:⚠️ Rework authentication / authorization middleware and adjust the Custom Resource Definition for Users and Teams. - #236: [core] Improve filtering in select components for various plugins.
- #260: [opsgenie] Adjust permission handling and add actions for incidents.
- #262: [core] Rework variables handling in dashboards.
- #263: [core]
⚠️ Breaking change:⚠️ Refactorcluster
andclusters
package. - #265: [applications] Improve tags support by allow users to filter applications by tags and showing tags on application page.
- #269: [applications]
⚠️ Breaking change:⚠️ Improve topology graph, by allowing custom styles for applications. - #275: [azure] Improve cost management integration by adjusting the chart style and allowing the usage in dashboard panels.
- #276: [resources]
⚠️ Breaking change:⚠️ Add newverbs
property for resource permissions, to allow administrators more control about what users can do. - #279: [dashboards]
⚠️ Breaking change:⚠️ Refactor defaults, placeholders and variables handling. - #281: [helm] Remove
helm.sh/helm/v3
package and use a custom implementation to get Helm releases. - #284: [core]
⚠️ Breaking change:⚠️ Update CRD versions fromv1beta1
tov1
. - #287: [resources]
⚠️ Breaking change:⚠️ Refactor permission handling forpods/logs
,pods/exec
and the global forbidden resources configuration. - #290:
⚠️ Breaking change:⚠️ Renamecreate
values toenabled
in the Helm chart. - #291: [klogs] Show link to aggragations and documentation in dropdown.
- #293: [azure] It is now possible to set a custom value for the number of logs lines which should be shown and if the timestamps should be shown for the logs of a container.
- #294: Improve shutdown of kobs by extending context timeout and adding
terminationGracePeriodSeconds
property. - #305: [resources] Show state and la...
v0.7.0
Added
- #177: [istio] Add Istio plugin to get an overview of all applications in the service mesh.
- #182: [istio] Add top and tap commands and add details view for metrics.
- #183: [istio] Add panels and documentation and use the
destination_app
label instead ofdestination_workload
for the Prometheus metrics. - #184: [clickhouse] Add aggregations to visualize logs.
- #187: [clickhouse] Add options to download returned logs as
.log
or.csv
file. - #192: [clickhouse] Add options to download aggregation results as
.csv
file. - #193: [elasticsearch] Adjust selected time range via logs chart and allow filtering via fields.
- #201: [sonarqube] Add SonarQube plugin to view projects and their measures within kobs.
- #202: [core] Add tooltip to refresh button to show selected time interval.
- #204: [grafana] Add Grafana plugin, to show dashboards from a Grafana instance and to embed Grafana panels into kobs dashboards.
- #205: [resources] Add support to download/upload files from/to a container.
- #208: Add documentation about how to Develop a Plugin.
- #209: [harbor] Add Harbor plugin, to show projects, repositories and artifacts including there vulnerabilities and build history from a Harbor instance.
Fixed
- #175: [prometheus] Fix tooltip when no unit is provided.
- #186: [jaeger] Fix tooltip position in traces chart.
- #189: [clickhouse] Fix download of
.csv
fiels. - #191: [clickhouse] Fix returned logs, when user selected a custom order.
- #196: [elasticsearch] Fix number of documents.
- #199: Add
volumes
andvolumeMounts
properties to the Helm chart, to support the kubeconfig provider.
Changed
- #179: [clickhouse] Add sorting and show milliseconds in time column.
- #181: [core]
⚠️ Breaking change:⚠️ Make the time selection across all plugins more intuitive. For that we removed thetime
property from the Options component and showing the formatted timestamp instead. - #185: [clickhouse] Use pagination instead of Intersection Observer API to display logs.
- #188: [sql] Replace the
GetQueryResults
function with the implemention used in the Clickhouse plugin, to have a proper handling for float values. - #190: [core] Unify list layout across plugin.
- #194: [elasticsearch] Use pagination instead of infinite scrolling to display logs.
- #195: [istio] Display upstream cluster instead of authority in the React UI and ignore query string in path.
- #197: [clickhouse] Change break down filter for aggregation, to allow more complex filters.
- #210: [klogs]
⚠️ Breaking change:⚠️ Renameclickhouse
plugin toklogs
.
v0.6.0
Added
- #103: Add option to get user information from a request.
- #104: Add actions for Opsgenie plugin to acknowledge, snooze and close alerts.
- #105: Add Prometheus metrics for API requests.
- #112: Allow mapping values in Prometheus table panel.
- #113: Allow and improve customization of axis scaling.
- #116: Open details when clicking on Jaeger chart nodes.
- #117: Change Jaeger chart node color to red for erroneous traces.
- #119: Add Flux plugin to view and reconcile Flux resources.
- #122: Add ClickHouse plugin, to query show logs ingested by the kobsio/fluent-bit-clickhouse Fluent Bit plugin.
- #124: Add
sql
mode for ClickHouse to execute raw SQL queries. - #126: Show request details when gettings logs from ClickHouse.
- #127: Allow
ILIKE
queries for ClickHouse logs, using the new=~
operator. - #128: Allow users to specify dashboards within a Team or Application via the new
inline
property. - #131: Add chart which shows the distribution of the logs lines in the selected time range for the ClickHouse plugin.
- #132: Support the download of log lines in their JSON representation in the ClickHouse and Elasticsearch plugin.
- #136: Allow custom order for the returned logs and add
!~
and_exists_
operator for ClickHouse plugin. - #138: Add option to stream (follow) logs via WebSockets.
- #149: Add SQL plugin to run queries against a configured SQL database instance. For now we are supporting the
clickhouse
,postgres
andmysql
driver. - #151: Add actions for in log details view of the ClickHouse, so that users can filter based on the value of a field.
- #156: Add tags for applications.
- #159: Allow users to select a time range within the logs chart in the ClickHouse plugin.
- #160: Allow users to sort the returned logs within the documents table in the ClickHouse plugin.
- #161: Add support for materialized columns, to improve query performance for most frequently queried field.
- #162: Add support to visualize logs in the ClickHouse plugin.
- #170: Add Custom Resource Definition for Users.
- #171:
⚠️ Breaking change:⚠️ Add authentication and authorization mechanism for plugins and resources. These settings are configured via the--api.auth.<SETTING>
flags. Permissions are always granted on a team level. A users gets all permissions of the team where he is a member of. - #172: Add authentication and authorization settings to Helm chart.
Fixed
- #102: Fix GitHub Action for creating a new Helm release.
- #109: Fix tooltip position in Prometheus charts.
- #110: Fix Dashboard tabs showing wrong variables.
- #111: Fix usage of
memo
in Dashboards and fix resources table for CRDs when a value is undefined. - #114: Fix span order and additional fields for Jaeger plugin.
- #115: Fix maximum node size of the Jaeger chart and utilize
useMemo
to cache computation for it. - #118: Fix
null is not an object (evaluating 'e[Symbol.iterator]')
error for Prometheus charts. - #120: Fix reconcilation of Flux resources.
- #123: Fix fields handling in ClickHouse and Elasticsearch plugin.
- #125: Fix missing
return
statement in ClickHouse panel. - #129: Fix handling of traces in the Jaeger plugin by using some function from the jaegertracing/jaeger-ui.
- #134: Fix time in log buckets of the ClickHouse plugin.
- #135: Fix read and write i/o timeouts for web terminal.
- #143: Fix a bug in the Jaeger plugin, where results were not refreshed after a user selected another service, operation, etc.
- #146: Fix logic for long running requests introduced in #144.
- #163: Remove legend from logs chart and use
useDimensions
hook. - #168: Fix missing encoding of query parameter in ClickHouse plugin.
Changed
- #106:
⚠️ Breaking change:⚠️ Change Prometheus sparkline chart to allow the usage of labels. - #107: Add new option for Prometheus chart legend and change formatting of values.
- #108: Improve tooltip position in all nivo charts.
- #121:
⚠️ Breaking change:⚠️ Allow multiple queries in the panel options for the Elasticsearch plugin. - #130:
⚠️ Breaking change:⚠️ Allow multiple queries in the panel options for the Jaeger plugin. - #133: Improve querie performance to get logs from ClickHouse.
- #137: Change log view for the ClickHouse and Elasticsearch plugin.
- #139: Update Go and JavaScript dependencies.
- #140: Fill the chart for the distribution of the log lines with zero value.
- #141: Add
node_modules
to.dockerignore
. - #144: Avoid timeouts for long running requests in the ClickHouse plugin.
- #147: Improve query performance for ClickHouse plugin and allow custom values for the maximum amount of documents, which should be returned (see #133).
- #148: Improve reliability of kobs, by do not checking the database connection for a configured ClickHouse instance.
- #150:
⚠️ Breaking change:⚠️ The ClickHouse plugin can now only be used together with the kobsio/fluent-bit-clickhouse output plugin for Fluent Bit. For raw SQL queries against a ClickHouse instance the SQL plugin added in #149 can be used. - #152: Improve performance for large dashboards and open Application page in gallery view.
- #155: Allow users to get all Applications from all namespaces, by allowing an empty namespace list.
- #157: Imporve query performance for ClickHouse plugin.
- #158: Improve Pormetheus HTTP metrics and create a metric to find the most used fields in queries.
- #164: Improve chart handling across plugins.
- #167: Improve styling across plugins.
- #169: Rework home page to include plugins, applications and teams.
- #173: Move CRD interfaces to core plugin, so that we can use them within the plugin.
v0.5.0
Added
- #81: Add markdown plugin, which can be used to render a markdown formatted text in a dashboard panel.
- #83: Extend Kubernetes resource with Teams, Applications and Dashboards via annotations.
- #84: Add actions for resource, so that they can be modified or deleted within kobs.
- #87: Rework Kiali plugin to show the topology chart from Kiali for a list of namespaces.
- #89: Rework Opsgenie plugin to show alerts and incidents from Opsgenie.
- #91: Add force delete option for Kubernetes resources.
- #92: Preparation to build a own version of kobs using the kobsio/app template.
- #93: Show status of Kubernetes resource in the table of the resources plugin.
- #97: Add support for Kiali metrics.
- #98: Add terminal support for Kubernetes Pods.
- #100: Add support for Ephemeral Containers.
Fixed
- #94: Fix variable handling for dashboards.
- #99: Fix WebSocket connections for the Kubernetes terminal in environments with an idle timeout for all connections.
Changed
- #82: Improve error handling for our API.
- #85: Improve overview page for Pods, by displaying all Containers in an expandable table and by including the current resource usage of all Containers.
- #86: Improve overview page for Nodes, by displaying the resource metrics for the CPU, Memory and Pods.
- #88: Improve handling of actions for Kubernetes resources.
- #95: It is now possible to get Kubernetes resources for all namespaces by not selecting a namespace from the select box on the resources page.
- #96: Add RSS plugin to show the latest status updates of third party services.
- #101: Show logs in the terminal.
v0.4.0
Added
- #74: Add new Custom Resource Definition for Dashboards as a replacement for Templates.
- #75: Add placeholder for Dashboards, which allows users to pass custom values to Dashboards.
- #76: Add support for variables and time ranges in Dashboards.
Changed
- #71:
⚠️ Breaking change:⚠️ Remove protobuf as requirement and rework project structure for better plugin support. - #73:
⚠️ Breaking change:⚠️ Add a new version for the Applications and Teams Custom Resource Definitions (v1beta1). - #77:
⚠️ Breaking change:⚠️ Rework Prometheus plugin. - #78:
⚠️ Breaking change:⚠️ Rework Elasticsearch plugin. - #79:
⚠️ Breaking change:⚠️ Rework Jaeger plugin. - #80: Adjust documentation, demo, Helm chart and Kustomize files for the new CRDs and plugins.
v0.3.0
Added
- #45: Add value mappings for
sparkline
charts in the Prometheus plugin. - #49: Add new chart type
table
for Prometheus plugin, which allows a user to render the results of multiple Prometheus queries in ab table. - #51: Add new command-line flag to forbid access for resources.
- #52: Add option to enter a single trace id in the Jaeger plugin.
- #56: Add actions for Elasticsearch plugin to include/exclude and toggle values in the logs view.
- #58: Add plugin support for Teams. It is now possible to define plugins within a Team CR, which are then added to the teams page in the React UI.
- #59: Add support for Templates via the new Templates CRD. Templates allows a user to reuse plugin definitions accross Applications, Teams and Kubernetes resources.
- #60: Add support for additional Pod annotations and labels in the Helm chart via the new
podAnnotations
andpodLabels
values. - #63: Add Kiali plugin (in the current version the Kiali plugin only supports the graph feature from Kiali).
- #66: Add edge metrics for Kiali plugin.
Fixed
- #43: Fix
hosts
andgateways
list for VirtualService in the Helm chart. - #44: Add default logo for teams, which is shown when a team doesn't provide a logo and improve metrics lookup for Prometheus plugin.
- #50: Fix determination of the root span in the Jaeger plugin.
- #54: Fix fields handling in Elasticsearch plugin.
Changed
- #46: Support multiple types for the legend in a Prometheus chart and use a custom component to render the legend.
- #47: Display the legend at the Prometheus page as table and use color of selected metric in chart.
- #53: Improve Jaeger plugin, by allow filtering of services and operations and adding several actions for traces.
- #55: Allow a user to add a tag from a span as filter in the Jaeger plugin.
- #57: Visualize the offset of spans in the Jaeger plugin.
- #61: Improve caching logic, by generating the teams and topology graph only when it is requested and not via an additional goroutine.
- #62: Show the name of a variable within the select box in the Prometheus dashboards.
- #64: Recreate Pods when ConfigMap in Helm chart is changed.
- #67:
⚠️ Breaking change:⚠️ Adjust Pod and Service labels, which can now be set via thepod.labels
,pod.annotations
,service.labels
andservice.annotations
values.