From b5790d4b113b02b253a710cf0cca1c296c99d3ec Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 8 Oct 2026 17:28:39 +0000 Subject: [PATCH 1/3] kubecost: automated update --- apps/kubecost/charts/charts.yaml | 2 ++ apps/kubecost/charts/kubecost-2.5.3/Chart.yaml | 2 +- apps/kubecost/charts/kubecost-2.9.7/Chart.lock | 6 ++++++ apps/kubecost/charts/kubecost-2.9.7/Chart.yaml | 9 +++++++++ apps/kubecost/charts/st-charts.yaml | 4 ++++ apps/kubecost/example/Chart.yaml | 2 +- 6 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 apps/kubecost/charts/kubecost-2.9.7/Chart.lock create mode 100644 apps/kubecost/charts/kubecost-2.9.7/Chart.yaml diff --git a/apps/kubecost/charts/charts.yaml b/apps/kubecost/charts/charts.yaml index 4efafe3af9..7318cf48c5 100644 --- a/apps/kubecost/charts/charts.yaml +++ b/apps/kubecost/charts/charts.yaml @@ -2,3 +2,5 @@ charts: kubecost: - version: 2.5.3 appVersion: 2.5.3 + - version: 2.9.7 + appVersion: 2.9.7 diff --git a/apps/kubecost/charts/kubecost-2.5.3/Chart.yaml b/apps/kubecost/charts/kubecost-2.5.3/Chart.yaml index 0a3fc8f7d6..81ec28f795 100644 --- a/apps/kubecost/charts/kubecost-2.5.3/Chart.yaml +++ b/apps/kubecost/charts/kubecost-2.5.3/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: kubecost -description: A Helm chart to refer the official "kubecost" helm chart +description: A Helm chart that references the official "kubecost" Helm chart. type: application version: 2.5.3 dependencies: diff --git a/apps/kubecost/charts/kubecost-2.9.7/Chart.lock b/apps/kubecost/charts/kubecost-2.9.7/Chart.lock new file mode 100644 index 0000000000..df233a79fd --- /dev/null +++ b/apps/kubecost/charts/kubecost-2.9.7/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: cost-analyzer + repository: https://kubecost.github.io/cost-analyzer/ + version: 2.9.7 +digest: sha256:8093579d21cfb8854f9c66da7867083dd8747112db722a04b5af9d7f0594993e +generated: "2026-10-08T17:28:39.685733455Z" diff --git a/apps/kubecost/charts/kubecost-2.9.7/Chart.yaml b/apps/kubecost/charts/kubecost-2.9.7/Chart.yaml new file mode 100644 index 0000000000..0b208c0c1b --- /dev/null +++ b/apps/kubecost/charts/kubecost-2.9.7/Chart.yaml @@ -0,0 +1,9 @@ +apiVersion: v2 +name: kubecost +description: A Helm chart that references the official "kubecost" Helm chart. +type: application +version: 2.9.7 +dependencies: + - name: cost-analyzer + version: 2.9.7 + repository: https://kubecost.github.io/cost-analyzer/ diff --git a/apps/kubecost/charts/st-charts.yaml b/apps/kubecost/charts/st-charts.yaml index 7aacec3ec5..6baec2b2cc 100644 --- a/apps/kubecost/charts/st-charts.yaml +++ b/apps/kubecost/charts/st-charts.yaml @@ -3,3 +3,7 @@ st-charts: dep_name: cost-analyzer version: 2.5.3 repository: https://kubecost.github.io/cost-analyzer/ +- name: kubecost + dep_name: cost-analyzer + version: 2.9.7 + repository: https://kubecost.github.io/cost-analyzer/ diff --git a/apps/kubecost/example/Chart.yaml b/apps/kubecost/example/Chart.yaml index 917e102fd8..0a194c3cee 100644 --- a/apps/kubecost/example/Chart.yaml +++ b/apps/kubecost/example/Chart.yaml @@ -4,5 +4,5 @@ type: application version: 2.5.3 dependencies: - name: kubecost - version: 2.5.3 + version: 2.9.7 repository: oci://ghcr.io/k0rdent/catalog/charts From fbb7be57a685dfdde362d9b94989eaa545bed7f8 Mon Sep 17 00:00:00 2001 From: Josef Hak Date: Thu, 8 Oct 2026 18:36:47 +0000 Subject: [PATCH 2/3] kubecost: set the values 2.9 made mandatory cost-analyzer 2.9 pulls in the finopsagent subchart and fails to render without global.clusterId and a federated store. clusterId has to match the chart's own prometheus external_labels default, and a filesystem store keeps the example self-contained. --- apps/kubecost/example/values.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/kubecost/example/values.yaml b/apps/kubecost/example/values.yaml index e69de29bb2..085f403be3 100644 --- a/apps/kubecost/example/values.yaml +++ b/apps/kubecost/example/values.yaml @@ -0,0 +1,12 @@ +kubecost: + global: + # Both became mandatory in cost-analyzer 2.9; clusterId has to match the + # chart's own prometheus.server.global.external_labels.cluster_id default. + clusterId: cluster-one + federatedStorage: + # A local store keeps the example self-contained. Point this at S3/GCS/Azure + # for anything beyond a demo, otherwise the ETL data is not durable. + config: | + type: FILESYSTEM + config: + directory: /var/configs/etl/federated-store From 84423bfbb5e076f4d8068835a181abf07156451d Mon Sep 17 00:00:00 2001 From: Josef Hak Date: Mon, 12 Oct 2026 08:35:15 +0000 Subject: [PATCH 3/3] kubecost: give the federated store a real object store cost-analyzer 2.9 requires global.clusterId and a federated store, and the finops agent rejects everything but object storage: a FILESYSTEM config renders fine but makes the agent panic with 'storage with type FILESYSTEM is not supported'. Bundle MinIO and point the store at it over S3. --- apps/kubecost/example/Chart.yaml | 6 ++++++ apps/kubecost/example/values.yaml | 31 +++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/apps/kubecost/example/Chart.yaml b/apps/kubecost/example/Chart.yaml index 0a194c3cee..cbaadefd95 100644 --- a/apps/kubecost/example/Chart.yaml +++ b/apps/kubecost/example/Chart.yaml @@ -3,6 +3,12 @@ name: example type: application version: 2.5.3 dependencies: + # cost-analyzer 2.9 requires a federated store and the agent only accepts + # object storage, so the example has to bring one. + - name: minio + version: 17.0.21 + repository: oci://ghcr.io/k0rdent/catalog/charts - name: kubecost version: 2.9.7 repository: oci://ghcr.io/k0rdent/catalog/charts + mcs_dep_index: 0 diff --git a/apps/kubecost/example/values.yaml b/apps/kubecost/example/values.yaml index 085f403be3..6d7facc5e2 100644 --- a/apps/kubecost/example/values.yaml +++ b/apps/kubecost/example/values.yaml @@ -1,12 +1,35 @@ +minio: + minio: + # MCS deploys each dependency as its own release, so pin the name kubecost + # points at instead of letting it follow the release name. + fullnameOverride: minio + global: + security: + allowInsecureImages: true + image: + repository: bitnamilegacy/minio + console: + image: + repository: bitnamilegacy/minio-object-browser + auth: + rootUser: kubecost + rootPassword: kubecost-example + defaultBuckets: kubecost + kubecost: global: # Both became mandatory in cost-analyzer 2.9; clusterId has to match the # chart's own prometheus.server.global.external_labels.cluster_id default. clusterId: cluster-one federatedStorage: - # A local store keeps the example self-contained. Point this at S3/GCS/Azure - # for anything beyond a demo, otherwise the ETL data is not durable. + # The finops agent rejects anything but object storage ("storage with type + # FILESYSTEM is not supported"), so point it at the bundled MinIO. Use a + # real S3/GCS/Azure bucket for anything beyond a demo. config: | - type: FILESYSTEM + type: S3 config: - directory: /var/configs/etl/federated-store + bucket: kubecost + endpoint: minio:9000 + access_key: kubecost + secret_key: kubecost-example + insecure: true