154 lines
4 KiB
YAML
154 lines
4 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: directus
|
|
namespace: directus
|
|
labels:
|
|
app: directus
|
|
component: app
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app: directus
|
|
component: app
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: directus
|
|
component: app
|
|
spec:
|
|
initContainers:
|
|
- name: wait-for-postgres
|
|
image: postgres:16-alpine
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
until pg_isready -h directus-postgres -U directus; do
|
|
echo "Waiting for PostgreSQL..."
|
|
sleep 2
|
|
done
|
|
securityContext:
|
|
fsGroup: 1000
|
|
containers:
|
|
- name: directus
|
|
image: directus/directus:12.3.0
|
|
ports:
|
|
- name: http
|
|
containerPort: 8055
|
|
env:
|
|
- name: DB_CLIENT
|
|
value: pg
|
|
- name: DB_HOST
|
|
value: directus-postgres
|
|
- name: DB_PORT
|
|
value: "5432"
|
|
- name: DB_DATABASE
|
|
value: directus
|
|
- name: DB_USER
|
|
value: directus
|
|
- name: DB_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-db-credentials
|
|
key: postgres-password
|
|
- name: KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-app-secrets
|
|
key: key
|
|
- name: SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-app-secrets
|
|
key: secret
|
|
- name: ADMIN_EMAIL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-admin-credentials
|
|
key: admin-email
|
|
- name: ADMIN_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-admin-credentials
|
|
key: admin-password
|
|
- name: LICENSE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-license
|
|
key: license-key
|
|
- name: PUBLIC_URL
|
|
value: https://directus.basicstack.de
|
|
- name: AUTH_PROVIDERS
|
|
value: openid
|
|
- name: AUTH_OPENID_DRIVER
|
|
value: openid
|
|
- name: AUTH_OPENID_CLIENT_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-oidc-secret
|
|
key: client-id
|
|
- name: AUTH_OPENID_CLIENT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-oidc-secret
|
|
key: client-secret
|
|
- name: AUTH_OPENID_ISSUER_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: directus-oidc-secret
|
|
key: issuer-url
|
|
- name: AUTH_OPENID_IDENTIFIER_KEY
|
|
value: email
|
|
- name: AUTH_OPENID_ALLOW_PUBLIC_REGISTRATION
|
|
value: "true"
|
|
- name: AUTH_OPENID_DEFAULT_ROLE_ID
|
|
value: ""
|
|
- name: AUTH_OPENID_ICON
|
|
value: account_circle
|
|
- name: AUTH_OPENID_LABEL
|
|
value: SSO Login
|
|
- name: AUTH_OPENID_SCOPE
|
|
value: openid email profile
|
|
- name: CORS_ENABLED
|
|
value: "true"
|
|
- name: CORS_ORIGIN
|
|
value: "true"
|
|
- name: CACHE_ENABLED
|
|
value: "false"
|
|
- name: RATE_LIMITER_ENABLED
|
|
value: "true"
|
|
- name: RATE_LIMITER_POINTS
|
|
value: "50"
|
|
- name: RATE_LIMITER_DURATION
|
|
value: "1"
|
|
resources:
|
|
requests:
|
|
cpu: 250m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 2Gi
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: 8055
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: 8055
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 5
|
|
timeoutSeconds: 3
|
|
volumeMounts:
|
|
- name: uploads
|
|
mountPath: /directus/uploads
|
|
volumes:
|
|
- name: uploads
|
|
persistentVolumeClaim:
|
|
claimName: directus-uploads
|