apiVersion: apps/v1 kind: Deployment metadata: {name: conversation, namespace: enkly, labels: {app: conversation}} spec: replicas: 1 selector: {matchLabels: {app: conversation}} template: metadata: {labels: {app: conversation}} spec: imagePullSecrets: [{name: enkly-registry}] initContainers: - name: wait-for-rabbitmq image: busybox:1.36 command: ["sh", "-c", "until nc -z rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done"] containers: - name: conversation image: registry.enkly.org/enkly/conversation:latest ports: [{name: grpc, containerPort: 9003}] envFrom: [{configMapRef: {name: enkly-config}}] env: - name: POSTGRES_PASSWORD valueFrom: {secretKeyRef: {name: enkly-secrets, key: POSTGRES_PASSWORD}} - {name: ENKLY_CONVERSATION_POSTGRES_DSN, value: "postgres://enkly:$(POSTGRES_PASSWORD)@conversation-db:5432/enkly_conversation?sslmode=disable"} - name: ENKLY_RABBITMQ_URL valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_RABBITMQ_URL}} resources: requests: {cpu: 50m, memory: 64Mi} limits: {cpu: 500m, memory: 256Mi} readinessProbe: {grpc: {port: 9003}, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 10} livenessProbe: {grpc: {port: 9003}, initialDelaySeconds: 15, periodSeconds: 20, failureThreshold: 6} --- apiVersion: v1 kind: Service metadata: {name: conversation, namespace: enkly, labels: {app: conversation}} spec: selector: {app: conversation} ports: [{name: grpc, port: 9003, targetPort: grpc}]