49 lines
2.3 KiB
YAML
49 lines
2.3 KiB
YAML
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}] |