2025-01-30 12:03:55 +01:00
|
|
|
apiVersion: apps/v1
|
|
|
|
kind: Deployment
|
|
|
|
metadata:
|
|
|
|
name: keycloak
|
|
|
|
namespace: keycloak
|
|
|
|
labels:
|
|
|
|
app: keycloak
|
|
|
|
spec:
|
|
|
|
replicas: 1
|
|
|
|
selector:
|
|
|
|
matchLabels:
|
|
|
|
app: keycloak
|
|
|
|
template:
|
|
|
|
metadata:
|
|
|
|
labels:
|
|
|
|
app: keycloak
|
|
|
|
spec:
|
2025-01-30 18:39:41 +01:00
|
|
|
initContainers:
|
|
|
|
- name: init-permissions
|
|
|
|
image: busybox
|
|
|
|
command: [ "sh", "-c", "chmod -R 777 /opt/keycloak/data/h2" ]
|
|
|
|
volumeMounts:
|
|
|
|
- mountPath: /opt/keycloak/data/h2
|
|
|
|
name: storage
|
2025-01-30 12:03:55 +01:00
|
|
|
containers:
|
|
|
|
- name: keycloak
|
|
|
|
# image: quay.io/keycloak/keycloak:23.0.1
|
|
|
|
image: quay.io/keycloak/keycloak:26.1
|
2025-01-30 17:21:42 +01:00
|
|
|
args:
|
|
|
|
- "start"
|
2025-01-30 18:17:55 +01:00
|
|
|
- "--hostname=https://keycloak.streams.sunet.se"
|
2025-01-30 18:14:05 +01:00
|
|
|
- "--hostname-admin=https://keycloak.streams.sunet.se"
|
2025-01-30 17:21:42 +01:00
|
|
|
- "--verbose"
|
2025-01-30 12:03:55 +01:00
|
|
|
env:
|
2025-01-30 16:10:28 +01:00
|
|
|
- name: KC_HTTP_ENABLED
|
|
|
|
value: "true"
|
2025-01-30 16:34:41 +01:00
|
|
|
- name: KC_HOSTNAME
|
2025-01-30 18:26:32 +01:00
|
|
|
value: "https://keycloak.streams.sunet.se"
|
2025-01-30 17:23:45 +01:00
|
|
|
- name: KC_HOSTNAME_ADMIN
|
2025-01-30 18:14:05 +01:00
|
|
|
value: "https://keycloak.streams.sunet.se"
|
2025-01-30 16:34:41 +01:00
|
|
|
- name: KC_HOSTNAME_STRICT
|
2025-01-30 17:21:42 +01:00
|
|
|
value: "false"
|
2025-01-30 17:23:45 +01:00
|
|
|
- name: KC_HOSTNAME_STRICT_HTTPS
|
|
|
|
value: "false"
|
2025-01-30 13:56:10 +01:00
|
|
|
- name: KEYCLOAK_USER
|
2025-01-30 12:03:55 +01:00
|
|
|
value: admin
|
2025-01-30 13:56:10 +01:00
|
|
|
- name: KEYCLOAK_PASSWORD
|
|
|
|
valueFrom:
|
|
|
|
secretKeyRef:
|
|
|
|
name: keycloak-admin-secret
|
|
|
|
key: password
|
|
|
|
- name: KEYCLOAK_ADMIN
|
2025-01-30 15:17:19 +01:00
|
|
|
value: "admin"
|
2025-01-30 13:56:10 +01:00
|
|
|
- name: KEYCLOAK_ADMIN_PASSWORD
|
2025-01-30 12:03:55 +01:00
|
|
|
valueFrom:
|
|
|
|
secretKeyRef:
|
|
|
|
name: keycloak-admin-secret
|
|
|
|
key: password
|
2025-01-30 15:17:19 +01:00
|
|
|
- name: KC_HEALTH_ENABLED
|
|
|
|
value: "true"
|
2025-01-30 15:44:11 +01:00
|
|
|
- name: KC_PROXY
|
|
|
|
value: "edge"
|
2025-01-30 12:03:55 +01:00
|
|
|
ports:
|
|
|
|
- name: http
|
|
|
|
containerPort: 8080
|
2025-01-30 15:44:11 +01:00
|
|
|
# - name: https
|
|
|
|
# containerPort: 8443
|
2025-01-30 16:10:28 +01:00
|
|
|
# readinessProbe:
|
|
|
|
# httpGet:
|
|
|
|
# path: /health/ready
|
|
|
|
# port: 9000
|
|
|
|
# initialDelaySeconds: 5 # Delay before the probe starts
|
|
|
|
# periodSeconds: 15
|
|
|
|
# timeoutSeconds: 3
|
|
|
|
# successThreshold: 1 # Number of successful probes to consider the pod ready
|
|
|
|
# failureThreshold: 5
|
2025-01-30 12:03:55 +01:00
|
|
|
volumeMounts:
|
2025-01-30 12:09:52 +01:00
|
|
|
- mountPath: /opt/keycloak/data/h2/
|
2025-01-30 12:03:55 +01:00
|
|
|
name: storage
|
2025-01-30 15:32:15 +01:00
|
|
|
- name: keycloak-tls-secret
|
2025-01-30 12:42:41 +01:00
|
|
|
mountPath: /etc/ssl/certs
|
|
|
|
readOnly: true
|
2025-01-30 17:53:01 +01:00
|
|
|
securityContext:
|
|
|
|
runAsUser: 1000
|
|
|
|
runAsGroup: 1000
|
2025-01-30 12:03:55 +01:00
|
|
|
volumes:
|
|
|
|
- name: storage
|
|
|
|
persistentVolumeClaim:
|
|
|
|
claimName: keycloak-pvc
|
2025-01-30 15:32:15 +01:00
|
|
|
- name: keycloak-tls-secret
|
2025-01-30 12:42:41 +01:00
|
|
|
secret:
|
|
|
|
secretName: keycloak-tls-secret
|