serverless-operator-examples/sonataflow-apisix-oidc/manifests/bases/02-keycloak.yaml (78 lines of code) (raw):

# Copyright 2024 Apache Software Foundation (ASF) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: v1 kind: Service metadata: name: keycloak labels: app: keycloak spec: ports: - name: http port: 8080 targetPort: 8080 selector: app: keycloak type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: keycloak labels: app: keycloak spec: replicas: 1 selector: matchLabels: app: keycloak template: metadata: labels: app: keycloak spec: initContainers: - name: init-postgres image: registry.access.redhat.com/ubi9/ubi-minimal:latest imagePullPolicy: IfNotPresent command: [ "sh", "-c", 'until (echo 1 > /dev/tcp/postgres.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local/5432) >/dev/null 2>&1; do echo "Waiting for postgres server"; sleep 3; done;', ] containers: - name: keycloak image: keycloak imagePullPolicy: "IfNotPresent" args: ["start-dev"] env: - name: KEYCLOAK_ADMIN value: "admin" - name: KEYCLOAK_ADMIN_PASSWORD value: "admin" - name: KC_PROXY value: "edge" - name: KC_DB value: postgres - name: KC_DB_USERNAME valueFrom: secretKeyRef: key: POSTGRES_USER name: postgres-secrets - name: KC_DB_PASSWORD valueFrom: secretKeyRef: key: POSTGRES_PASSWORD name: postgres-secrets - name: KC_DB_URL_HOST value: postgres ports: - name: http containerPort: 8080 readinessProbe: httpGet: path: /realms/master port: 8080 resources: limits: memory: "2Gi" cpu: "1"