apiVersion: apps/v1 kind: Deployment metadata: {name: billing, namespace: enkly, labels: {app: billing}} spec: replicas: 1 selector: {matchLabels: {app: billing}} template: metadata: {labels: {app: billing}} 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: billing image: registry.enkly.org/enkly/billing:latest ports: [{name: grpc, containerPort: 9002}] envFrom: [{configMapRef: {name: enkly-config}}] env: - name: POSTGRES_PASSWORD valueFrom: {secretKeyRef: {name: enkly-secrets, key: POSTGRES_PASSWORD}} - {name: ENKLY_BILLING_POSTGRES_DSN, value: "postgres://enkly:$(POSTGRES_PASSWORD)@billing-db:5432/enkly_billing?sslmode=disable"} - name: ENKLY_RABBITMQ_URL valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_RABBITMQ_URL}} - name: STRIPE_SECRET_KEY valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_SECRET_KEY}} - name: STRIPE_PUBLISH_KEY valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_PUBLISH_KEY}} - name: STRIPE_WEBHOOK_SECRET valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_WEBHOOK_SECRET}} - name: STRIPE_PRICE_BASIC valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_PRICE_BASIC}} - name: STRIPE_PRICE_PRO valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_PRICE_PRO}} - name: STRIPE_PRICE_PREMIUM valueFrom: {secretKeyRef: {name: enkly-secrets, key: STRIPE_PRICE_PREMIUM}} resources: requests: {cpu: 50m, memory: 64Mi} limits: {cpu: 500m, memory: 256Mi} readinessProbe: {grpc: {port: 9002}, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 10} livenessProbe: {grpc: {port: 9002}, initialDelaySeconds: 15, periodSeconds: 20, failureThreshold: 6} --- apiVersion: v1 kind: Service metadata: {name: billing, namespace: enkly, labels: {app: billing}} spec: selector: {app: billing} ports: [{name: grpc, port: 9002, targetPort: grpc}]