apiVersion: v1 kind: Service metadata: name: keycloak labels: app: keycloak spec: ports: - name: http port: 80 targetPort: 8080 selector: app: keycloak type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: name: keycloak labels: app: keycloak spec: replicas: 1 selector: matchLabels: app: keycloak template: metadata: labels: app: keycloak spec: securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: keycloak image: quay.io/keycloak/keycloak:21.1.1 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL args: ["start"] env: - name: KC_PROXY value: "edge" - name: KC_HEALTH_ENABLED value: "true" ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /health/ready port: 8080 initialDelaySeconds: 60 livenessProbe: httpGet: path: /health/live port: 8080 initialDelaySeconds: 60