From f3e05b4554cce4f24180b533b9d8fe195f4fc9ea Mon Sep 17 00:00:00 2001
From: Ernest Chuang <echuang@revacomm.com>
Date: Mon, 27 Mar 2023 16:09:03 +0000
Subject: [PATCH] Resolve "Change wrapper to an "opt-in" (off by default)"

---
 chart/templates/wrapper/helmrelease.yaml           |  2 +-
 chart/templates/wrapper/values.yaml                |  2 +-
 .../extra-package-deployment.md                    | 14 +++++++++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/chart/templates/wrapper/helmrelease.yaml b/chart/templates/wrapper/helmrelease.yaml
index d8c98cbe64..b0ac7a7b2e 100644
--- a/chart/templates/wrapper/helmrelease.yaml
+++ b/chart/templates/wrapper/helmrelease.yaml
@@ -1,6 +1,6 @@
 {{- /* Used for Helm chart deployment of Big Bang wrapper.  One per package. */ -}}
 {{- range $pkg, $vals := .Values.packages -}}
-{{- if (dig "enabled" true $vals) -}}
+{{- if and (dig "enabled" true $vals) (dig "wrapper" "enabled" false $vals) -}}
 {{- $pkg = include "resourceName" $pkg -}}
 {{- $fluxSettings := merge (dig "flux" dict $vals) $.Values.flux -}}
 apiVersion: helm.toolkit.fluxcd.io/v2beta1
diff --git a/chart/templates/wrapper/values.yaml b/chart/templates/wrapper/values.yaml
index 7662723e37..18c1f023cc 100644
--- a/chart/templates/wrapper/values.yaml
+++ b/chart/templates/wrapper/values.yaml
@@ -1,6 +1,6 @@
 {{- /* Used for creating values to use for Helm wrapper and package Helm charts. */ -}}
 {{- range $pkg, $vals := .Values.packages -}}
-{{- if (dig "enabled" true $vals) -}}
+{{- if and (dig "enabled" true $vals) (dig "wrapper" "enabled" false $vals) -}}
 {{- $pkg = include "resourceName" $pkg -}}
 apiVersion: v1
 kind: Secret
diff --git a/docs/guides/deployment-scenarios/extra-package-deployment.md b/docs/guides/deployment-scenarios/extra-package-deployment.md
index e6a549525d..e709d62809 100644
--- a/docs/guides/deployment-scenarios/extra-package-deployment.md
+++ b/docs/guides/deployment-scenarios/extra-package-deployment.md
@@ -57,11 +57,15 @@ The wrapper does not add anything additional to your deployment, unless you also
 ```yaml
 packages:
   podinfo:
+    enabled: true
+    wrapper:
+      enabled: true
     git:
       repo: https://github.com/stefanprodan/podinfo.git
       tag: 6.3.4
       path: charts/podinfo
 ```
+NOTE: The wrapper is an opt-in feature.  Without enabling the wrapper, the `packages` will default to deploying flux object for your chart, without any wrapper-added configuration.
 
 The package also has OCI support for sourcing the artifacts; usage will be encouraged with the move to 2.0 and "first-class" support for `HelmRepository` resources.
 
@@ -69,7 +73,7 @@ With these values added you should have a very basic deployment of `podinfo` add
 
 ### Basic Overrides
 
-There are some basic ovveride values provides to modify your Helm chart installation. An example of these values is included below:
+There are some basic override values provided to modify your Helm chart installation. These do NOT require the `wrapper`. An example of these values is included below:
 
 ```yaml
 packages:
@@ -102,6 +106,8 @@ packages:
       repo: https://github.com/stefanprodan/podinfo.git
       tag: 6.3.4
       path: charts/podinfo
+    wrapper:
+      enabled: true
     istio:
       hosts:
         - names:
@@ -127,6 +133,8 @@ packages:
       repo: https://github.com/stefanprodan/podinfo.git
       tag: 6.3.4
       path: charts/podinfo
+    wrapper:
+      enabled: true
     monitor:
       services:
         - spec:
@@ -149,6 +157,8 @@ packages:
       repo: https://github.com/stefanprodan/podinfo.git
       tag: 6.3.4
       path: charts/podinfo
+    wrapper:
+      enabled: true
     network:
       allowControlPlaneEgress: true
 ```
@@ -168,6 +178,8 @@ packages:
       repo: https://github.com/stefanprodan/podinfo.git
       tag: 6.3.4
       path: charts/podinfo
+    wrapper:
+      enabled: true
     configMaps:
       - name: config
         data:
-- 
GitLab