apiVersion: v1 kind: Service metadata: name: evrak-backend namespace: default spec: selector: app: evrak-backend ports: - protocol: TCP port: 80 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: evrak-backend namespace: default spec: replicas: 1 selector: matchLabels: app: evrak-backend template: metadata: labels: app: evrak-backend spec: containers: - name: backend image: git.konstantiniyye.studio/muhammed/evrak/backend:latest ports: - containerPort: 3000 env: - name: DB_HOST value: "postgres-service" # Assuming a postgres service exists or will be created - name: DB_PORT value: "5432" - name: DB_USERNAME valueFrom: secretKeyRef: name: evrak-db-secrets key: username - name: DB_PASSWORD valueFrom: secretKeyRef: name: evrak-db-secrets key: password - name: DB_DATABASE value: "evrak" --- apiVersion: v1 kind: Service metadata: name: evrak-frontend namespace: default spec: selector: app: evrak-frontend ports: - protocol: TCP port: 80 targetPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: evrak-frontend namespace: default spec: replicas: 1 selector: matchLabels: app: evrak-frontend template: metadata: labels: app: evrak-frontend spec: containers: - name: frontend image: git.konstantiniyye.studio/muhammed/evrak/frontend:latest ports: - containerPort: 80 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: evrak-ingress namespace: default annotations: kubernetes.io/ingress.class: traefik # Assuming Traefik is used in K3s spec: rules: - host: evrak.konstantiniyye.studio http: paths: - path: /api pathType: Prefix backend: service: name: evrak-backend port: number: 80 - path: / pathType: Prefix backend: service: name: evrak-frontend port: number: 80