v1.98.0 Release Notes
Deprecations
- PodSecurityPolicies: Opencost and Kubecost now both support kubernetes v1.25. However, by default, certain PodSecurityPolicies are still installed. These will be removed in v1.99 to streamline installation on v1.25. Meanwhile, you can still install Kubecost on v1.25 via this helm chart with the following instructions: #1773 (comment)
Major
- Launched Kubecost Cloud beta
- Launched free unlimited clusters
- Launch new UI Beta
- *Doc Container Request Right Sizing recommendation API V2 Beta
- Persistent Volume Right Sizing insights beta
- ETL Query Scaling APIs to improve allocation filtering performance at scale!
- 1700 Launch of federated ETL pipeline Beta Docs
- Reduced memory consumption in cascading allocation ETL
Note: * Percentile-based request right-sizing recommendations are available in the Beta UI, but only if the "ContainerStats" data pipeline is enabled. This pipeline may have trouble at high data scales while it is in the early stages of development -- please carefully review the relevant documentation: https://github.com/kubecost/docs/blob/main/api-request-right-sizing-v2.md
Minor
- Improved initial UI responsiveness by reducing overall UI bundle size by 2%
- 366 Add support for Workload Identities for GCP Big Query Config
- Add backend caching and single flighting to the ETL assets endpoint
- Re introduced the network.html page
- Created an EventLog representation of the ETL events to avoid storing the Data field longer than expected to reduce memory usage
- Invoke shallow clones in aggregate store to save memory
- Added an optional kubecostModel.softMemoryLimit field which sets the GOMEMLIMIT flag for the cost-model backend
Bugs
- 1605 Improved OIDC user authentication.
- 1694 Fixed Read-only users being able to access the diagnostics page and perform operations
- 1730 Fixed bug in abandoned workloads
- 15 Fixed an issue where the context switcher would strip https and always use http for new contexts
- 1760 Stops logging invalid sharing coefficient when coeff equals zero
- 1074 Fixed bug preventing adding multiple filters of the same type on Allocatio
- 1675 Fixed duplicate and unexpected node chips in k8s Assets view
- Updated golang.org/x/net and /x/text to fix CVEs
- Removed bad property from button that caused etl-status page to crash
- Fixed a bug with the S3 select integration where multiple csv per month caused line items in the separate CSV file to not be ingested
- Fixed bugs with summary allocation and CSV formats where accumulation was mutating cache
- Fixed GetETLCloudRunWindowDays function checking the wrong ENV
- Fixed broken Azure Service Tagging
- Fix error in Bug Report's Thanos queries
- Fixed bug causing shared labels/namespaces/overhead persist when opening a report from reports
- Fix panic in accumulateAttributes
- Added support for unpartitioned GCP account labels
- Fixed duplicate names causing issues with graphs
- Update hard coded references to product tiers to use useProductTier
- Fixed bug causing custom labels filters to not work as expected on details page
Community Contributions
- 1741 Updates the loopback address in the
in-zone
classification to include the entire loopback range as registered in IANA
OpenCost
- 1332 Fixed v1.95.0 broken URLs
- 1461 Disabled window filters which caused circular deps
- 1460 Added ability to filter by annotations for owner, department, team, product, and environment
- 1457 Added ability to filter by annotations for owner, department, team, product, and environment
- 1454 Fixed a bug which caused Azure provider to ignore Azure Storage configurations from secret
- 1452 Added support for K8s v1.25+ by removing dependency on
autoscaling/v2beta1
API - 1450 Fixed an issue where updating configuration (e.g. currency) on Azure would deadlock
- 1443 Misc. changes to OpenCost concepts in order to support Federated ETL
- 1438 Made usage of Disk resilient to absence of metrics
- 1432 Added methods for Cloud Cost types, removed name and times from cloud cost types
- 1427 Support MSI authentication for Azure by always returning config values if secret not found
- 1425 Added test to ensure
AllocationSet.accumulate
is equivalent toAllocationSetRange.Accumulate
- 1421 Added GP3 volumes support in AWS
- 1418 Updated the go version to 1.19 and removed the
pkg/util/atomic primitives
in favor of stdlibatomic
primitives introduced in go 1.19 - 1417 Allows users of the UI to override the path to use when connecting to the cost model
- 1415 Adds a Window getter to
AssetSet
andAllocationSet
for compatibility with generic constraints - 1404 Adds a
NewAccumulation()
method on theSetRange
ETL data structures which provides an Accumulate method which does not mutate. - 1403 Pulls in PV usage metrics into ETL
- 1401
parsewindow
functions returns window only in UTC when window requests are time stamped and developer is testing functions locally with KCM - 1400 Improves usage of v1 filter function
- 1397 Introduces a new Prometheus context name for the new container stats pipeline (closed source)
- 1381 Exposes functions needed to calculate efficiencies over summaryAllocationSets