From b90283c9bf38cf77fddb867b9c1773802ffa4e84 Mon Sep 17 00:00:00 2001 From: christophrichtersap Date: Fri, 29 May 2026 07:16:50 +0200 Subject: [PATCH 1/4] Add finops-exporter PluginDefinition Registers finops-exporter as a Greenhouse plugin. Chart is hosted at oci://keppel.eu-de-1.cloud.sap/cc-ia. Exposes ServiceMonitor, credentials, and configuration options for Greenhouse-managed deployment. --- finops-exporter/plugindefinition.yaml | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 finops-exporter/plugindefinition.yaml diff --git a/finops-exporter/plugindefinition.yaml b/finops-exporter/plugindefinition.yaml new file mode 100644 index 0000000..83d449b --- /dev/null +++ b/finops-exporter/plugindefinition.yaml @@ -0,0 +1,53 @@ +apiVersion: greenhouse.sap/v1alpha1 +kind: PluginDefinition +metadata: + name: finops-exporter +spec: + version: 0.1.0 + displayName: FinOps Exporter + description: Prometheus exporter for FinOps provisioned instance metrics. + helmChart: + name: finops-exporter + repository: oci://keppel.eu-de-1.cloud.sap/cc-ia + version: 0.1.0 + options: + - name: serviceMonitor.enabled + description: Enable ServiceMonitor for Prometheus scraping + type: bool + required: false + default: true + - name: serviceMonitor.labels + description: Extra labels for ServiceMonitor discovery + type: map + required: false + - name: prometheusRules.additionalRuleLabels + description: Labels injected into all PrometheusRules (e.g. support_group, service) + type: map + required: false + - name: config.finopsUrl + description: FinOps API endpoint URL + type: string + required: false + default: "https://finops.tools.sap/cbr-api" + - name: config.collectInterval + description: Data collection interval + type: string + required: false + default: "24h" + - name: secret.username + description: FinOps API username + type: secret + required: true + - name: secret.password + description: FinOps API password + type: secret + required: true + - name: image.repository + description: Container image repository + type: string + required: false + default: keppel.eu-de-1.cloud.sap/cc-ia/finops-exporter + - name: image.tag + description: Container image tag + type: string + required: false From cde15f00ab67b25529cb032d448fdecaa94c9d05 Mon Sep 17 00:00:00 2001 From: christophrichtersap Date: Fri, 29 May 2026 07:29:51 +0200 Subject: [PATCH 2/4] Add REUSE copyright header to finops-exporter plugindefinition --- finops-exporter/plugindefinition.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/finops-exporter/plugindefinition.yaml b/finops-exporter/plugindefinition.yaml index 83d449b..211edf7 100644 --- a/finops-exporter/plugindefinition.yaml +++ b/finops-exporter/plugindefinition.yaml @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and cobaltcore-dev contributors +# SPDX-License-Identifier: Apache-2.0 + apiVersion: greenhouse.sap/v1alpha1 kind: PluginDefinition metadata: From 4d0d1ba2c79d62b153acf452da901fde32422ee4 Mon Sep 17 00:00:00 2001 From: christophrichtersap Date: Fri, 29 May 2026 07:33:01 +0200 Subject: [PATCH 3/4] Remove SAP-internal URLs from PluginDefinition defaults Use public GHCR references as defaults in the PluginDefinition. Internal registries (Keppel) are injected via catalog overrides in the deployment repo. --- finops-exporter/plugindefinition.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/finops-exporter/plugindefinition.yaml b/finops-exporter/plugindefinition.yaml index 211edf7..2ad7fe9 100644 --- a/finops-exporter/plugindefinition.yaml +++ b/finops-exporter/plugindefinition.yaml @@ -11,7 +11,7 @@ spec: description: Prometheus exporter for FinOps provisioned instance metrics. helmChart: name: finops-exporter - repository: oci://keppel.eu-de-1.cloud.sap/cc-ia + repository: oci://ghcr.io/cobaltcore-dev/finops-exporter/charts version: 0.1.0 options: - name: serviceMonitor.enabled @@ -30,8 +30,7 @@ spec: - name: config.finopsUrl description: FinOps API endpoint URL type: string - required: false - default: "https://finops.tools.sap/cbr-api" + required: true - name: config.collectInterval description: Data collection interval type: string @@ -49,7 +48,7 @@ spec: description: Container image repository type: string required: false - default: keppel.eu-de-1.cloud.sap/cc-ia/finops-exporter + default: ghcr.io/cobaltcore-dev/finops-exporter - name: image.tag description: Container image tag type: string From 5c13a331a5aaeac68fe370779ec85d1a90a2abf6 Mon Sep 17 00:00:00 2001 From: christophrichtersap Date: Thu, 10 Sep 2026 11:16:51 +0200 Subject: [PATCH 4/4] feat: bump finops-exporter PluginDefinition to chart 0.4.0 --- finops-exporter/plugindefinition.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/finops-exporter/plugindefinition.yaml b/finops-exporter/plugindefinition.yaml index 2ad7fe9..e1af6fd 100644 --- a/finops-exporter/plugindefinition.yaml +++ b/finops-exporter/plugindefinition.yaml @@ -6,13 +6,13 @@ kind: PluginDefinition metadata: name: finops-exporter spec: - version: 0.1.0 + version: 0.4.0 displayName: FinOps Exporter description: Prometheus exporter for FinOps provisioned instance metrics. helmChart: name: finops-exporter repository: oci://ghcr.io/cobaltcore-dev/finops-exporter/charts - version: 0.1.0 + version: 0.4.0 options: - name: serviceMonitor.enabled description: Enable ServiceMonitor for Prometheus scraping