From 12f1ec03f26725f8858fa7e7ca50740d71db47db Mon Sep 17 00:00:00 2001
From: joshwolf <josh@rancherfederal.com>
Date: Wed, 5 May 2021 16:01:07 +0000
Subject: [PATCH] Merge branch
 '388-set-global-timeout-for-flux-allow-for-helmrelease-flux-settings-to-be-populated-via-values-file'
 into 'master'

Resolve "Set Global Timeout for Flux & Allow for HelmRelease Flux Settings to be Populated via Values File"

Summary

Upping global timeout for all HelmReleases (installs, upgrades, rollbacks, etc) to 10 minutes from default (5m) and moving flux settings section from few templated options to per-package complete settings block.


Closes #388

See merge request platform-one/big-bang/bigbang!453

(cherry picked from commit 9e92b77f6b7e9e57924859e62ac8a2e64f7ba1ea)

541bd8d5 feat: Adding inital package specific flux settings support
7bfadb9b feat: ReOrg of flux settings and merging of per package settings
070d6271 fix: Fixing testing items in values file
c973d5eb fix: Removing extra end in anchore HR
6faffd63 fix: Syntax in  sonarqube HR and adding haproxy flux defs
e7f9614d Upping logging HR timeout to 20m
a1a8c437 ci: Coding in version for AWS VPC module
05800e1b docs: Updating comments for newly added flux overrides
effc9c22 fix: Indentation in anchore specific flux values
2d9441e1 feat: Switching from deepCopy to just merge operation
ebc61b56 fix: Spacing in minioOperator values
f7f566cf fix: Minio packages need some love
---
 .../aws/dependencies/terraform/main/main.tf   |  1 +
 .../anchore/anchore-helmrelease.yaml          | 21 +----
 .../templates/argocd/argocd-helmrelease.yaml  | 18 +---
 .../authservice/authservice-helmrelease.yaml  | 19 +---
 .../clusterauditor-helmrelease.yaml           | 19 +---
 .../gatekeeper/gatekeeper-helmrelease.yaml    | 19 +---
 .../gitlabRunner-helmrelease.yaml             | 19 +---
 chart/templates/gitlab/helmrelease.yaml       | 21 +----
 .../haproxy/haproxy-authservice.yaml          | 18 +---
 .../istio-controlplane-helmrelease.yaml       | 19 +---
 .../operator/istio-operator-helmrelease.yaml  | 19 +---
 .../templates/jaeger/jaeger-helmrelease.yaml  | 18 +---
 chart/templates/kiali/helmrelease.yaml        | 20 +---
 .../eck-operator-helmrelease.yaml             | 19 +---
 .../elasticsearch-kibana/ek-helmrelease.yaml  | 19 +---
 .../fluentbit/fluentbit-helmrelease.yaml      | 20 +---
 .../mattermost/mattermost-helmrelease.yaml    | 19 +---
 .../mattermost-operator-helmrelease.yaml      | 19 +---
 .../minio-operator-helmrelease.yaml           | 19 +---
 .../minio/minio/minio-helmrelease.yaml        | 19 +---
 .../monitoring/monitoring-helmrelease.yaml    | 19 +---
 .../sonarqube/sonarqube-helmrelease.yaml      | 19 +---
 .../twistlock/twistlock-helmrelease.yaml      | 19 +---
 .../templates/velero/velero-helmrelease.yaml  | 19 +---
 chart/values.yaml                             | 92 ++++++++++++++++++-
 25 files changed, 160 insertions(+), 373 deletions(-)

diff --git a/.gitlab-ci/jobs/networking/aws/dependencies/terraform/main/main.tf b/.gitlab-ci/jobs/networking/aws/dependencies/terraform/main/main.tf
index 108c915301..59350f01bf 100644
--- a/.gitlab-ci/jobs/networking/aws/dependencies/terraform/main/main.tf
+++ b/.gitlab-ci/jobs/networking/aws/dependencies/terraform/main/main.tf
@@ -39,6 +39,7 @@ locals {
 #
 module "vpc" {
   source = "terraform-aws-modules/vpc/aws"
+  version = "2.78.0"
 
   name = local.name
   cidr = var.vpc_cidr
diff --git a/chart/templates/anchore/anchore-helmrelease.yaml b/chart/templates/anchore/anchore-helmrelease.yaml
index 3ca7a94a41..45787c8229 100644
--- a/chart/templates/anchore/anchore-helmrelease.yaml
+++ b/chart/templates/anchore/anchore-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsAnchore := merge .Values.addons.anchore.flux .Values.flux -}}
 {{- if .Values.addons.anchore.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -16,23 +17,7 @@ spec:
         name: anchore
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    disableWait: true
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsAnchore | nindent 2 }}
 
   valuesFrom:
     - name: {{ .Release.Name }}-anchore-values
@@ -56,4 +41,4 @@ spec:
       namespace: {{ .Release.Namespace }}
     {{- end }}
   {{- end }}
-{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/chart/templates/argocd/argocd-helmrelease.yaml b/chart/templates/argocd/argocd-helmrelease.yaml
index 14a4a21664..4c9d0f66d1 100644
--- a/chart/templates/argocd/argocd-helmrelease.yaml
+++ b/chart/templates/argocd/argocd-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsArgo := merge .Values.addons.argocd.flux .Values.flux -}}
 {{- if .Values.addons.argocd.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,7 @@ spec:
         name: argocd
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsArgo | nindent 2 }}
 
   valuesFrom:
     - name: {{ .Release.Name }}-argocd-values
diff --git a/chart/templates/authservice/authservice-helmrelease.yaml b/chart/templates/authservice/authservice-helmrelease.yaml
index 9d9165038b..daa7d4447f 100644
--- a/chart/templates/authservice/authservice-helmrelease.yaml
+++ b/chart/templates/authservice/authservice-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsAuthservice := merge .Values.addons.authservice.flux .Values.flux -}}
 {{- if and .Values.istio.enabled ( or .Values.addons.authservice.enabled .Values.monitoring.sso.enabled .Values.jaeger.sso.enabled ) }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: authservice
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsAuthservice | nindent 2 }}
+
   {{- if .Values.addons.authservice.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.authservice.postRenderers | nindent 4 }}
diff --git a/chart/templates/clusterauditor/clusterauditor-helmrelease.yaml b/chart/templates/clusterauditor/clusterauditor-helmrelease.yaml
index 07abce5984..a8d9664dd9 100644
--- a/chart/templates/clusterauditor/clusterauditor-helmrelease.yaml
+++ b/chart/templates/clusterauditor/clusterauditor-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsClusterAuditor := merge .Values.clusterAuditor.flux .Values.flux -}}
 {{- if .Values.clusterAuditor.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: cluster-auditor
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsClusterAuditor | nindent 2 }}
+
   {{- if .Values.clusterAuditor.postRenderers }}
   postRenderers:
   {{ toYaml .Values.clusterAuditor.postRenderers | nindent 4 }}
diff --git a/chart/templates/gatekeeper/gatekeeper-helmrelease.yaml b/chart/templates/gatekeeper/gatekeeper-helmrelease.yaml
index b73c017f0f..4e54a08c1d 100644
--- a/chart/templates/gatekeeper/gatekeeper-helmrelease.yaml
+++ b/chart/templates/gatekeeper/gatekeeper-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsGatekeeper := merge .Values.gatekeeper.flux .Values.flux -}}
 {{- if or .Values.gatekeeper.enabled .Values.clusterAuditor.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: gatekeeper
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsGatekeeper | nindent 2 }}
+
   {{- if .Values.gatekeeper.postRenderers }}
   postRenderers:
   {{ toYaml .Values.gatekeeper.postRenderers | nindent 4 }}
diff --git a/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml b/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml
index ef69d9e94b..9253e744a4 100644
--- a/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml
+++ b/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsGitlabRunner := merge .Values.addons.gitlabRunner.flux .Values.flux -}}
 {{- if .Values.addons.gitlabRunner.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -16,22 +17,8 @@ spec:
         name: gitlab-runner
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsGitlabRunner | nindent 2 }}
+
   {{- if .Values.addons.gitlab.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.gitlab.postRenderers | nindent 4 }}
diff --git a/chart/templates/gitlab/helmrelease.yaml b/chart/templates/gitlab/helmrelease.yaml
index 66741b2afe..bde8498a61 100644
--- a/chart/templates/gitlab/helmrelease.yaml
+++ b/chart/templates/gitlab/helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsGitlab := merge .Values.addons.gitlab.flux .Values.flux -}}
 {{- if .Values.addons.gitlab.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,23 +20,9 @@ spec:
         kind: GitRepository
         name: gitlab
         namespace: {{ .Release.Namespace }}
-  timeout: 10m
-{{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+
+  {{- toYaml $fluxSettingsGitlab | nindent 2 }}
+
   {{- if .Values.addons.gitlab.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.gitlab.postRenderers | nindent 4 }}
diff --git a/chart/templates/haproxy/haproxy-authservice.yaml b/chart/templates/haproxy/haproxy-authservice.yaml
index 906c6eab92..8b6cb7ec71 100644
--- a/chart/templates/haproxy/haproxy-authservice.yaml
+++ b/chart/templates/haproxy/haproxy-authservice.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsHaProxy := merge .Values.addons.haproxy.flux .Values.flux -}}
 {{- if and .Values.istio.enabled .Values.monitoring.sso.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -33,22 +34,7 @@ spec:
       kind: Secret
       valuesKey: "overlays"
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsHaProxy | nindent 2 }}
 
   dependsOn:
     {{- if .Values.istio.enabled }}
diff --git a/chart/templates/istio/controlplane/istio-controlplane-helmrelease.yaml b/chart/templates/istio/controlplane/istio-controlplane-helmrelease.yaml
index 78bdce4afd..687663c9b8 100644
--- a/chart/templates/istio/controlplane/istio-controlplane-helmrelease.yaml
+++ b/chart/templates/istio/controlplane/istio-controlplane-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsIstioCp := merge .Values.istio.flux .Values.flux -}}
 {{- if .Values.istio.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: istio-controlplane
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsIstioCp | nindent 2 }}
+
   {{- if .Values.istio.postRenderers }}
   postRenderers:
   {{ toYaml .Values.istio.postRenderers | nindent 4 }}
diff --git a/chart/templates/istio/operator/istio-operator-helmrelease.yaml b/chart/templates/istio/operator/istio-operator-helmrelease.yaml
index 44159ba970..1c62c3f094 100644
--- a/chart/templates/istio/operator/istio-operator-helmrelease.yaml
+++ b/chart/templates/istio/operator/istio-operator-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsIstioOperator := merge .Values.istiooperator.flux .Values.flux -}}
 {{- if .Values.istiooperator.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: istio-operator
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsIstioOperator | nindent 2 }}
+
   {{- if .Values.istiooperator.postRenderers }}
   postRenderers:
   {{ toYaml .Values.istiooperator.postRenderers | nindent 4 }}
diff --git a/chart/templates/jaeger/jaeger-helmrelease.yaml b/chart/templates/jaeger/jaeger-helmrelease.yaml
index 33e9ff58b9..dc2e736a9e 100644
--- a/chart/templates/jaeger/jaeger-helmrelease.yaml
+++ b/chart/templates/jaeger/jaeger-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsJaeger := merge .Values.jaeger.flux .Values.flux -}}
 {{- if .Values.jaeger.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,7 @@ spec:
         name: jaeger
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsJaeger | nindent 2 }}
 
   valuesFrom:
     - name: {{ .Release.Name }}-jaeger-values
diff --git a/chart/templates/kiali/helmrelease.yaml b/chart/templates/kiali/helmrelease.yaml
index bc2425e7d7..07498c46f9 100644
--- a/chart/templates/kiali/helmrelease.yaml
+++ b/chart/templates/kiali/helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsKiali := merge .Values.kiali.flux .Values.flux -}}
 {{- if .Values.kiali.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -18,22 +19,9 @@ spec:
         kind: GitRepository
         name: kiali
         namespace: {{ .Release.Namespace }}
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+
+  {{- toYaml $fluxSettingsKiali | nindent 2 }}
+  
   {{- if .Values.kiali.postRenderers }}
   postRenderers:
   {{ toYaml .Values.kiali.postRenderers | nindent 4 }}
diff --git a/chart/templates/logging/eck-operator/eck-operator-helmrelease.yaml b/chart/templates/logging/eck-operator/eck-operator-helmrelease.yaml
index 8955a8fbdd..48aaa85827 100644
--- a/chart/templates/logging/eck-operator/eck-operator-helmrelease.yaml
+++ b/chart/templates/logging/eck-operator/eck-operator-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsEckOperator := merge .Values.eckoperator.flux .Values.flux -}}
 {{- if or .Values.eckoperator.enabled .Values.logging.enabled .Values.clusterAuditor.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: eck-operator
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsEckOperator | nindent 2 }}
+
   {{- if .Values.eckoperator.postRenderers }}
   postRenderers:
   {{ toYaml .Values.eckoperator.postRenderers | nindent 4 }}
diff --git a/chart/templates/logging/elasticsearch-kibana/ek-helmrelease.yaml b/chart/templates/logging/elasticsearch-kibana/ek-helmrelease.yaml
index 5fd1a00e0a..fbe9db2784 100644
--- a/chart/templates/logging/elasticsearch-kibana/ek-helmrelease.yaml
+++ b/chart/templates/logging/elasticsearch-kibana/ek-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsEk := merge .Values.logging.flux .Values.flux -}}
 {{- if or .Values.logging.enabled .Values.clusterAuditor.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: elasticsearch-kibana
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsEk | nindent 2 }}
+
   {{- if .Values.logging.postRenderers }}
   postRenderers:
   {{ toYaml .Values.logging.postRenderers | nindent 4 }}
diff --git a/chart/templates/logging/fluentbit/fluentbit-helmrelease.yaml b/chart/templates/logging/fluentbit/fluentbit-helmrelease.yaml
index 1d90ea3df3..846467d093 100644
--- a/chart/templates/logging/fluentbit/fluentbit-helmrelease.yaml
+++ b/chart/templates/logging/fluentbit/fluentbit-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsFluentbit := merge .Values.fluentbit.flux .Values.flux -}}
 {{- if .Values.fluentbit.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -18,22 +19,9 @@ spec:
         kind: GitRepository
         name: fluentbit
         namespace: {{ .Release.Namespace }}
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+
+  {{- toYaml $fluxSettingsFluentbit | nindent 2 }}
+
   {{- if .Values.fluentbit.postRenderers }}
   postRenderers:
   {{ toYaml .Values.fluentbit.postRenderers | nindent 4 }}
diff --git a/chart/templates/mattermost/mattermost/mattermost-helmrelease.yaml b/chart/templates/mattermost/mattermost/mattermost-helmrelease.yaml
index 6a0202cde4..1b99cdbfbe 100644
--- a/chart/templates/mattermost/mattermost/mattermost-helmrelease.yaml
+++ b/chart/templates/mattermost/mattermost/mattermost-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsMattermost := merge .Values.addons.mattermost.flux .Values.flux -}}
 {{- if .Values.addons.mattermost.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -20,22 +21,8 @@ spec:
         name: mattermost
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsMattermost | nindent 2 }}
+
   {{- if .Values.addons.mattermost.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.mattermost.postRenderers | nindent 4 }}
diff --git a/chart/templates/mattermost/operator/mattermost-operator-helmrelease.yaml b/chart/templates/mattermost/operator/mattermost-operator-helmrelease.yaml
index 5127c1e6d4..1550e2a8fd 100644
--- a/chart/templates/mattermost/operator/mattermost-operator-helmrelease.yaml
+++ b/chart/templates/mattermost/operator/mattermost-operator-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsMattermostOperator := merge .Values.addons.mattermostoperator.flux .Values.flux -}}
 {{- if or .Values.addons.mattermostoperator.enabled .Values.addons.mattermost.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: mattermost-operator
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsMattermostOperator | nindent 2 }}
+  
   {{- if .Values.addons.mattermostoperator.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.authservice.postRenderers | nindent 4 }}
diff --git a/chart/templates/minio/minio-operator/minio-operator-helmrelease.yaml b/chart/templates/minio/minio-operator/minio-operator-helmrelease.yaml
index afb317e3ce..7999b5680e 100644
--- a/chart/templates/minio/minio-operator/minio-operator-helmrelease.yaml
+++ b/chart/templates/minio/minio-operator/minio-operator-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsMinioOperator := merge .Values.addons.minioOperator.flux .Values.flux -}}
 {{- if or .Values.addons.minioOperator.enabled .Values.addons.minio.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -15,22 +16,8 @@ spec:
         name: minio-operator
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsMinioOperator | nindent 2 }}
+
   {{- if .Values.addons.minioOperator.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.minioOperator.postRenderers | nindent 4 }}
diff --git a/chart/templates/minio/minio/minio-helmrelease.yaml b/chart/templates/minio/minio/minio-helmrelease.yaml
index 571a3283dc..cc6767c61d 100644
--- a/chart/templates/minio/minio/minio-helmrelease.yaml
+++ b/chart/templates/minio/minio/minio-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsMinio := merge .Values.addons.minio.flux .Values.flux -}}
 {{- if .Values.addons.minio.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -15,22 +16,8 @@ spec:
         name: minio
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsMinio | nindent 2 }}
+  
   {{- if .Values.addons.minio.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.minio.postRenderers | nindent 4 }}
diff --git a/chart/templates/monitoring/monitoring-helmrelease.yaml b/chart/templates/monitoring/monitoring-helmrelease.yaml
index 81b7e26c5d..707b100c68 100644
--- a/chart/templates/monitoring/monitoring-helmrelease.yaml
+++ b/chart/templates/monitoring/monitoring-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsMonitoring := merge .Values.monitoring.flux .Values.flux -}}
 {{- if .Values.monitoring.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: monitoring
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsMonitoring | nindent 2 }}
+
   {{- if .Values.monitoring.postRenderers }}
   postRenderers:
   {{ toYaml .Values.monitoring.postRenderers | nindent 4 }}
diff --git a/chart/templates/sonarqube/sonarqube-helmrelease.yaml b/chart/templates/sonarqube/sonarqube-helmrelease.yaml
index a8813f39b6..1347870ff2 100644
--- a/chart/templates/sonarqube/sonarqube-helmrelease.yaml
+++ b/chart/templates/sonarqube/sonarqube-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsSonarqube := merge .Values.addons.sonarqube.flux .Values.flux -}}
 {{- if .Values.addons.sonarqube.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -21,22 +22,8 @@ spec:
         name: sonarqube
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsSonarqube | nindent 2 }}
+  
   {{- if .Values.addons.sonarqube.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.sonarqube.postRenderers | nindent 4 }}
diff --git a/chart/templates/twistlock/twistlock-helmrelease.yaml b/chart/templates/twistlock/twistlock-helmrelease.yaml
index 462160d91a..62310f7ad7 100644
--- a/chart/templates/twistlock/twistlock-helmrelease.yaml
+++ b/chart/templates/twistlock/twistlock-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsTwistlock := merge .Values.twistlock.flux .Values.flux -}}
 {{- if .Values.twistlock.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: twistlock
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsTwistlock | nindent 2 }}
+  
   {{- if .Values.twistlock.postRenderers }}
   postRenderers:
   {{ toYaml .Values.twistlock.postRenderers | nindent 4 }}
diff --git a/chart/templates/velero/velero-helmrelease.yaml b/chart/templates/velero/velero-helmrelease.yaml
index 83c10b42f2..ba4a95a44c 100644
--- a/chart/templates/velero/velero-helmrelease.yaml
+++ b/chart/templates/velero/velero-helmrelease.yaml
@@ -1,3 +1,4 @@
+{{- $fluxSettingsVelero := merge .Values.addons.velero.flux .Values.flux -}}
 {{- if .Values.addons.velero.enabled }}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
 kind: HelmRelease
@@ -19,22 +20,8 @@ spec:
         name: velero
         namespace: {{ .Release.Namespace }}
 
-  {{- with .Values.flux }}
-  interval: {{ .interval }}
-  test:
-    enable: false
-  install:
-    remediation:
-      retries: {{ .install.retries }}
-  upgrade:
-    remediation:
-      retries: {{ .upgrade.retries }}
-      remediateLastFailure: true
-    cleanupOnFail: true
-  rollback:
-    timeout: {{ .rollback.timeout }}
-    cleanupOnFail: {{ .rollback.cleanupOnFail }}
-  {{- end }}
+  {{- toYaml $fluxSettingsVelero | nindent 2 }}
+  
   {{- if .Values.addons.velero.postRenderers }}
   postRenderers:
   {{ toYaml .Values.addons.velero.postRenderers | nindent 4 }}
diff --git a/chart/values.yaml b/chart/values.yaml
index d957489dc5..3ed0ebae9a 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -76,11 +76,18 @@ sso:
 # -- (Advanced) Flux reconciliation parameters.
 # The default values provided will be sufficient for the majority of workloads.
 flux:
+  timeout: 10m
   interval: 2m
+  test:
+    enable: false
   install:
-    retries: 3
+    remediation:
+      retries: 3
   upgrade:
-    retries: 3
+    remediation:
+      retries: 3
+      remediateLastFailure: true
+    cleanupOnFail: true
   rollback:
     timeout: 10m
     cleanupOnFail: true
@@ -96,6 +103,9 @@ istio:
     path: "./chart"
     tag: "1.8.4-bb.1"
 
+  # -- Flux reconciliation overrides specifically for the Istio Package
+  flux: {}
+
   # -- Certificate/Key pair to use as the default certificate for exposing BigBang created applications.
   # If nothing is provided, applications will expect a valid tls secret to exist in the `istio-system` namespace called `wildcard-cert`.
   ingress:
@@ -116,6 +126,9 @@ istiooperator:
     path: "./chart"
     tag: "1.8.4-bb.1"
 
+  # -- Flux reconciliation overrides specifically for the Istio Operator Package
+  flux: {}
+
   # -- Values to passthrough to the istio-operator chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/istio-operator.git
   values: {}
 
@@ -129,6 +142,10 @@ jaeger:
     repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/jaeger.git
     path: "./chart"
     tag: "2.19.1-bb.4"
+
+  # -- Flux reconciliation overrides specifically for the Jaeger Package
+  flux: {}
+
   sso:
     # -- Toggle SSO for Jaeger on and off
     enabled: false
@@ -152,6 +169,10 @@ kiali:
     repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/kiali.git
     path: "./chart"
     tag: "1.32.0-bb.1"
+
+  # -- Flux reconciliation overrides specifically for the Kiali Package
+  flux: {}
+
   sso:
     # -- Toggle SSO for Kiali on and off
     enabled: false
@@ -181,6 +202,9 @@ clusterAuditor:
     path: "./chart"
     tag: "0.1.9-bb.0"
 
+  # -- Flux reconciliation overrides specifically for the Cluster Auditor Package
+  flux: {}
+
   # -- Values to passthrough to the cluster auditor chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/cluster-auditor.git
   values: {}
 
@@ -199,6 +223,9 @@ gatekeeper:
     path: "./chart"
     tag: "3.3.0-bb.0"
 
+  # -- Flux reconciliation overrides specifically for the OPA Gatekeeper Package
+  flux: {}
+
   # -- Values to passthrough to the gatekeeper chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/policy.git
   values: {}
 
@@ -217,6 +244,10 @@ logging:
     path: "./chart"
     tag: "0.1.8-bb.0"
 
+  # -- Flux reconciliation overrides specifically for the Logging (EFK) Package
+  flux:
+    timeout: 20m
+
   sso:
     # -- Toggle OIDC SSO for Kibana/Elasticsearch on and off.
     # Enabling this option will auto-create any required secrets.
@@ -248,6 +279,11 @@ eckoperator:
     repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/eck-operator.git
     path: "./chart"
     tag: "1.4.0-bb.1"
+
+  # -- Flux reconciliation overrides specifically for the ECK Operator Package
+  flux: {}
+
+  # -- Values to passthrough to the eck-operator chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/eck-operator.git
   values: {}
 
 fluentbit:
@@ -257,6 +293,11 @@ fluentbit:
     repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/fluentbit.git
     path: "./chart"
     tag: "0.15.8-bb.1"
+
+  # -- Flux reconciliation overrides specifically for the Fluent-Bit Package
+  flux: {}
+
+  # -- Values to passthrough to the fluentbit chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/fluentbit.git  
   values: {}
 
   # -- Post Renderers.  See docs/postrenders.md
@@ -274,6 +315,9 @@ monitoring:
     path: "./chart"
     tag: "11.0.0-bb.17"
 
+  # -- Flux reconciliation overrides specifically for the Monitoring Package
+  flux: {}
+
   sso:
     # -- Toggle SSO for monitoring components on and off
     enabled: false
@@ -321,6 +365,9 @@ twistlock:
     path: "./chart"
     tag: "0.0.3-bb.3"
 
+  # -- Flux reconciliation overrides specifically for the Twistlock Package
+  flux: {}
+
   # -- Values to passthrough to the twistlock chart: https://repo1.dso.mil/platform-one/big-bang/apps/security-tools/twistlock.git
   values: {}
 
@@ -338,6 +385,10 @@ addons:
       repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/argocd.git
       path: "./chart"
       tag: "2.14.7-bb.3"
+
+    # -- Flux reconciliation overrides specifically for the ArgoCD Package
+    flux: {}
+
     sso:
       # -- Toggle SSO for ArgoCD on and off
       enabled: false
@@ -375,6 +426,9 @@ addons:
       path: "./chart"
       tag: "0.4.0-bb.2"
 
+    # -- Flux reconciliation overrides specifically for the Authservice Package
+    flux: {}
+
     # -- Values to passthrough to the authservice chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/authservice.git
     values: {}
 
@@ -394,6 +448,10 @@ addons:
       repo: https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio-operator.git
       path: "./chart"
       tag: "2.0.9-bb.3"
+
+    # -- Flux reconciliation overrides specifically for the Minio Operator Package
+    flux: {}
+
     # -- Values to passthrough to the minio operator chart: https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio-operator.git
     values: {}
 
@@ -401,12 +459,16 @@ addons:
     postRenderers: []
 
   minio:
+    # -- Toggle deployment of minio.
     enabled: false
     git:
       repo: https://repo1.dso.mil/platform-one/big-bang/apps/application-utilities/minio.git
       path: "./chart"
       tag: "2.0.9-bb.9"
 
+    # -- Flux reconciliation overrides specifically for the Minio Package
+    flux: {}
+
     # -- Default access key to use for minio.
     accesskey: ""
 
@@ -432,6 +494,9 @@ addons:
       path: "./chart"
       tag: "4.10.3-bb.1"
 
+    # -- Flux reconciliation overrides specifically for the Gitlab Package
+    flux: {}
+
     sso:
       # -- Toggle OIDC SSO for Gitlab on and off.
       # Enabling this option will auto-create any required secrets.
@@ -500,6 +565,9 @@ addons:
       path: "./chart"
       tag: "0.26.0-bb.1"
 
+    # -- Flux reconciliation overrides specifically for the Gitlab Runner Package
+    flux: {}
+
     # -- Values to passthrough to the gitlab runner chart: https://repo1.dso.mil/platform-one/big-bang/apps/developer-tools/gitlab-runner.git
     values: {}
 
@@ -511,6 +579,9 @@ addons:
       path: "./chart"
       tag: "9.2.6-bb.8"
 
+    # -- Flux reconciliation overrides specifically for the Sonarqube Package
+    flux: {}
+
     sso:
       # -- Toggle OIDC SSO for SonarQube.
       # Enabling this option will auto-create any required secrets.
@@ -568,6 +639,9 @@ addons:
       path: "./chart"
       tag: 1.1.2-bb.0
 
+    # -- Flux reconciliation overrides specifically for the HAProxy Package
+    flux: {}
+
     # -- Values to passthrough to the haproxy chart: https://repo1.dso.mil/platform-one/big-bang/apps/sandbox/haproxy.git
     values: {}
 
@@ -582,6 +656,11 @@ addons:
       path: "./chart"
       tag: "1.12.7-bb.2"
 
+    # -- Flux reconciliation overrides specifically for the Anchore Package
+    flux:
+      upgrade:
+        disableWait: true
+
     # -- Initial admin password used to authenticate to Anchore.
     adminPassword: ""
 
@@ -656,6 +735,9 @@ addons:
       path: "./chart"
       tag: "1.13.0-bb.2"
 
+    # -- Flux reconciliation overrides specifically for the Mattermost Operator Package
+    flux: {}
+
     # -- Values to passthrough to the mattermost operator chart: https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost-operator/-/blob/main/chart/values.yaml
     values: {}
 
@@ -670,6 +752,9 @@ addons:
       path: "./chart"
       tag: "0.1.4-bb.0"
 
+    # -- Flux reconciliation overrides specifically for the Mattermost Package
+    flux: {}
+
     # -- Mattermost Enterprise functionality.
     enterprise:
       # -- Toggle the Mattermost Enterprise.  This must be accompanied by a valid license unless you plan to start a trial post-install.
@@ -762,6 +847,9 @@ addons:
       path: "./chart"
       tag: "2.14.8-bb.0"
 
+    # -- Flux reconciliation overrides specifically for the Velero Package
+    flux: {}
+
     # -- Values to passthrough to the Velero chart: https://repo1.dso.mil/platform-one/big-bang/apps/cluster-utilities/velero/-/blob/main/chart/values.yaml
     values:
       # Requires at least one plugin installed. Current supported values: aws, azure
-- 
GitLab