From 61dff7edf504cd73b94b69bff7a143c13f2ba315 Mon Sep 17 00:00:00 2001 From: mliptak0 Date: Tue, 7 Jul 2026 13:22:01 +0200 Subject: [PATCH] HYPERFLEET-1108 - feat: Add e2e.hyperfleet.io/run-id label for e2e environments, label all deployed resources - Use RUN_ID environment variable (following Mallory's approach from PR #62) - Label both HyperFleet components (API, Sentinel, Adapters) and adapter-created resources - Applied to both e2e-gcp and e2e-kind environments - RUN_ID defaults to namespace name in e2e environments (from env.gcp/env.kind) - No breaking changes - RUN_ID has sensible defaults Co-Authored-By: Claude Sonnet 4.5 --- .../e2e/adapters/cl-job/adapter-task-resource-job.yaml | 2 +- .../cl-maestro/adapter-task-resource-manifestwork.yaml | 2 +- helmfile/helmfile.yaml.gotmpl | 8 ++++++-- helmfile/values/base-adapter.yaml.gotmpl | 8 +++++++- helmfile/values/base-api.yaml.gotmpl | 7 ++++++- helmfile/values/base-sentinel.yaml.gotmpl | 5 +++++ 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/helmfile/configs/e2e/adapters/cl-job/adapter-task-resource-job.yaml b/helmfile/configs/e2e/adapters/cl-job/adapter-task-resource-job.yaml index ca05797..302943e 100644 --- a/helmfile/configs/e2e/adapters/cl-job/adapter-task-resource-job.yaml +++ b/helmfile/configs/e2e/adapters/cl-job/adapter-task-resource-job.yaml @@ -7,8 +7,8 @@ metadata: labels: hyperfleet.io/cluster-id: "{{ .clusterId }}" hyperfleet.io/resource-type: "job" - e2e.hyperfleet.io/run-id: "{{ .runId }}" app: test-job + e2e.hyperfleet.io/run-id: "{{ .runId }}" annotations: hyperfleet.io/generation: "{{ .generationSpec }}" spec: diff --git a/helmfile/configs/e2e/adapters/cl-maestro/adapter-task-resource-manifestwork.yaml b/helmfile/configs/e2e/adapters/cl-maestro/adapter-task-resource-manifestwork.yaml index 413fdec..9363d8b 100644 --- a/helmfile/configs/e2e/adapters/cl-maestro/adapter-task-resource-manifestwork.yaml +++ b/helmfile/configs/e2e/adapters/cl-maestro/adapter-task-resource-manifestwork.yaml @@ -13,6 +13,7 @@ metadata: hyperfleet.io/component: "infrastructure" hyperfleet.io/generation: "{{ .generation }}" hyperfleet.io/resource-group: "cluster-setup" + e2e.hyperfleet.io/run-id: "{{ .runId }}" # Maestro-specific labels maestro.io/source-id: "{{ .adapter.name }}" @@ -27,7 +28,6 @@ metadata: app.kubernetes.io/part-of: "hyperfleet" app.kubernetes.io/managed-by: "cl-maestro" app.kubernetes.io/created-by: "{{ .adapter.name }}" - e2e.hyperfleet.io/run-id: "{{ .runId }}" {{ if .platformType }} hyperfleet.io/platform-type: "{{ .platformType }}" {{ end }} diff --git a/helmfile/helmfile.yaml.gotmpl b/helmfile/helmfile.yaml.gotmpl index 018cfe4..3cf4179 100644 --- a/helmfile/helmfile.yaml.gotmpl +++ b/helmfile/helmfile.yaml.gotmpl @@ -27,14 +27,18 @@ environments: - projectId: {{ env "PROJECT_ID" | default "hcm-hyperfleet" }} brokerType: googlepubsub serviceType: {{ env "API_SERVICE_TYPE" | default "LoadBalancer" }} - runId: {{ env "RUN_ID" | quote }} + runId: {{ requiredEnv "RUN_ID" | quote }} + labels: + e2e.hyperfleet.io/run-id: {{ requiredEnv "RUN_ID" }} - environments/e2e-gcp/adapter-configs.yaml.gotmpl - environments/e2e-gcp/sentinel-configs.yaml e2e-kind: values: - brokerType: rabbitmq serviceType: {{ env "API_SERVICE_TYPE" | default "ClusterIP" }} - runId: {{ env "RUN_ID" | quote }} + runId: {{ requiredEnv "RUN_ID" | quote }} + labels: + e2e.hyperfleet.io/run-id: {{ requiredEnv "RUN_ID" }} - environments/e2e-kind/adapter-configs.yaml.gotmpl - environments/e2e-kind/sentinel-configs.yaml kind: diff --git a/helmfile/values/base-adapter.yaml.gotmpl b/helmfile/values/base-adapter.yaml.gotmpl index 41cd6be..6f2487a 100644 --- a/helmfile/values/base-adapter.yaml.gotmpl +++ b/helmfile/values/base-adapter.yaml.gotmpl @@ -24,6 +24,12 @@ broker: rabbitmq: url: {{ env "RABBITMQ_URL" | default "amqp://guest:guest@rabbitmq:5672" }} {{ end }} + +{{- if hasKey .Values "labels" }} +labels: + {{- toYaml .Values.labels | nindent 2 }} +{{- end }} + env: - name: SIMULATE_RESULT value: success @@ -31,7 +37,7 @@ env: valueFrom: fieldRef: fieldPath: metadata.namespace - {{- if and (hasKey .Values "runId") .Values.runId }} + {{- if hasKey .Values "runId" }} - name: RUN_ID value: {{ .Values.runId | quote }} {{- end }} diff --git a/helmfile/values/base-api.yaml.gotmpl b/helmfile/values/base-api.yaml.gotmpl index efe8f09..ec1ecf1 100644 --- a/helmfile/values/base-api.yaml.gotmpl +++ b/helmfile/values/base-api.yaml.gotmpl @@ -23,4 +23,9 @@ config: {{- if eq .resourceType "nodepools" }} - {{ .name }} {{- end }} - {{- end }} \ No newline at end of file + {{- end }} + +{{- if hasKey .Values "labels" }} +labels: + {{- toYaml .Values.labels | nindent 2 }} +{{- end }} \ No newline at end of file diff --git a/helmfile/values/base-sentinel.yaml.gotmpl b/helmfile/values/base-sentinel.yaml.gotmpl index 4c1df37..78abad8 100644 --- a/helmfile/values/base-sentinel.yaml.gotmpl +++ b/helmfile/values/base-sentinel.yaml.gotmpl @@ -22,3 +22,8 @@ broker: rabbitmq: url: {{ env "RABBITMQ_URL" | default "amqp://guest:guest@rabbitmq:5672" }} {{ end }} + +{{- if hasKey .Values "labels" }} +labels: + {{- toYaml .Values.labels | nindent 2 }} +{{- end }} \ No newline at end of file