Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- name: keycloak-ingress
- namespace: auth
- annotations:
- ingressClassName: "traefik"
- kubernetes.io/ingress.class: "traefik"
- cert-manager.io/cluster-issuer: letsencrypt-prod
- spec:
- tls:
- - secretName: auth-tls
- hosts:
- - auth.kuzznya.com
- rules:
- - host: auth.kuzznya.com
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: keycloak
- port:
- number: 8080
- ---
- # copy of keycloak-ingress with 'web' entrypoint and 'default-redirect' middleware to redirect http to https
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- name: keycloak-ingress-redirect
- namespace: auth
- annotations:
- traefik.ingress.kubernetes.io/router.middlewares: default-redirect@kubernetescrd
- traefik.ingress.kubernetes.io/router.entrypoints: web
- spec:
- tls:
- - secretName: auth-tls
- hosts:
- - auth.kuzznya.com
- rules:
- - host: auth.kuzznya.com
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: keycloak
- port:
- number: 8080
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: keycloak
- namespace: auth
- labels:
- app: keycloak
- spec:
- ports:
- - port: 8080
- targetPort: 8080
- name: http8080
- selector:
- app: keycloak
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: keycloak
- namespace: auth
- labels:
- app: keycloak
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: keycloak
- template:
- metadata:
- labels:
- app: keycloak
- spec:
- containers:
- - name: keycloak
- image: quay.io/keycloak/keycloak:19.0.1
- command: ["/opt/keycloak/bin/kc.sh", "start", "--import-realm", "--hostname-strict-https=false"]
- env:
- - name: KC_HOSTNAME
- value: auth.kuzznya.com
- - name: KC_HOSTNAME_STRICT
- value: "false"
- - name: KC_PROXY
- value: "edge"
- - name: PROXY_ADDRESS_FORWARDING
- value: "true"
- - name: KEYCLOAK_ADMIN
- value: admin
- - name: KEYCLOAK_ADMIN_PASSWORD
- valueFrom:
- secretKeyRef:
- name: keycloak-secrets
- key: KEYCLOAK_PASSWORD
- - name: KC_DB
- value: postgres
- - name: KC_DB_URL
- value: jdbc:postgresql://keycloak-db:5432/postgres
- - name: KC_DB_USERNAME
- value: postgres
- - name: KC_DB_PASSWORD
- valueFrom:
- secretKeyRef:
- name: keycloak-secrets
- key: KEYCLOAK_DB_PASSWORD
- ports:
- - containerPort: 8080
- name: http8080
- volumeMounts:
- - name: realm-volume
- mountPath: /opt/keycloak/data/import
- volumes:
- - name: realm-volume
- configMap:
- name: keycloak-realms
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: keycloak-db
- namespace: auth
- labels:
- app: postgres
- spec:
- ports:
- - port: 5432
- name: pgport
- selector:
- app: postgres
- ---
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: keycloak-db
- namespace: auth
- spec:
- selector:
- matchLabels:
- app: postgres
- serviceName: keycloak-db
- replicas: 1
- template:
- metadata:
- labels:
- app: postgres
- spec:
- terminationGracePeriodSeconds: 30
- containers:
- - name: postgres
- image: postgres:13
- env:
- - name: POSTGRES_DB
- value: postgres
- - name: POSTGRES_USER
- value: postgres
- - name: POSTGRES_PASSWORD
- valueFrom:
- secretKeyRef:
- name: keycloak-secrets
- key: KEYCLOAK_DB_PASSWORD
- ports:
- - containerPort: 5432
- name: pgport
- volumeMounts:
- - name: keycloak-db-data
- mountPath: /var/lib/postgresql
- volumeClaimTemplates:
- - metadata:
- name: keycloak-db-data
- spec:
- accessModes: [ "ReadWriteOnce" ]
- resources:
- requests:
- storage: 1Gi
Advertisement
Add Comment
Please, Sign In to add comment