SLA
- We will provide changelogs for major and minor releases of the operator
- Customers will be made aware of any breaking changes in any release cycle
- We aim to provide releases on a regular basis for customer features and business priorities
- All related tag updates will be made under a helm release, no update is needed from customers for operator dependencies
Entries labelled
costgraph-operator vX.Y.Z are releases of the current costgraph-operator chart, which deploys the domain-specific operators. Earlier entries labelled vX.Y.Z are releases of the deprecated single-binary costgraph chart. The two version series are independent, so the numbers do not run continuously.costgraph-operator v0.7.2
Breaking Changes
- N/A
Updates
-
The AI gateway scraper reports latency, capacity and configuration bindings again. Upgrade to get them back. All three
costgraph-operator-prometheusimages move tov0.5.1. Token usage was unaffected, but latency and capacity stopped arriving without an error. Any release still on an older tag is missing those signals today, and nothing in the cluster reports a failure. -
costgraph-operator-kubernetesmoves fromv0.1.1tov0.1.2, rebuilt on Go 1.26.6. The rebuild clears the standard library advisories that applied to the previous build, so upgrade even if you need nothing else in this release. -
New accelerator exporter, shipped off by default. A DaemonSet attributes per-process accelerator usage to the pod and container that owns it, and serves those metrics on port
9405. Turn it on by upgrading with the values you installed with, becausehelm upgradereturns anything you do not pass back to the chart defaults:It reads the host driver fromgpuExporter.driverInstallDir, which defaults to the GKE path/home/kubernetes/bin/nvidia. Set it to your own driver directory on any other distribution. The pod runs as root on accelerator nodes only, and drops every capability. Processes on partitioned cards are attributed to the partition they run in. A process the host owns on a partition is not attributed to a card. Pod and container attribution is unaffected. -
Chart
0.7.2changes no other image, value or object.
costgraph-operator v0.5.0
Breaking Changes
-
helm upgradefails until the operator Deployments are deleted.costgraph-operator-kubernetes,costgraph-operator-prometheus,costgraph-operator-ai-gatewayand thecostgraph-operator-flowtraceDaemonSet are now rendered by a shared chart, and theirspec.selectorchanges as a result. A selector is immutable, so Kubernetes rejects the patch rather than replacing the object. Delete them before upgrading; they are stateless and are recreated immediately:Omit the ones you do not run.aiGatewayScraperis off by default. No metrics are lost: the operators resume from the cluster’s current state on restart. -
Objects no longer carry the release name.
Each component’s objects are named from its
applicationName.fullnameOverrideno longer reaches them: it now affects only the ClusterRole (<fullname>-view), the ClusterRoleBinding and the ServiceAccount. -
Every component’s workload settings move beneath a
deployment:ordaemonSet:block. A values file that sets them at the old paths still parses, but the settings no longer apply and the chart’s defaults are used instead. Nothing errors, so check any override you rely on:The same mapping applies tooperatorKubernetesandaiGatewayScraper. Forflowtracethe block isdaemonSet:rather thandeployment:, and it takesimage,resources,priorityClassName,tolerationsand the scheduling keys.enabledstays at component level on all four.<component>.deployment.enabled(or.daemonSet.enabled) is a second, narrower switch that keeps the configuration and drops the pods.flowtrace.maxUnavailableandoperatorPrometheus.scrapeTargetsalso stay at component level. Settings underconfig, and the top-levelglobalandrbacvalues, are otherwise unchanged. -
global.namespaceis removed. It was read by a helper looking at a path that did not exist, so setting it never had an effect. The release namespace is used. -
envis now a map, not a list.env.LOG_LEVEL.value: inforather than- name: LOG_LEVEL. A map means--setcan override one variable without clobbering its siblings. A list at the new path is not read.
Updates
- All four CostGraph components (
operatorKubernetes,operatorPrometheus,aiGatewayScraperandflowtrace) are rendered from one shared definition and take one values shape, and enabling, sizing or scheduling any of them is the same operation. The same contract covers thecostgraph-selfhostedchart; see the values reference operatorPrometheusandaiGatewayScrapergain approfcontainer port declaration, andaiGatewayScrapergains an explicitreplicasflowtracewithholds its service account token by default, keeping a privileged per-node pod off the chart’s cluster-wide read ClusterRole- The ClusterRole and its bindings, the ServiceAccount, the RBAC values and every bundled exporter are unchanged
costgraph-operator v0.3.0
Breaking Changes
- The operator’s ClusterRole no longer grants
get/watch/liston every resource in every API group. Built-in resources are granted by name and custom resources per API group. Secrets, ConfigMaps and ServiceAccounts are not part of the grant at any version, so the API server refuses them outright rather than the operator choosing not to read them - Resources in the new
rbac.excludeAPIGroupslist are no longer collected. These are API groups carrying credential material or references to it (cert-manager, External Secrets, Velero, Traefik, Flux notification providers, certificates and the authentication/authorization/RBAC groups), plus cluster machinery with no cost or topology signal (events, leases, admission and API registration, flow control, metrics, scheduling). Dashboards referencing any of these will stop updating after upgrade - Installing now requires a renderer with cluster access, because the set of custom resource API groups is discovered from the cluster.
helm install,helm upgradeand Argo CD v2.10 or newer qualify. A render without it fails with an explanatory error rather than installing an operator that silently collects nothing beyond core Kubernetes. Setrbac.requireClusterDiscovery=falsefor a cluster that genuinely runs no custom resources
Updates
- Workloads, nodes, namespaces, storage, networking and pod network identity are unaffected. Karpenter, Argo CD, Cilium, CNPG, cloud provider CRDs and every other custom resource the cluster serves continue to be collected without configuration
- New
rbac.excludeAPIGroupsvalue sets which API groups CostGraph may not read, applying to every version of a group rather than the specific versions named - New
rbac.grantCustomResourcesvalue collects built-in resources only when set tofalse - New
rbac.extraRulesvalue appends rules to the ClusterRole verbatim. Use it to grant named resources from an excluded group, for example collecting TraefikIngressRoutetopology whileMiddleware, which can hold inline credentials, stays unreadable - The bundled kube-state-metrics no longer requests Secrets, ConfigMaps, certificate signing requests, leases or webhook configurations. Its upstream defaults granted read access to every Secret in the cluster to publish metadata CostGraph does not use
- Resources the operator is not permitted to read are skipped at startup rather than retried, so a narrower grant produces no errors and no restart loop
costgraph-operator v0.2.3
Breaking Changes
- N/A
Updates
- Added a DaemonSet-based, root-privileged BPF network-flow tracing agent that runs on compatible nodes across the fleet. Compatible nodes must expose a host-mounted cgroup v2 filesystem and run a BTF-enabled kernel for the fentry programs.
- Added default host filesystem mounts for
/proc:/host/procand the host cgroup v2 filesystem/sys/fs/cgroup:/host/sys/fs/cgroup
costgraph-operator v0.1.14
Breaking Changes
- The
costgraphchart is deprecated and no longer supported. It receives no further releases and no fixes. Install thecostgraph-operatorchart; see Overview
Updates
- Both operators now ship as tagged releases,
v0.1.0, and the chart pins those tags rather than build identifiers. You can now see exactly which operator version a chart release deploys via the chartappVersion - Cluster inventory removes resources when they are deleted, so decommissioned workloads no longer linger in the dashboard
- Lower memory use when scraping high-cardinality exporters
- Default resource requests tuned to match observed usage of the operator components
costgraph-operator v0.1.13
costgraph-operator v0.1.12
costgraph-operator v0.1.11
Breaking Changes
- N/A
Updates
- Health markers are published for scraped resources, so clusters that are only partially reporting are now visible rather than silently incomplete
- Node scheduling keys are configurable for the operator components and their exporters
- Chart documentation refreshed for the split components
This release reaches feature parity with the
costgraph chart, which is superseded from this point on.costgraph-operator v0.1.10
Breaking Changes
- N/A
Updates
- Resource requests and limits are configurable for every bundled dependency, so the operator can be sized to the cluster it runs in
- Includes chart patch releases v0.1.8 and v0.1.9: node-exporter is bundled as a metrics source, scrape targets are discovered dynamically instead of being statically configured, and a Helm value override failure under ArgoCD is fixed
costgraph-operator v0.1.7
Breaking Changes
- N/A
Updates
- Cluster role rules corrected so that subresources are no longer requested with a wildcard, which some admission controllers rejected
- Includes chart patch releases v0.1.4 through v0.1.6: the API key can be supplied from an existing Secret, the backend URL is overridable for private deployments, and a rendering error caused by whitespace in release names is fixed
costgraph-operator v0.1.3
Breaking Changes
- N/A
Updates
- Beta release of the Kubernetes operator. The
costgraph-operatorchart now deploys the full split:costgraph-operator-kubernetesfor cluster inventory andcostgraph-operator-prometheusfor metrics - Resource discovery is restricted to API resources that actually support
watchandlist, removing repeated permission errors on clusters with custom aggregated APIs - GPU metrics and rightsizing recommendations for GPU-backed nodes
With this release the
costgraph chart is superseded. New installations must use the costgraph-operator chart.costgraph-operator v0.1.2
Breaking Changes
- N/A
Updates
- A customer-supplied cAdvisor deployment can be used instead of the bundled one
- Scheduled reconciliation replaced with event-driven collection, so cluster changes are reflected without waiting for the next cycle
- Includes chart patch release v0.1.1: the bundled cAdvisor image maps PVC device information, which is required for volume cost attribution
costgraph-operator v0.1.0
Breaking Changes
- N/A
Updates
- First release of the redesigned operator. The single-binary operator is being broken out into components with a single responsibility each, released and versioned independently. This release ships the metrics component, which scrapes cluster, host and container metrics and remote-writes them to CostGraph
- Cluster identity is attached to every published metric, so multi-cluster accounts attribute data correctly
This chart is installed as
costgraph-operator and is separate from the costgraph chart. Do not run both against the same cluster.v0.1.27
v0.1.26
Breaking Changes
- N/A
Updates
- Prometheus interval bug causing CPU usage to be reported incorrectly is fixed, this is now autodiscovered from the prometheus configuration
- Inactive resources are now included in historical data to support rightsizing recommendations
- Provider metadata is now included in the exported metrics
- Annotations and labels are now included in the exported metrics
- Bugfixes and cleanup logic improvements
v0.1.25
Breaking Changes
- Bundled reporting dashboards are no longer deployed automatically. Visuals are available in the CostGraph dashboard instead
Updates
- Support for GCP managed prometheus added to our environment, Workload Identity Federation is required for this feature. See here for more information
- Automated rightsizings are now available and can be enabled on a workload-by-workload basis.
- Idle usage is now part of the recommendation data, usage can be audited from the dashboard
- Performance improvements to the owner resource grouping process
- Cluster provider specific metadata is now included in the exported data
- Reconcile time period is now configurable.
v0.1.24
Breaking Changes
- N/A
Updates
- Retry logic improvements for the prometheus base to ease large cluster throttling failures
- Consume labels and annotations as part of improvements to topology for cluster resources
- Instant usage metric is now available to view data about container resource dynamics
- Deploy resource filter to disambiguate emptyDir vs memory usage data
- Bugfixes and cleanup logic improvements
v0.1.23
Breaking Changes
- N/A
Updates
- Cost reporting improvements to correct errors in usage metrics
- Bugfix correcting misrepresented memory values with emptyDir configurations
- Addition of backoff and retries to our codebase
- Performance and memory improvements dropping memory usage requirements by 50%
metric_window_daysparameter allowing custom intervals to perform recommendations.
v0.1.22
v0.1.21
v0.1.0
Breaking Changes
- Due to the deployment of our new pricing infrastructure, customers using the raw pricing data will see schema changes. As much as we attempt to provide a standard schema, this change was unavoidable. This change is limited to customers developing with the data from our operator, no changes will be observed for dashboard and prometheus experiences.
Updates
- Improved operator performance with lower pricing latency
- Updates to the savings dashboard to show more than 5 entries previously causing customers to miss relatively smaller container resources
- Improved pricing updates supporting newer cloud instance types and various usage types such as spot and reserved
- Addition of per-CPU and per-Memory pricing for all cloud providers improving the Cost Driver dashboard experience
- Support for newer GCP instance types and their upcoming Sweden region release
- Addition of liveness and readiness probe endpoints for customer visibility on failed instance deployments
- Hotfix for GCP custom instance types deviating from standard pricing obtained from cloud providers
- Hotfix for AZ based AWS spot pricing on Opt-In regions
- Support for all regional DigitalOcean pricing information providing customers more value for this provider
v0.0.1
Breaking Changes
- N/A
Updates
- Initial release
- Support for all major kubernetes cloud providers such as AWS, GCP, Azure
- Dashboards iterations with customers for their internal use cases
- API key support for multiple clusters within a single account
- RBAC and invitation support for organizations
- Clusters can now be viewed on the web dashboard