From 487e48401371436b6b8595fc89271ef33f6192fe Mon Sep 17 00:00:00 2001
From: Jamalac Orange <14492-x-JaOrang@users.noreply.gitlab.inria.fr>
Date: Wed, 11 Jan 2023 17:49:58 +0100
Subject: [PATCH] feat(k8s): add horizontalPodAutoscaler

---
 src/k8s/base/deployment.yml              |  7 +++++++
 src/k8s/base/horizontalPodAutoscaler.yml | 18 ++++++++++++++++++
 src/k8s/base/kustomization.yml           |  1 +
 3 files changed, 26 insertions(+)
 create mode 100644 src/k8s/base/horizontalPodAutoscaler.yml

diff --git a/src/k8s/base/deployment.yml b/src/k8s/base/deployment.yml
index f918c46a..e8332f2b 100644
--- a/src/k8s/base/deployment.yml
+++ b/src/k8s/base/deployment.yml
@@ -34,6 +34,13 @@ spec:
                 secretKeyRef:
                   name: submission-secrets
                   key: SPRING_DATASOURCE_PASSWORD
+          resources:
+            limits:
+              cpu: "2"
+              memory: 2Gi
+            requests:
+              cpu: "1"
+              memory: 750Mi
       containers:
         - name: submission-app
           image: submission-image
diff --git a/src/k8s/base/horizontalPodAutoscaler.yml b/src/k8s/base/horizontalPodAutoscaler.yml
new file mode 100644
index 00000000..9bc5b466
--- /dev/null
+++ b/src/k8s/base/horizontalPodAutoscaler.yml
@@ -0,0 +1,18 @@
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+  name: submission-code-hpa
+  labels:
+    app: submission-code
+spec:
+  maxReplicas: 2
+  minReplicas: 1
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: submission-code-server-deployment
+  metrics:
+    - type: Resource
+      resource:
+        name: cpu
+        targetAverageUtilization: 50
diff --git a/src/k8s/base/kustomization.yml b/src/k8s/base/kustomization.yml
index d2a9563d..618c8f03 100644
--- a/src/k8s/base/kustomization.yml
+++ b/src/k8s/base/kustomization.yml
@@ -7,3 +7,4 @@ resources:
   - role.yml
   - rolebinding.yml
   - serviceMonitor.yml
+  - horizontalPodAutoscaler.yml
-- 
GitLab