diff --git a/src/k8s/base/deployment.yml b/src/k8s/base/deployment.yml
index 007fa6a7c521bfa0c0754f4ceb1083331df3658e..3906387632e7308a192f6853643d5580d5aa6dbd 100644
--- a/src/k8s/base/deployment.yml
+++ b/src/k8s/base/deployment.yml
@@ -43,6 +43,10 @@ spec:
               value: "true"
             - name: SPRING_FLYWAY_BASELINE_VERSION
               value: "0"
+            - name: MANAGEMENT_SERVER_PORT
+              value: "8081"
+            - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE
+              value: health,info,prometheus
       nodeSelector:
         caascad.io/nodepool: "pod-tac"
       imagePullSecrets:
diff --git a/src/k8s/base/kustomization.yml b/src/k8s/base/kustomization.yml
index 5ce7e78e9ff6363397ff5b6832c6c94754a2fffb..d2a9563df68bcc9ed2730c82bcfc6d24073b6c88 100644
--- a/src/k8s/base/kustomization.yml
+++ b/src/k8s/base/kustomization.yml
@@ -6,3 +6,4 @@ resources:
   - service.yml
   - role.yml
   - rolebinding.yml
+  - serviceMonitor.yml
diff --git a/src/k8s/base/service.yml b/src/k8s/base/service.yml
index c836f150ab037f0b6a68ffcd79d635782d6392b3..b0131f2b722d6dbc2865453bb203453523c5701c 100644
--- a/src/k8s/base/service.yml
+++ b/src/k8s/base/service.yml
@@ -4,10 +4,16 @@ metadata:
   labels:
     app: submission-code
   name: submission-code-server-service
+  namespace: submission-code
 spec:
-  type: NodePort
   selector:
     app: submission-code-server
   ports:
-    - port: 80
+    - name: http
+      port: 80
       targetPort: 8080
+      protocol: TCP
+    - name: management
+      port: 8081
+      targetPort: 8081
+      protocol: TCP
diff --git a/src/k8s/base/serviceMonitor.yml b/src/k8s/base/serviceMonitor.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4bfbd362ec9c715931873dbaf5ca5e7dab1dfbb7
--- /dev/null
+++ b/src/k8s/base/serviceMonitor.yml
@@ -0,0 +1,21 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  name: submission-code-monitor-prometheus
+  namespace: submission-code
+  labels:
+    caascad.com/prometheus-monitor: "caascad"
+spec:
+  endpoints:
+    - interval: 5s
+      port: management # Service port name (and not number)
+      path: /actuator/prometheus
+      relabelings:
+        - replacement: app
+          targetLabel: caascad_com_prometheus_monitor_scope
+      namespaceSelector:
+        matchNames:
+          - "submission-code"
+  selector: # Select by labels which service are scraped
+    matchLabels:
+      app: submission-code