helmfile.yaml 2.47 KB
environments:
  default:
    values:
      - namespace: registry
        namePrefix: "test-"
        restoreFromEmpty:
          enabled: true
        registry:
          jsonPatches: []
          strategicMergePatches: []
          service:
            registry:
              nodePort: 32123
        images:
          debian: "debian:bullseye-20211220"
          registry: "registry:2"

---
releases:

  - name: {{ .Values.namePrefix }}registry
    namespace: {{ .Values.namespace }}
    chart: .
    values:
      - set-common-values.yaml.gotmpl
    jsonPatches:
      - target:
          kind: Service
          name: {{ .Values.namePrefix }}registry
          namespace: {{ .Values.namespace }}
          version: v1
        patch:
          - op: replace
            path: /spec/selector/app
            value: {{ .Values.namePrefix }}registry
          - op: replace
            path: /spec/ports/0/nodePort
            value: {{ .Values.registry.service.registry.nodePort }}
      {{- if not (empty (.Values.registry.jsonPatches)) }}
      {{- .Values.registry.jsonPatches | toYaml | indent 6 }}
      {{- end }}
    strategicMergePatches:
      - apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: {{ .Values.namePrefix }}registry
          namespace: {{ .Values.namespace }}
        spec:
          selector:
            matchLabels:
              app: {{ .Values.namePrefix }}registry
          template:
            metadata:
              labels:
                app: {{ .Values.namePrefix }}registry
            spec:
              volumes:
                - name: registry-data
                  persistentVolumeClaim:
                    claimName: {{ .Values.namePrefix }}registry-data
                - name: registry-config
                  configMap:
                    name: {{ .Values.namePrefix }}registry-config
                - name: registry-secret
                  secret:
                    secretName: {{ .Values.namePrefix }}registry-secret
      - apiVersion: v1
        kind: ConfigMap
        metadata:
          name: {{ .Values.namePrefix }}registry-config
          namespace: {{ .Values.namespace }}
        data:
      - apiVersion: v1
        kind: Secret
        metadata:
          name: {{ .Values.namePrefix }}registry-secret
          namespace: {{ .Values.namespace }}
        stringData:
      {{- if not (empty (.Values.registry.strategicMergePatches)) }}
      {{- .Values.registry.strategicMergePatches | toYaml | indent 6 }}
      {{- end }}