Files
enkly-ai/k8s/21-billing.yaml
enkly 79ce8dc4c0
Some checks failed
Go CI Pipeline / build_and_test (push) Failing after 22m0s
Init Project
2026-10-30 18:06:55 +01:00

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}]