From cd70ecf3f85a7506e145d7f5e369022627ad6c47 Mon Sep 17 00:00:00 2001
From: brandt keller <brandt.keller@defenseunicorns.com>
Date: Mon, 20 Mar 2023 14:26:01 +0000
Subject: [PATCH] Addon to package

---
 chart/templates/package/kustomization.yaml | 37 ++++++++--------------
 chart/templates/package/values.yaml        |  7 +++-
 chart/values2.0.yaml                       |  1 +
 3 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/chart/templates/package/kustomization.yaml b/chart/templates/package/kustomization.yaml
index 278ab0a4d7..0e0bc14572 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 e4f42d0bd0..8c59c2cf8e 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 9cecc4d1ed..f4d820ac4c 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
 
-- 
GitLab