Files
enkly-ai/k8s/20-iam.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

45 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata: {name: iam, namespace: enkly, labels: {app: iam}}
spec:
replicas: 1
selector: {matchLabels: {app: iam}}
template:
metadata: {labels: {app: iam}}
spec:
imagePullSecrets: [{name: enkly-registry}]
# Nothing in Kubernetes enforces start order between Deployments, and
# rabbitmq's own readiness probe can take a while to go green (see
# 10-rabbitmq.yaml). Without this, iam races the broker on a fresh
# rollout and can hit the same "connection refused" notification saw.
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: iam
image: registry.enkly.org/enkly/iam:latest
ports: [{name: grpc, containerPort: 9001}]
envFrom: [{configMapRef: {name: enkly-config}}]
env:
- name: POSTGRES_PASSWORD
valueFrom: {secretKeyRef: {name: enkly-secrets, key: POSTGRES_PASSWORD}}
- {name: ENKLY_IAM_POSTGRES_DSN, value: "postgres://enkly:$(POSTGRES_PASSWORD)@iam-db:5432/enkly_iam?sslmode=disable"}
- name: ENKLY_RABBITMQ_URL
valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_RABBITMQ_URL}}
- name: ENKLY_SMTP_USERNAME
valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_SMTP_USERNAME}}
- name: ENKLY_SMTP_PASSWORD
valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_SMTP_PASSWORD}}
resources:
requests: {cpu: 50m, memory: 64Mi}
limits: {cpu: 500m, memory: 256Mi}
readinessProbe: {grpc: {port: 9001}, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 10}
livenessProbe: {grpc: {port: 9001}, initialDelaySeconds: 15, periodSeconds: 20, failureThreshold: 6}
---
apiVersion: v1
kind: Service
metadata: {name: iam, namespace: enkly, labels: {app: iam}}
spec:
selector: {app: iam}
ports: [{name: grpc, port: 9001, targetPort: grpc}]