From 213e592ab34e743239e66b2f721940c47bed5f3f Mon Sep 17 00:00:00 2001 From: Lucius Bachmann Date: Wed, 4 Nov 2026 07:37:47 +0000 Subject: [PATCH] class: fix multi instance behaviour The main.jsonnet compile entry used a hard-coded output_path (solution-backup/), so compiling multiple instances of this component into one catalog would make every instance render into the same directory, overwriting each other's manifests. Use ${_instance} as output_path, like the newer component templates do, and move the golden test dirs accordingly (instance name == test name). Also update the espejote render test's manifest path. Mirrors appuio/component-solution-base-monitoring#13. --- class/solution-backup.yml | 2 +- .../defaults/{solution-backup => defaults}/clusterRole.yaml | 0 .../{solution-backup => defaults}/clusterRoleBinding.yaml | 0 .../defaults/{solution-backup => defaults}/managedResource.yaml | 0 .../defaults/{solution-backup => defaults}/namespace.yaml | 0 .../defaults/{solution-backup => defaults}/serviceAccount.yaml | 0 .../{solution-backup => override-labels}/clusterRole.yaml | 0 .../clusterRoleBinding.yaml | 0 .../{solution-backup => override-labels}/managedResource.yaml | 0 .../{solution-backup => override-labels}/namespace.yaml | 0 .../{solution-backup => override-labels}/serviceAccount.yaml | 0 .../{solution-backup => override-schedules}/clusterRole.yaml | 0 .../clusterRoleBinding.yaml | 0 .../managedResource.yaml | 0 .../{solution-backup => override-schedules}/namespace.yaml | 0 .../{solution-backup => override-schedules}/serviceAccount.yaml | 0 tests/render/run.sh | 2 +- 17 files changed, 2 insertions(+), 2 deletions(-) rename tests/golden/defaults/defaults/{solution-backup => defaults}/clusterRole.yaml (100%) rename tests/golden/defaults/defaults/{solution-backup => defaults}/clusterRoleBinding.yaml (100%) rename tests/golden/defaults/defaults/{solution-backup => defaults}/managedResource.yaml (100%) rename tests/golden/defaults/defaults/{solution-backup => defaults}/namespace.yaml (100%) rename tests/golden/defaults/defaults/{solution-backup => defaults}/serviceAccount.yaml (100%) rename tests/golden/override-labels/override-labels/{solution-backup => override-labels}/clusterRole.yaml (100%) rename tests/golden/override-labels/override-labels/{solution-backup => override-labels}/clusterRoleBinding.yaml (100%) rename tests/golden/override-labels/override-labels/{solution-backup => override-labels}/managedResource.yaml (100%) rename tests/golden/override-labels/override-labels/{solution-backup => override-labels}/namespace.yaml (100%) rename tests/golden/override-labels/override-labels/{solution-backup => override-labels}/serviceAccount.yaml (100%) rename tests/golden/override-schedules/override-schedules/{solution-backup => override-schedules}/clusterRole.yaml (100%) rename tests/golden/override-schedules/override-schedules/{solution-backup => override-schedules}/clusterRoleBinding.yaml (100%) rename tests/golden/override-schedules/override-schedules/{solution-backup => override-schedules}/managedResource.yaml (100%) rename tests/golden/override-schedules/override-schedules/{solution-backup => override-schedules}/namespace.yaml (100%) rename tests/golden/override-schedules/override-schedules/{solution-backup => override-schedules}/serviceAccount.yaml (100%) diff --git a/class/solution-backup.yml b/class/solution-backup.yml index e6fb1c7..431c2d1 100644 --- a/class/solution-backup.yml +++ b/class/solution-backup.yml @@ -8,4 +8,4 @@ parameters: - input_paths: - ${_base_directory}/component/main.jsonnet input_type: jsonnet - output_path: solution-backup/ + output_path: ${_instance} diff --git a/tests/golden/defaults/defaults/solution-backup/clusterRole.yaml b/tests/golden/defaults/defaults/defaults/clusterRole.yaml similarity index 100% rename from tests/golden/defaults/defaults/solution-backup/clusterRole.yaml rename to tests/golden/defaults/defaults/defaults/clusterRole.yaml diff --git a/tests/golden/defaults/defaults/solution-backup/clusterRoleBinding.yaml b/tests/golden/defaults/defaults/defaults/clusterRoleBinding.yaml similarity index 100% rename from tests/golden/defaults/defaults/solution-backup/clusterRoleBinding.yaml rename to tests/golden/defaults/defaults/defaults/clusterRoleBinding.yaml diff --git a/tests/golden/defaults/defaults/solution-backup/managedResource.yaml b/tests/golden/defaults/defaults/defaults/managedResource.yaml similarity index 100% rename from tests/golden/defaults/defaults/solution-backup/managedResource.yaml rename to tests/golden/defaults/defaults/defaults/managedResource.yaml diff --git a/tests/golden/defaults/defaults/solution-backup/namespace.yaml b/tests/golden/defaults/defaults/defaults/namespace.yaml similarity index 100% rename from tests/golden/defaults/defaults/solution-backup/namespace.yaml rename to tests/golden/defaults/defaults/defaults/namespace.yaml diff --git a/tests/golden/defaults/defaults/solution-backup/serviceAccount.yaml b/tests/golden/defaults/defaults/defaults/serviceAccount.yaml similarity index 100% rename from tests/golden/defaults/defaults/solution-backup/serviceAccount.yaml rename to tests/golden/defaults/defaults/defaults/serviceAccount.yaml diff --git a/tests/golden/override-labels/override-labels/solution-backup/clusterRole.yaml b/tests/golden/override-labels/override-labels/override-labels/clusterRole.yaml similarity index 100% rename from tests/golden/override-labels/override-labels/solution-backup/clusterRole.yaml rename to tests/golden/override-labels/override-labels/override-labels/clusterRole.yaml diff --git a/tests/golden/override-labels/override-labels/solution-backup/clusterRoleBinding.yaml b/tests/golden/override-labels/override-labels/override-labels/clusterRoleBinding.yaml similarity index 100% rename from tests/golden/override-labels/override-labels/solution-backup/clusterRoleBinding.yaml rename to tests/golden/override-labels/override-labels/override-labels/clusterRoleBinding.yaml diff --git a/tests/golden/override-labels/override-labels/solution-backup/managedResource.yaml b/tests/golden/override-labels/override-labels/override-labels/managedResource.yaml similarity index 100% rename from tests/golden/override-labels/override-labels/solution-backup/managedResource.yaml rename to tests/golden/override-labels/override-labels/override-labels/managedResource.yaml diff --git a/tests/golden/override-labels/override-labels/solution-backup/namespace.yaml b/tests/golden/override-labels/override-labels/override-labels/namespace.yaml similarity index 100% rename from tests/golden/override-labels/override-labels/solution-backup/namespace.yaml rename to tests/golden/override-labels/override-labels/override-labels/namespace.yaml diff --git a/tests/golden/override-labels/override-labels/solution-backup/serviceAccount.yaml b/tests/golden/override-labels/override-labels/override-labels/serviceAccount.yaml similarity index 100% rename from tests/golden/override-labels/override-labels/solution-backup/serviceAccount.yaml rename to tests/golden/override-labels/override-labels/override-labels/serviceAccount.yaml diff --git a/tests/golden/override-schedules/override-schedules/solution-backup/clusterRole.yaml b/tests/golden/override-schedules/override-schedules/override-schedules/clusterRole.yaml similarity index 100% rename from tests/golden/override-schedules/override-schedules/solution-backup/clusterRole.yaml rename to tests/golden/override-schedules/override-schedules/override-schedules/clusterRole.yaml diff --git a/tests/golden/override-schedules/override-schedules/solution-backup/clusterRoleBinding.yaml b/tests/golden/override-schedules/override-schedules/override-schedules/clusterRoleBinding.yaml similarity index 100% rename from tests/golden/override-schedules/override-schedules/solution-backup/clusterRoleBinding.yaml rename to tests/golden/override-schedules/override-schedules/override-schedules/clusterRoleBinding.yaml diff --git a/tests/golden/override-schedules/override-schedules/solution-backup/managedResource.yaml b/tests/golden/override-schedules/override-schedules/override-schedules/managedResource.yaml similarity index 100% rename from tests/golden/override-schedules/override-schedules/solution-backup/managedResource.yaml rename to tests/golden/override-schedules/override-schedules/override-schedules/managedResource.yaml diff --git a/tests/golden/override-schedules/override-schedules/solution-backup/namespace.yaml b/tests/golden/override-schedules/override-schedules/override-schedules/namespace.yaml similarity index 100% rename from tests/golden/override-schedules/override-schedules/solution-backup/namespace.yaml rename to tests/golden/override-schedules/override-schedules/override-schedules/namespace.yaml diff --git a/tests/golden/override-schedules/override-schedules/solution-backup/serviceAccount.yaml b/tests/golden/override-schedules/override-schedules/override-schedules/serviceAccount.yaml similarity index 100% rename from tests/golden/override-schedules/override-schedules/solution-backup/serviceAccount.yaml rename to tests/golden/override-schedules/override-schedules/override-schedules/serviceAccount.yaml diff --git a/tests/render/run.sh b/tests/render/run.sh index bf7468c..22c0493 100644 --- a/tests/render/run.sh +++ b/tests/render/run.sh @@ -10,7 +10,7 @@ set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" -MANIFEST="$ROOT/compiled/defaults/solution-backup/managedResource.yaml" +MANIFEST="$ROOT/compiled/defaults/defaults/managedResource.yaml" INPUTS="$ROOT/tests/render/inputs" EXPECTED="$ROOT/tests/render/expected"