diff --git a/base/gitrepository.yaml b/base/gitrepository.yaml
index 30a8b8ca92b845835b7665ce5951c8f71cef3d1e..8cf048d586bcaf4fa0f118c34c6db77abc271ea5 100644
--- a/base/gitrepository.yaml
+++ b/base/gitrepository.yaml
@@ -11,4 +11,4 @@ spec:
   interval: 10m
   url: https://repo1.dso.mil/platform-one/big-bang/umbrella.git
   ref:
-    tag: 1.0.7
\ No newline at end of file
+    tag: 1.0.7
diff --git a/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml b/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d5fcf9e9f1faafba0cb51b32cdcea3e1571455a2
--- /dev/null
+++ b/chart/templates/gitlab-runner/gitlabRunner-helmrelease.yaml
@@ -0,0 +1,65 @@
+{{- if .Values.addons.gitlabRunner.enabled }}
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: gitlab-runner
+  namespace: {{ .Release.Namespace }}
+spec:
+  targetNamespace: gitlab
+  releaseName: gitlab-runner
+  chart:
+    spec:
+      chart: {{ .Values.addons.gitlabRunner.git.path }}
+      interval: 5m
+      sourceRef:
+        kind: GitRepository
+        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 }}
+
+  valuesFrom:
+  - name: values
+    kind: Secret
+    valuesKey: "gitlab-runner.yaml"
+
+  values:
+    imagePullSecrets:
+    - name: private-registry
+    runners:
+      imagePullSecrets:
+      - private-registry
+    monitoring:
+      enabled: {{ .Values.monitoring.enabled }}
+
+  {{- if or .Values.gatekeeper.enabled .Values.monitoring.enabled .Values.addons.gitlab.enabled }}
+  dependsOn:
+    {{- if .Values.gatekeeper.enabled }}
+    - name: gatekeeper
+      namespace: {{ .Release.Namespace }}
+    {{- end }}
+    {{- if .Values.monitoring.enabled }}
+    - name: monitoring
+      namespace: {{ .Release.Namespace }}
+    {{- end }}
+    {{- if .Values.addons.gitlab.enabled }}
+    - name: gitlab
+      namespace: {{ .Release.Namespace }}
+    {{- end }}
+  {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/chart/templates/gitlab-runner/gitrepository.yaml b/chart/templates/gitlab-runner/gitrepository.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..366cd3dbceda1782af06d9602a0e5e2b2f9e4cc7
--- /dev/null
+++ b/chart/templates/gitlab-runner/gitrepository.yaml
@@ -0,0 +1,14 @@
+{{- if and (not .Values.offline) .Values.addons.gitlabRunner.enabled }}
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: GitRepository
+metadata:
+  name: gitlab-runner
+  namespace: {{ .Release.Namespace }}
+spec:
+  interval: {{ .Values.flux.interval }}
+  url: {{ .Values.addons.gitlabRunner.git.repo }}
+  ref:
+    {{- include "validRef" .Values.addons.gitlabRunner.git | nindent 4 }}
+  {{ include "gitIgnore" . }}
+  {{- include "gitCreds" .Values.git | nindent 2 }}
+{{- end }}
\ No newline at end of file
diff --git a/chart/templates/monitoring/monitoring-helmrelease.yaml b/chart/templates/monitoring/monitoring-helmrelease.yaml
index 11eb3f117a6454cb2a5d6bd07f4b32e7b395158c..1ce11e1b350b4dc78ecee9a00ef43867cbb3b213 100644
--- a/chart/templates/monitoring/monitoring-helmrelease.yaml
+++ b/chart/templates/monitoring/monitoring-helmrelease.yaml
@@ -79,7 +79,6 @@ spec:
     kube-state-metrics:
       imagePullSecrets:
       - name: private-registry
-
 {{- if .Values.monitoring.sso.enabled }}
     ingress:
       prometheus:
diff --git a/chart/templates/values.yaml b/chart/templates/values.yaml
index d4bcf2c949da22f22161f75ec071fdc3b829e90d..9e977626f190d3ef6f4c6c06af3648cd986cece1 100644
--- a/chart/templates/values.yaml
+++ b/chart/templates/values.yaml
@@ -31,6 +31,8 @@ stringData:
 {{ toYaml .Values.istio.values | indent 4  }}
   gatekeeper.yaml: |
 {{ toYaml .Values.gatekeeper.values | indent 4 }}
+  gitlab-runner.yaml: |
+{{ toYaml .Values.addons.gitlabRunner.values | indent 4 }}
   fluentbit.yaml: |
 {{ toYaml .Values.fluentbit.values | indent 4 }}
   eckoperator.yaml: |
diff --git a/chart/values.yaml b/chart/values.yaml
index 21727d16fe46a99def4f575cc92e98cad8e16286..1f8492b525635938100d7c1074cb189bad37d1c5 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -249,6 +249,14 @@ addons:
       bucketPrefix: "" # optional. example: "prod"
     values: {}
 
+  gitlabRunner:
+    enabled: false
+    git:
+      repo: https://repo1.dso.mil/platform-one/big-bang/apps/developer-tools/gitlab-runner.git
+      path: "./chart"
+      tag: "0.19.2-bb.2"
+    values: {}
+
   haproxy:
     enabled: false
     git: