All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
NOTE: As semantic versioning states all 0.y.z releases can contain breaking changes in API (flags, grpc API, any backward compatibility). We use
- #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.
- #227: [techdocs] Ignore comments in code blocks in table of contents.
- #234: [azure] Fix json tags in Azure permissions struct.
- #217: [azure] Use resource groups to get a list of container instances.
- #225: [core]
⚠️ Breaking change:⚠️ Change options handling accross 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.
v0.7.0 (2021-11-19)
- #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.
- #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.
- #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 (2021-10-11)
- #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.
- #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.
- #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 (2021-08-03)
- #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.
- #94: Fix variable handling for dashboards.
- #99: Fix WebSocket connections for the Kubernetes terminal in environments with an idle timeout for all connections.
- #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 (2021-07-14)
- #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.
- #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 (2021-06-03)
- #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.
- #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.
- #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.
v0.2.0 (2021-04-23)
- #29: Add a new dependencies section to the Application CR. These dependencies are used to show a topology graph for all Applications.
- #31: Add plugin support for Kubernetes resources.
- #32: Add support for container logs via the Kubernetes API.
- #34: Add a new Custom Resource Definition for Teams. Teams can be used to define the ownership for Applications and other Kubernetes resources.
⚠️ Breaking change:⚠️ We are now using theapiextensions.k8s.io/v1
API for the Custom Resource Definitions of kobs. - #39: Add Opsgenie plugin to view alerts within an Application.
- #40: Add metric name suggestions for Prometheus plugin.
- #41: Add overview and Pods tab for resource details.
- #42: Add VirtualService specification for Istio to the Helm chart.
- #33: Fix the topology graph, which crashes, when an Application has a dependency to an Application, which doesn't exists.
- #30: Support multiple versions of a CRD and allow the specification of namespaces in the Applications resources list.
- #35: Add new field
displayName
for plugins, to overwrite the name which is displayed for a plugin tab in the frontend.
v0.1.0 (2021-04-04)
- #4: Add Custom Resource Definition for Applications.
- #6: Add Prometheus as datasource for Application metrics.
- #8: Add new page to directly query a configured Prometheus datasource.
- #10: Add Elasticsearch as datasource for Application logs.
- #12:
⚠️ Breaking change:⚠️ Add plugin system and readd Prometheus and Elasticsearch as plugins. - #13: Add Jaeger plugin to show traces for an Application and to compare traces.
- #16: Add support for multiple queries in the Prometheus plugin page.
- #18: Add metrics and logs for the gRPC server.
- #19: Use multiple colors in the Jaeger plugin. Each service in a trace has a unique color now, which is used for the charts.
- #21: Add preview for Applications via plugins.
- #22: Add Helm chart.
- #23: Add Kustomize files and demo.
- #24: Add documentation.
- #26: Add support for all Kubernetes resources.
- #1: Fix mobile layout for the cluster and namespace filter by using a Toolbar instead of FlexItems.
- #9: Fix time parsing for the datasource options.
- #14: Fix loading of Jaeger services, when a user opend the Jaeger plugin, where the
service
query parameter was already present. - #15: Fix resources tab of an Application, where resources were loaded multiple times.
- #7: Share datasource options between components and allow sharing of URLs.
- #11:
⚠️ Breaking change:⚠️ Refactor cluster and application handling. - #17: Use location to load applications, which allows user to share their applications view.
- #20: Rework usage of icons, links handling and drawer layout.
- #25: Change the URL for the Helm repository to helm.kobs.io.