From 638cd8db87280b1c2128ee1b5b7b4d7f85429347 Mon Sep 17 00:00:00 2001
From: villersk <karl.villers@ut.ee>
Date: Wed, 26 Mar 2025 15:27:12 +0200
Subject: [PATCH] Added depolyment

---
 .gitlab-ci.yml         | 13 ++++++++
 deploy/deployment.yaml | 72 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 deploy/deployment.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..52fff6c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,13 @@
+stages:
+- build
+- deploy
+
+
+variables:
+  KANIKO_BUILD_ARGS: "--destination $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:latest"
+
+
+include:
+- remote: "https://gitlab.hpc.ut.ee/templates/gitlab-actions/-/raw/main/.gitlab-ci-kaniko-build.yml"
+- remote: "https://gitlab.hpc.ut.ee/templates/gitlab-actions/-/raw/main/.gitlab-ci-kubectl-deploy.yml"
+
diff --git a/deploy/deployment.yaml b/deploy/deployment.yaml
new file mode 100644
index 0000000..ca1f26f
--- /dev/null
+++ b/deploy/deployment.yaml
@@ -0,0 +1,72 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: ${CI_PROJECT_NAME}-pod-deployment
+  namespace: pheweb-gi-ut-ee
+spec:
+  replicas: 3
+  selector:
+    matchLabels:
+      app: ${CI_PROJECT_NAME}-app
+  template:
+    metadata:
+      labels:
+        app: ${CI_PROJECT_NAME}-app
+        version: ${CI_COMMIT_SHA}
+    spec:
+      containers:
+      - name: my-container
+        image: ${CI_REGISTRY}/${CI_PROJECT_PATH}/${CI_COMMIT_BRANCH}:${CI_COMMIT_SHA}
+        ports:
+        - containerPort: 5000
+        imagePullPolicy: Always
+        volumeMounts:
+        - name: pheweb-nfs
+          mountPath: /data
+      volumes:
+      - name: pheweb-nfs
+        persistentVolumeClaim:
+          claimName: pheweb-nfs-claim
+      imagePullSecrets:
+      - name: pheweb
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: ${CI_PROJECT_NAME}-service
+  namespace: pheweb-gi-ut-ee
+spec:
+  ports:
+  - port: 80
+    targetPort: 5000
+    protocol: TCP
+  selector:
+    app: ${CI_PROJECT_NAME}-app
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: ${CI_PROJECT_NAME}-ingress
+  namespace: pheweb-gi-ut-ee
+  annotations:
+    cert-manager.io/cluster-issuer: vault-hpc-issuer
+    nginx.ingress.kubernetes.io/proxy-buffer-size: "512k"
+    nginx.ingress.kubernetes.io/proxy-buffers-number: "8"
+    nginx.ingress.kubernetes.io/affinity: "cookie"
+    nginx.ingress.kubernetes.io/session-cookie-name: "route"
+spec:
+  rules:
+  - host: "pheweb.gi.ut.ee"
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: ${CI_PROJECT_NAME}-service
+            port:
+              number: 80
+  tls:
+  - hosts:
+    - pheweb.gi.ut.ee
+    secretName: pheweb.gi.ut.ee
\ No newline at end of file
-- 
GitLab