diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bd2d2aa103875f2261400324899cb69bded1688f..e775b59171a7f11da730856722f5b41629fbecf0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,6 +30,8 @@
   - kubectl wait --for=condition=Ready --timeout 300s helmrelease -n bigbang fluent-bit
   - kubectl wait --for=condition=Ready --timeout 300s helmrelease -n bigbang twistlock
   - kubectl wait --for=condition=Ready --timeout 300s helmrelease -n bigbang cluster-auditor
+  # Enable this after we merge in
+  # - kubectl wait --for=condition=Ready --timeout 300s helmrelease -n bigbang argocd
   - kubectl wait --for=condition=Ready --timeout 30s kustomizations.kustomize.toolkit.fluxcd.io -n bigbang secrets
 
 .do_some_quick_tests: &do_some_quick_tests
@@ -75,7 +77,7 @@ fresh install:
   script:
     - echo "Install Big Bang From Current Branch"
     # Install Big Bang From Current Branch
-    - helm upgrade -i bigbang chart -n bigbang --create-namespace --set registryCredentials.username='robot$bigbang' --set registryCredentials.password=${REGISTRY1_PASSWORD}
+    - helm upgrade -i bigbang chart -n bigbang --create-namespace --set registryCredentials.username='robot$bigbang' --set registryCredentials.password=${REGISTRY1_PASSWORD} --set addons.argocd.enabled=true
     - kubectl apply -f examples/complete/envs/dev/source-secrets.yaml
     - *wait_for_healthy
     - *do_some_quick_tests
diff --git a/chart/templates/argocd/argocd-helmrelease.yaml b/chart/templates/argocd/argocd-helmrelease.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..294a01ad3e63edce9ce0d2f0e5b2812db7ada313
--- /dev/null
+++ b/chart/templates/argocd/argocd-helmrelease.yaml
@@ -0,0 +1,54 @@
+{{- if .Values.addons.argocd.enabled }}
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: argocd
+  namespace: {{ .Release.Namespace }}
+spec:
+  targetNamespace: argocd
+  chart:
+    spec:
+      chart: chart
+      interval: 5m
+      sourceRef:
+        kind: GitRepository
+        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 }}
+
+  valuesFrom:
+    - name: values
+      kind: Secret
+      valuesKey: "argocd.yaml"
+  values:
+    createNamespace: false
+    imagePullSecrets:
+      - name: private-registry
+  {{- if or .Values.monitoring.enabled .Values.istio.enabled }}
+  dependsOn:
+  {{- if .Values.istio.enabled }}
+  - name: istio
+    namespace: {{ .Release.Namespace}}
+  {{- end}}
+  {{- if .Values.monitoring.enabled }}
+  - name: monitoring
+    namespace: {{ .Release.Namespace }}
+  {{- end }}
+  {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/chart/templates/argocd/gitrepository.yaml b/chart/templates/argocd/gitrepository.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ce49c168b363088b29e1020fe7e7675e444d997e
--- /dev/null
+++ b/chart/templates/argocd/gitrepository.yaml
@@ -0,0 +1,17 @@
+{{- if .Values.addons.argocd.enabled  }}
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: argocd
+  namespace: {{ .Release.Namespace }}
+spec:
+  ignore: |
+    # exclude file extensions
+    /**/*.md
+    /**/*.txt
+    /**/*.sh
+  interval: {{ .Values.flux.interval }}
+  url: {{ .Values.addons.argocd.git.repo }}
+  ref:
+    {{- include "validRef" .Values.addons.argocd.git | nindent 4 }}
+{{- end }}
diff --git a/chart/templates/argocd/namespace.yaml b/chart/templates/argocd/namespace.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f267596ebf537f72f62cff7001c8e0a6c507029a
--- /dev/null
+++ b/chart/templates/argocd/namespace.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.addons.argocd.enabled }}
+apiVersion: v1
+kind: Namespace
+metadata:
+  labels:
+    app: {{ .Release.Name }}-argocd
+  name: argocd
+
+---
+{{- if and (ne .Values.registryCredentials.username "") (ne .Values.registryCredentials.password "") }}
+apiVersion: v1
+kind: Secret
+metadata:
+  name: private-registry
+  namespace: argocd
+type: kubernetes.io/dockerconfigjson
+data:
+  .dockerconfigjson: {{ template "imagePullSecret" . }}
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/chart/templates/values.yaml b/chart/templates/values.yaml
index b34d7b46a7760326e7e0155b754ae94d245e8934..098ca60cca75c1e610ddc9775d443c51839c4c4f 100644
--- a/chart/templates/values.yaml
+++ b/chart/templates/values.yaml
@@ -7,6 +7,8 @@ type: generic
 stringData:
   values.yaml: |
 {{ toYaml .Values | indent 4}}
+  argocd.yaml: |
+{{ toYaml .Values.addons.argocd.values | indent 4 }}
   istio.yaml: |
 {{ toYaml .Values.istio.values | indent 4  }}
   gatekeeper.yaml: |
diff --git a/chart/values.yaml b/chart/values.yaml
index 83d9b2bb7364f948cdc1d211e0f63c974310da08..864155a938d58d196275cb96da4abb47d5b42c91 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -75,3 +75,11 @@ twistlock:
 #    commit: ""
 #    tag: ""
   values: {}
+
+addons:
+  argocd:
+    enabled: false
+    git:
+      repo: https://repo1.dsop.io/platform-one/big-bang/apps/core/argocd.git
+      branch: chart-release
+    values: {}