apiVersion: apps/v1 kind: Deployment metadata: name: keycloak namespace: keycloak labels: app.kubernetes.io/name: keycloak app.kubernetes.io/component: idp app.kubernetes.io/part-of: keycloak spec: replicas: 1 selector: matchLabels: app: keycloak template: metadata: labels: app: keycloak app.kubernetes.io/name: keycloak app.kubernetes.io/component: idp app.kubernetes.io/part-of: keycloak spec: containers: - name: keycloak image: quay.io/keycloak/keycloak:26.6.0 args: - "start" - "--import-realm" ports: - name: http containerPort: 8080 - name: https containerPort: 8443 - name: management containerPort: 9000 env: - name: KC_DB value: "postgres" - name: KC_DB_URL_HOST value: "keycloak-postgresql" - name: KC_DB_URL_PORT value: "5432" - name: KC_DB_URL_DATABASE valueFrom: secretKeyRef: name: keycloak-secrets key: POSTGRES_DB - name: KC_DB_USERNAME valueFrom: secretKeyRef: name: keycloak-secrets key: KC_DB_USERNAME - name: KC_DB_PASSWORD valueFrom: secretKeyRef: name: keycloak-secrets key: KC_DB_PASSWORD - name: KC_BOOTSTRAP_ADMIN_USERNAME valueFrom: secretKeyRef: name: keycloak-secrets key: KC_BOOTSTRAP_ADMIN_USERNAME - name: KC_BOOTSTRAP_ADMIN_PASSWORD valueFrom: secretKeyRef: name: keycloak-secrets key: KC_BOOTSTRAP_ADMIN_PASSWORD - name: KEYCLOAK_ADMIN valueFrom: secretKeyRef: name: keycloak-secrets key: KEYCLOAK_ADMIN - name: KEYCLOAK_ADMIN_PASSWORD valueFrom: secretKeyRef: name: keycloak-secrets key: KEYCLOAK_ADMIN_PASSWORD - name: KC_HTTP_ENABLED value: "true" - name: KC_PROXY_HEADERS value: "xforwarded" - name: KC_HOSTNAME value: "https://keycloak.sttlab.local" - name: KC_HOSTNAME_STRICT value: "false" - name: KC_HOSTNAME_BACKCHANNEL_DYNAMIC value: "false" - name: KC_FEATURES value: "token-exchange,admin-fine-grained-authz" - name: KC_HEALTH_ENABLED value: "true" - name: KC_METRICS_ENABLED value: "true" readinessProbe: httpGet: path: /health/ready port: 9000 initialDelaySeconds: 15 periodSeconds: 10 failureThreshold: 5 livenessProbe: httpGet: path: /health/live port: 9000 initialDelaySeconds: 30 periodSeconds: 15 failureThreshold: 5 resources: requests: cpu: 500m memory: 1024Mi limits: cpu: 2000m memory: 2048Mi volumeMounts: - name: realm-import mountPath: /opt/keycloak/data/import readOnly: true volumes: - name: realm-import configMap: name: keycloak-realm-classic-models