# 1. ACCOUNT SERVICE apiVersion: apps/v1 kind: Deployment metadata: name: account-deploy spec: replicas: 1 selector: matchLabels: app: account template: metadata: labels: app: account spec: containers: - name: account-pod image: git.demonkernel.io.vn/foodsurf/account-service:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: - name: QUARKUS_REDIS_HOST value: "redis-service" - name: QUARKUS_DATASOURCE_PASSWORD valueFrom: secretKeyRef: name: postgres-credentials key: password - name: QUARKUS_DATASOURCE_USERNAME valueFrom: secretKeyRef: name: postgres-credentials key: username - name: QUARKUS_DATASOURCE_JDBC_URL valueFrom: secretKeyRef: name: postgres-credentials key: url resources: limits: cpu: "500m" memory: "512Mi" requests: cpu: "100m" memory: "256Mi" volumeMounts: - name: keys-volume mountPath: "/etc/keys" readOnly: true volumes: - name: keys-volume secret: secretName: jwt-keys --- apiVersion: v1 kind: Service metadata: name: account-service spec: selector: app: account ports: - port: 80 targetPort: 8080 --- # 2. GATEWAY SERVICE apiVersion: apps/v1 kind: Deployment metadata: name: gateway-deploy spec: replicas: 1 selector: matchLabels: app: gateway template: metadata: labels: app: gateway spec: containers: - name: gateway-pod image: git.demonkernel.io.vn/foodsurf/gateway-service:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: - name: QUARKUS_REST_CLIENT_ACCOUNT_URL value: "http://account-service" resources: limits: cpu: "500m" memory: "512Mi" requests: cpu: "100m" memory: "256Mi" volumeMounts: - name: keys-volume mountPath: "/etc/keys" readOnly: true volumes: - name: keys-volume secret: secretName: jwt-keys --- apiVersion: v1 kind: Service metadata: name: gateway-service spec: type: NodePort selector: app: gateway ports: - port: 80 targetPort: 8080 nodePort: 32080 --- # 3. REDIS apiVersion: apps/v1 kind: Deployment metadata: name: redis-deploy spec: selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis-pod image: redis:alpine ports: - containerPort: 6379 resources: limits: cpu: "100m" memory: "128Mi" requests: cpu: "20m" memory: "64Mi" command: [ "redis-server", "--maxmemory", "96mb", "--maxmemory-policy", "allkeys-lru", ] --- apiVersion: v1 kind: Service metadata: name: redis-service spec: selector: app: redis ports: - port: 6379