From be51e634d8e0a3a31c54f0823270ef4d66a158b1 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Fri, 6 Feb 2026 17:25:41 +0000 Subject: [PATCH] backend files --- base/backend/configmap.yaml | 7 +++ base/backend/deployment.yaml | 85 +++++++++++++++++++++++++++++++++ base/backend/kustomization.yaml | 10 ++++ base/backend/service.yaml | 15 ++++++ 4 files changed, 117 insertions(+) create mode 100644 base/backend/configmap.yaml create mode 100644 base/backend/deployment.yaml create mode 100644 base/backend/kustomization.yaml create mode 100644 base/backend/service.yaml diff --git a/base/backend/configmap.yaml b/base/backend/configmap.yaml new file mode 100644 index 0000000..08bec7e --- /dev/null +++ b/base/backend/configmap.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: backend-config +data: + db-host: "mysql" + db-name: "inventory" diff --git a/base/backend/deployment.yaml b/base/backend/deployment.yaml new file mode 100644 index 0000000..c028116 --- /dev/null +++ b/base/backend/deployment.yaml @@ -0,0 +1,85 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + labels: + app: backend + component: api +spec: + replicas: 2 + selector: + matchLabels: + app: backend + template: + metadata: + labels: + app: backend + component: api + spec: + initContainers: + # Wait for MySQL to be ready + - name: wait-for-mysql + image: busybox:1.36 + command: + - sh + - -c + - | + until nc -z mysql 3306; do + echo "Waiting for MySQL..." + sleep 2 + done + echo "MySQL is ready!" + containers: + - name: backend + image: gitea.example.com/inventory/backend:latest # Overridden by Kustomize + ports: + - containerPort: 3000 + name: http + env: + - name: PORT + value: "3000" + - name: DB_HOST + valueFrom: + configMapKeyRef: + name: backend-config + key: db-host + - name: DB_PORT + value: "3306" + - name: DB_USER + valueFrom: + secretKeyRef: + name: mysql-secret + key: user + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: mysql-secret + key: password + - name: DB_NAME + valueFrom: + configMapKeyRef: + name: backend-config + key: db-name + resources: + requests: + memory: "128Mi" + cpu: "100m" + limits: + memory: "256Mi" + cpu: "200m" + livenessProbe: + httpGet: + path: /health + port: 3000 + initialDelaySeconds: 15 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /ready + port: 3000 + initialDelaySeconds: 5 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 2 diff --git a/base/backend/kustomization.yaml b/base/backend/kustomization.yaml new file mode 100644 index 0000000..bd820f6 --- /dev/null +++ b/base/backend/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - deployment.yaml + - service.yaml + - configmap.yaml + +commonLabels: + tier: backend diff --git a/base/backend/service.yaml b/base/backend/service.yaml new file mode 100644 index 0000000..f67ec10 --- /dev/null +++ b/base/backend/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: backend + labels: + app: backend + component: api +spec: + type: ClusterIP + ports: + - port: 3000 + targetPort: 3000 + name: http + selector: + app: backend