From 5505ef4fc98d9b352616418c70b986f877998a64 Mon Sep 17 00:00:00 2001 From: ian-flores Date: Thu, 12 Feb 2026 08:20:48 -0800 Subject: [PATCH] fix(helm): remove duplicate metrics service causing install failures The auth_proxy_service.yaml in rbac/ creates the same team-operator-controller-manager-metrics-service as the one in metrics/metrics-service.yaml. When both rbac.enable and metrics.enable are true, Helm fails with "already exists". Add rm -f to helm-generate post-processing to prevent kubebuilder from re-introducing the duplicate. --- Makefile | 4 ++++ .../templates/rbac/auth_proxy_service.yaml | 17 ----------------- 2 files changed, 4 insertions(+), 17 deletions(-) delete mode 100755 dist/chart/templates/rbac/auth_proxy_service.yaml diff --git a/Makefile b/Makefile index 185ea828..c52e4c0a 100644 --- a/Makefile +++ b/Makefile @@ -181,6 +181,10 @@ helm-generate: manifests kubebuilder ## Regenerate Helm chart from kustomize $(SED) -i 's/team-operator-controller-manager-metrics-service/{{ .Values.controllerManager.serviceAccountName }}-metrics-service/g' dist/chart/templates/metrics/metrics-service.yaml # Fix RoleBinding namespace to use watchNamespace value $(SED) -i '/kind: RoleBinding/,/roleRef:/{s/namespace: posit-team/namespace: {{ .Values.watchNamespace }}/}' dist/chart/templates/rbac/role_binding.yaml + # Remove duplicate metrics service that kubebuilder generates - we already have one in dist/chart/templates/metrics/ + # This was causing "services 'team-operator-controller-manager-metrics-service' already exists" errors + # The correct metrics service is gated on .Values.metrics.enable, not .Values.rbac.enable + rm -f dist/chart/templates/rbac/auth_proxy_service.yaml # Remove kubebuilder-generated test workflow - we use our own CI workflows rm -f .github/workflows/test-chart.yml diff --git a/dist/chart/templates/rbac/auth_proxy_service.yaml b/dist/chart/templates/rbac/auth_proxy_service.yaml deleted file mode 100755 index b665f0dc..00000000 --- a/dist/chart/templates/rbac/auth_proxy_service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{- if .Values.rbac.enable }} -apiVersion: v1 -kind: Service -metadata: - labels: - {{- include "chart.labels" . | nindent 4 }} - name: {{ .Values.controllerManager.serviceAccountName }}-metrics-service - namespace: {{ .Release.Namespace }} -spec: - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - selector: - control-plane: controller-manager -{{- end -}}