apiVersion: v1 kind: Namespace metadata: name: keycloak --- apiVersion: apps/v1 kind: Deployment metadata: name: keycloak namespace: keycloak spec: replicas: 1 selector: matchLabels: app: keycloak template: metadata: labels: app: keycloak spec: containers: - name: keycloak image: quay.io/keycloak/keycloak:26.4 args: ["start-dev", "--import-realm"] env: - name: KC_BOOTSTRAP_ADMIN_USERNAME value: admin - name: KC_BOOTSTRAP_ADMIN_PASSWORD value: admin - name: KC_HTTP_ENABLED value: "true" - name: KC_HOSTNAME value: https://keycloak.localtest.me:8443 - name: KC_HOSTNAME_BACKCHANNEL_DYNAMIC value: "true" - name: KC_PROXY_HEADERS value: xforwarded ports: - name: http containerPort: 8080 volumeMounts: - name: realm mountPath: /opt/keycloak/data/import readinessProbe: httpGet: path: /realms/spinoza port: 8080 initialDelaySeconds: 20 periodSeconds: 5 failureThreshold: 90 resources: requests: cpu: 200m memory: 512Mi volumes: - name: realm configMap: name: spinoza-realm --- apiVersion: v1 kind: Service metadata: name: keycloak namespace: keycloak spec: selector: app: keycloak ports: - name: http port: 8080 targetPort: http --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: keycloak namespace: keycloak spec: ingressClassName: nginx tls: - secretName: localtest-tls hosts: - keycloak.localtest.me rules: - host: keycloak.localtest.me http: paths: - path: / pathType: Prefix backend: service: name: keycloak port: name: http