apiVersion: apps/v1 kind: Deployment metadata: name: memory-service namespace: poimen labels: app: memory-service spec: replicas: 2 selector: matchLabels: app: memory-service template: metadata: labels: app: memory-service spec: serviceAccountName: memory-service containers: - name: memory-service image: forgejo.riotpiao.com/rock/poimen-memory:latest imagePullPolicy: Always ports: - name: http containerPort: 8080 protocol: TCP # Read all config from ConfigMap envFrom: - configMapRef: name: memory-service-config # Secrets (override/add to ConfigMap) env: - name: DATABASE_URL valueFrom: secretKeyRef: name: memory-db-credentials key: connection-string - name: MEM_API_KEY valueFrom: secretKeyRef: name: memory-api-keys key: primary-key resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: httpGet: path: /health port: http initialDelaySeconds: 5 periodSeconds: 5 # ImagePullSecret for private registry imagePullSecrets: - name: registry-credentials --- apiVersion: v1 kind: Service metadata: name: memory-service namespace: poimen labels: app: memory-service spec: type: ClusterIP ports: - name: http port: 8080 targetPort: http protocol: TCP selector: app: memory-service --- apiVersion: v1 kind: ServiceAccount metadata: name: memory-service namespace: poimen