From 892436e41ba2ce8ebd618fc294c396dc54c38b64 Mon Sep 17 00:00:00 2001 From: Rido Akbar Ibrahim Date: Thu, 6 Jan 2022 19:19:11 +0700 Subject: [PATCH] add deployment --- k8s/production/deployment.yaml | 33 +++++++++++++++++++++++++ k8s/production/ingress.yaml | 24 ++++++++++++++++++ k8s/production/namespace.yaml | 4 +++ k8s/production/pvc.yaml | 13 ++++++++++ k8s/production/secret.example copy.yaml | 16 ++++++++++++ k8s/production/service.yaml | 13 ++++++++++ 6 files changed, 103 insertions(+) create mode 100644 k8s/production/deployment.yaml create mode 100644 k8s/production/ingress.yaml create mode 100644 k8s/production/namespace.yaml create mode 100644 k8s/production/pvc.yaml create mode 100644 k8s/production/secret.example copy.yaml create mode 100644 k8s/production/service.yaml diff --git a/k8s/production/deployment.yaml b/k8s/production/deployment.yaml new file mode 100644 index 0000000..1f40d78 --- /dev/null +++ b/k8s/production/deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ppob-backend + namespace: empatnusabangsa-production +spec: + selector: + matchLabels: + app: ppob-backend + replicas: 1 + template: + metadata: + labels: + app: ppob-backend + spec: + containers: + - name: ppob-backend + image: registry-harbor.app.bangun-kreatif.com/empatnusabangsa/ppob-backend: + ports: + - containerPort: 5000 + envFrom: + - secretRef: + name: ppob-backend-env + volumeMounts: + - name: storage + mountPath: /home/node/files + volumes: + - name: storage + persistentVolumeClaim: + claimName: ppob-backend-pvc + imagePullSecrets: + - name: regcred + diff --git a/k8s/production/ingress.yaml b/k8s/production/ingress.yaml new file mode 100644 index 0000000..dcd95d9 --- /dev/null +++ b/k8s/production/ingress.yaml @@ -0,0 +1,24 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ppob-backend + namespace: empatnusabangsa-production + annotations: + kubernetes.io/ingress.class: "traefik" + cert-manager.io/cluster-issuer: letsencrypt-prod +spec: + rules: + - host: "ppob-backend.k3s.bangun-kreatif.com" + http: + paths: + - pathType: Prefix + path: / + backend: + service: + name: ppob-backend + port: + number: 5000 + tls: + - hosts: + - "ppob-backend.k3s.bangun-kreatif.com" + secretName: ppob-backend-k3s-bangun-kreatif-com-tls diff --git a/k8s/production/namespace.yaml b/k8s/production/namespace.yaml new file mode 100644 index 0000000..823e09a --- /dev/null +++ b/k8s/production/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: empatnusabangsa-production diff --git a/k8s/production/pvc.yaml b/k8s/production/pvc.yaml new file mode 100644 index 0000000..a67098a --- /dev/null +++ b/k8s/production/pvc.yaml @@ -0,0 +1,13 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: ppob-backend-pvc + namespace : empatnusabangsa-production + annotations: + volume.beta.kubernetes.io/storage-class: "managed-nfs-storage" +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 10Gi diff --git a/k8s/production/secret.example copy.yaml b/k8s/production/secret.example copy.yaml new file mode 100644 index 0000000..519f171 --- /dev/null +++ b/k8s/production/secret.example copy.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: + name: ppob-backend-env + namespace: empatnusabangsa-production +type: Opaque +stringData: + PORT: + SECRET: + + DATABASE_HOST: + DATABASE_NAME: + DATABASE_USERNAME: + DATABASE_PASSWORD: + DATABASE_PORT: + DATABASE_CLIENT: diff --git a/k8s/production/service.yaml b/k8s/production/service.yaml new file mode 100644 index 0000000..e583ffa --- /dev/null +++ b/k8s/production/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: ppob-backend + namespace: empatnusabangsa-production + labels: + run: ppob-backend +spec: + ports: + - port: 5000 + protocol: TCP + selector: + app: ppob-backend