diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 04166446007afa58acef3431089d8a19ca0432bc..1b18fc160b2b30f4c4facbd1a1de9700196dc25f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -127,6 +127,12 @@ get_chart_mapserver:
     SUBCOMP_REPOS: "geosphere-mapserver"
     SUBCOMP_CHART_DIR: "geosphere-mapserver"
 
+get_chart_mapcache:
+  extends: .get_chart_tmpl
+  variables:
+    SUBCOMP_REPOS: "geosphere-mapcache"
+    SUBCOMP_CHART_DIR: "geosphere-mapcache"
+
 deploy_prod_rabbit:
   environment:
     name: production
@@ -241,3 +247,28 @@ deploy_mapserver:
     - if: '$kubekorner_k3s_config == ""'
       when: never
     - when: on_success
+
+deploy_mapcache:
+  environment:
+    name: production
+    url: http://geosphere.ssec.wisc.edu
+  extends: .helm_based_job
+  stage: deploy WMTS
+  script:
+    - ns=$(./helpers/get_namespace.sh)
+    - cd geosphere-mapcache/chart
+    - source geosphere-mapcache/cibuild.env
+    # copy secret kubeconfig to the mounted (pwd) directory
+    - cp $kubekorner_k3s_config .
+    - kubeconfig=$(basename $kubekorner_k3s_config)
+    - echo "Deploying version $docker_tag to cluster namespace $ns"
+    # copy extra values files to the local directory (where helm has access via docker mount)
+    - cp ../../production/values-mapcache.yaml .
+    # namespace names are the same as domain names
+    - helm upgrade -v 2 --install --kubeconfig $kubeconfig --namespace $ns -f values-mapcache.yaml geosphere-mapcache geosphere-mapcache/
+  dependencies:
+    - get_chart_mapcache
+  rules:
+    - if: '$kubekorner_k3s_config == ""'
+      when: never
+    - when: on_success
diff --git a/production/values-mapcache.yaml b/production/values-mapcache.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e9f33b3870ca52242bac94ae2a50ab2024846571
--- /dev/null
+++ b/production/values-mapcache.yaml
@@ -0,0 +1,18 @@
+rabbitIn:
+  host: "geosphere-rabbit-rabbitmq"
+  username: "user"
+  passwordSecret: "geosphere-rabbit-rabbitmq"
+  topic: "data.goes.g16.abi.*.l1b.tiles.all.complete"
+wms:
+  host: "geosphere-mapcache"
+cache:
+  persistence:
+    enabled: true
+seed:
+  images: true
+  overlays: true
+ingress:
+  enabled: true
+  hosts:
+    - host: geosphere-test.ssec.wisc.edu
+      paths: ["/mapcache"]
diff --git a/production/values-mapserver.yaml b/production/values-mapserver.yaml
index a7cd74814e71876a63f5b96205319de331d94121..3c06f10ec5fecb62d14ba88f061e6f6ec521dd87 100644
--- a/production/values-mapserver.yaml
+++ b/production/values-mapserver.yaml
@@ -2,7 +2,7 @@ rabbitIn:
   host: "geosphere-rabbit-rabbitmq"
   username: "user"
   passwordSecret: "geosphere-rabbit-rabbitmq"
-  topic: "data.goes.g16.abi.radf.l1b.geotiff.all.complete"
+  topic: "data.goes.g16.abi.*.l1b.geotiff.all.complete"
 rabbitOut:
   host: "geosphere-rabbit-rabbitmq"
   username: "user"
@@ -12,8 +12,6 @@ source:
   existingClaim: "cspp-geo-geo2grid"
 ingress:
   enabled: true
-  annotations:
-    ingress.kubernetes.io/rewrite-target: "/"
   hosts:
     - host: geosphere-test.ssec.wisc.edu
-      paths: ["/wms"]
\ No newline at end of file
+      paths: ["/wms", "/wms_times"]
\ No newline at end of file