fix(helm): skip registry-pull-secret if already exists in namespace

- Use Helm lookup to check if secret exists before creating
- Add helm.sh/resource-policy: keep to prevent deletion
- Use pre-install hook to avoid ownership conflicts between releases
This commit is contained in:
keyhan
2026-04-22 18:17:31 +03:30
parent 0ba0ee3586
commit b8355f1fc1
@@ -1,13 +1,20 @@
{{- $name := include "cloudhost-app.name" . -}} {{- $name := include "cloudhost-app.name" . -}}
{{- $ns := include "cloudhost-app.namespace" . -}} {{- $ns := include "cloudhost-app.namespace" . -}}
{{- $registryUrl := .Values.registry.url | default "localhost:30500" -}} {{- $registryUrl := .Values.registry.url | default "localhost:30500" -}}
{{- $existingSecret := lookup "v1" "Secret" $ns "registry-pull-secret" -}}
{{- if not $existingSecret }}
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: registry-pull-secret name: registry-pull-secret
namespace: {{ $ns }} namespace: {{ $ns }}
annotations:
"helm.sh/resource-policy": keep
"helm.sh/hook": pre-install
"helm.sh/hook-weight": "-10"
labels: labels:
{{- include "cloudhost-app.labels" . | nindent 4 }} app.kubernetes.io/managed-by: cloudhost
type: kubernetes.io/dockerconfigjson type: kubernetes.io/dockerconfigjson
data: data:
.dockerconfigjson: {{ printf `{"auths":{"%s":{"auth":""}}}` $registryUrl | b64enc | quote }} .dockerconfigjson: {{ printf `{"auths":{"%s":{"auth":""}}}` $registryUrl | b64enc | quote }}
{{- end }}