diff --git a/chart/templates/package/kustomization.yaml b/chart/templates/package/kustomization.yaml index 278ab0a4d716a96d04c879c6ad196ba3c3066b2c..0e0bc1457240d57eb5fe6dfd5bcdce93163f5d49 100644 --- a/chart/templates/package/kustomization.yaml +++ b/chart/templates/package/kustomization.yaml @@ -2,9 +2,12 @@ {{- range $pkg, $vals := .Values.packages -}} {{- if and (dig "enabled" true $vals) $vals.kustomize -}} {{- $pkg := include "resourceName" $pkg -}} -{{- $vals := merge $vals ($.Files.Get (printf "defaults/%s.yaml" $pkg) | fromYaml).package }} +{{- $defaults := $.Files.Get (printf "defaults/%s.yaml" $pkg) -}} +{{- if $defaults -}} +{{- $vals := merge $vals ($defaults | fromYaml).package -}} +{{- end -}} {{- $fluxSettings := merge (dig "flux" dict $vals) $.Values.flux -}} -apiVersion: helm.toolkit.fluxcd.io/v2beta1 +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 kind: Kustomization metadata: name: {{ $pkg }} @@ -13,37 +16,23 @@ metadata: app.kubernetes.io/name: {{ $pkg }} {{- include "commonLabels" $ | nindent 4 }} spec: + targetNamespace: {{ dig "namespace" "name" $pkg $vals }} path: {{ dig "git" "path" "" $vals }} sourceRef: kind: GitRepository name: {{ $pkg }} namespace: {{ dig "namespace" "name" $pkg $vals }} - {{- toYaml $fluxSettings | nindent 2 }} + interval: {{ dig "interval" "2m" $fluxSettings }} + timeout: {{ dig "timeout" "10m" $fluxSettings }} + force: {{ dig "force" false $fluxSettings }} + wait: {{ dig "wait" true $fluxSettings }} + retryInterval: {{ dig "retryInterval" "2m0s" $fluxSettings }} + prune: {{ dig "prune" true $fluxSettings }} postBuild: substituteFrom: - name: {{ $pkg }}-values - kind: Secret + kind: Secret - {{- /* Always wait on policy enforcement */ -}} - {{- $gatekeeperDep := $.Values.gatekeeper.enabled -}} - {{- $kyvernoDep := $.Values.kyvernopolicies.enabled -}} - {{- /* Wait on istio if sidecar is enabled */ -}} - {{- $istioDep := (and $.Values.istio.enabled (dig "istio" "injection" true $vals)) -}} - {{- if or $gatekeeperDep $kyvernoDep $istioDep }} - dependsOn: - {{- if $gatekeeperDep }} - - name: gatekeeper - namespace: {{ default "bigbang" $.Values.namespace }} - {{- end }} - {{- if $kyvernoDep }} - - name: kyvernopolicies - namespace: {{ default "bigbang" $.Values.namespace }} - {{- end }} - {{- if $istioDep }} - - name: istio - namespace: {{ default "bigbang" $.Values.namespace }} - {{- end -}} - {{- end }} --- {{ end -}} {{- end -}} \ No newline at end of file diff --git a/chart/templates/package/values.yaml b/chart/templates/package/values.yaml index e4f42d0bd0a21f8c3e1f5fe2873ca33e7913d9b9..8c59c2cf8eb0d564376534493b564c1abeb981d9 100644 --- a/chart/templates/package/values.yaml +++ b/chart/templates/package/values.yaml @@ -15,8 +15,13 @@ metadata: {{- include "commonLabels" $ | nindent 4 }} type: Opaque stringData: + {{ if and (dig "enabled" true $vals) (not $vals.kustomize) -}} values.yaml: | - {{- tpl (toYaml $vals.values) $ | nindent 4 }} + {{- tpl (toYaml $vals.values) $ | nindent 4 }} + {{ else }} + {{- tpl (toYaml $vals.values) $ | nindent 2 }} + {{ end }} + --- {{ end -}} {{- end -}} \ No newline at end of file diff --git a/chart/values2.0.yaml b/chart/values2.0.yaml index 9cecc4d1eda5a013f121f066d7f87a4808f49270..f4d820ac4c55621065eb5cecd62376d254822ef8 100644 --- a/chart/values2.0.yaml +++ b/chart/values2.0.yaml @@ -268,6 +268,7 @@ packages: # -- Toggle deployment of this package # @default -- true enabled: false + # -- Use a kustomize deployment rather than Helm kustomize: false