Overview
2.6 is considered an edge release with the latest enhancements. These changes have all been extensively tested. Due to the sensitive nature of RBAC, it is strongly recommended to test access controls with test users that have limited access after upgrading.
Version 2.5.x is a stable release and it will continue to receive critical patches.
Known Issues
- Settings page banner incorrectly displays a
Version Mismatch
warning. This can safely be ignored.
Version Mismatch
The Kubecost helm chart version does not match your API and UI versions. Please ensure that the helm chart version matches the container images.
Features
- Enhancements to RBAC Teams functionality.
- Support for Teams in OIDC.
- Filtering support for Assets and Cloud Costs, in addition to Allocations.
- Enhanced claims mapping, allowing matching users based on any property of the SAML response / OIDC auth token(s).
- Granular page enablement controls via RBAC.
- Improved and reorganized teams logic, allowing creation of multiple roles which can be assigned to teams and have their permissions joined for users.
- Ability to preconfigure teams from the Helm chart or ConfigMap.
- Fix ability to enable Teams not functioning as expected.
- For more info, see documentation.
- Update the CSV Provider to allow for a new
gpulabel
asset class (opencost/opencost#3024). - Allow sorting Savings: Request Sizing by container name.
- Implement ClusterSizing for Clickhouse.
Notes about new RBAC Teams capabilities
Previously, teams was not explicitly gated behind disabling simple Helm-configured RBAC, leading to a potential "half-enabled" state where items under .rbac.groups and UI-defined teams co-existed and applied permissions in union. In version 2.6, this has been rectified, and enabling RBAC by defining groups under .rbac.groups for either SAML or OIDC will disable the functionality of any Teams. In order to enable teams, remove any items under .rbac.groups but leave RBAC enabled. For more information on simple RBAC versus Teams, enabling RBAC Teams, or changes to Teams in 2.6, see the linked documentation.
Fixes
- Reduce memory usage when pruning duplicates in cost model (opencost/opencost#3041).
- Retain idle cost in Clickhouse implementation of Summary Allocation API (opencost/opencost#3034).
- Reduce memory usage by trimming managed fields in cluster cache (opencost/opencost#3025).
- Address cluster cache issues where initialization of the Provider was happening before specific resources were available (opencost/opencost#3023).
- Fix JSON Window parsing for Asset types (opencost/opencost#3021).
- Remove Kubernetes resource endpoints proxied from Opencost to reduce pressure on cache (opencost/opencost#3016).
- Optimize implementation and performance of cluster cache.
- Fix encoding for "Local" property on Disk asset type (opencost/opencost#3013).
- Remove the non-critical node-exporter health check from the Diagnostics API response (opencost/opencost#3004).
- Increase error logging when parsing Prometheus responses (opencost/opencost#3002).
- Fix Teams redirect and early token expiry.
- Replace /diagnostic/nodeCount endpoint.
- Fix issue where discounts were dropped during database copy.
- Fix ETL health check diagnostic queries.
- Speed up boot time by enabling async database loading.
- Fix GPU Efficiency feature to display if GPU usage is detected within the last 30 days. Previously only checked last 3 days.
- Fix a nil pointer issue when a query row scan fails.
- GPU Savings fixes.
- Fixes node without any container showing up as an entry in node aggregation in GPU savings 1.0.
- Fixes node without any container in the nodeCount when Cluster aggregation in GPU savings 1.0.
- Fixes node cost in node aggregation to be equal to overall node cost and not the aggregated sum of GPU containers.
- Fixes cluster cost in cluster aggregation to be equal to all node costs.
- Fixes cluster and node view respecting LIMIT and OFFSET.
- Fix an issue where unmanaged pods were being included in total count for topline GPU container details API.
- Fix default window for Local Disk Savings.
- Fix an issue in which the custom cloud costs in the chart would climb infinitely for a saved report.
- Limit the query window options presented according to license tier.
- Fix an issue where we were calling a hook from within a
useMemo
which could cause the main savings insights page to throw an error. - Fix the Diagnostics page "Node Usage over last 7 days" to show the node usage of all clusters, not just the primary cluster.
- Fix a bug where Kubecost Version was not populating in the Clusters table.
- Fix an issue in which an empty step size in a saved allocation report would trigger an error.
- Fix a Cluster Sizing recommendation sorting bug and report download issue.
- Fix an issue in which the cloud and assets pages did not reflect that the current settings match a previously saved report.
- Fix a bug where the trends on Cluster Inspect page would always show the date day.
- Fix an issue in which the container request sizing CSV download might not match the corresponding view in the app.
Helm Changes
- #3839 Bump cluster-controller v0.16.12.
- #3835 Add labels, securityContext and image pull secret in cluster controller.
- #3816 Route /model auth endpoints to the aggregator pod.
- #3815 Bump prometheus/alertmanager from v0.27.0 to v0.28.0 in /cost-analyzer.
- #3806 Bump kiwigrid/k8s-sidecar from 1.28.4 to 1.29.0 in /cost-analyzer.
- #3803 Add configmap mounting for RBAC teams ENG-3182.
- #3800 Bump prometheus/prometheus from v3.0.1 to v3.1.0 in /cost-analyzer.
- #3794 Update ca cert in cloud cost and aggregator container too.
- #3790 Bump prometheus-operator/prometheus-config-reloader from v0.79.1 to v0.79.2 in /cost-analyzer.
Helm Fixes
• #3820 Fix broken links in READMEs and comments.
• #3812 Add missing URL in Grafana data source.
• #3810 Resolve read-only FS issues in UBI images.
• #3809 Remove unused timezone offset values.
• #3781 Removes reference to old /api nginx config pointing to port 9001 that was removed in 2.0.
Dependency updates
- Bump golang.org/x/crypto from 0.24.0 to 0.31.0 in the go_modules group (opencost/opencost#3019).
- Bump go.opentelemetry.io/otel from 1.33.0 to 1.34.0.
- Bump github.com/ClickHouse/clickhouse-go/v2 from 2.27.1 to 2.30.1.
- Bump github.com/aws/smithy-go from 1.20.3 to 1.22.2.
- Bump stefanzweifel/git-auto-commit-action from 4 to 5.
- Bump k8s.io/cli-runtime from 0.31.0 to 0.32.1.
- Bump cloud.google.com/go/bigquery from 1.61.0 to 1.65.0.
- Bump go.uber.org/automaxprocs from 1.5.1 to 1.6.0.
- Bump google.golang.org/api from 0.183.0 to 0.217.0.
- Bump k8s.io/apimachinery from 0.31.0 to 0.32.1.
- Bump go.opentelemetry.io/otel/sdk from 1.29.0 to 1.33.0.
- Bump google.golang.org/protobuf from 1.36.0 to 1.36.3.
- Bump github.com/shirou/gopsutil/v4 from 4.24.6 to 4.24.12.
- Bump github.com/microcosm-cc/bluemonday from 1.0.23 to 1.0.27.
- Bump go.opentelemetry.io/otel from 1.29.0 to 1.33.0.
- Bump cloud.google.com/go/compute/metadata from 0.5.0 to 0.6.0.