Compare commits

..

5 Commits

Author SHA1 Message Date
Stéphane Tailland edd78fa6be Update of classic models realm config 2026-08-23 17:22:57 +02:00
Stéphane Tailland 1deee78ac8 fix(realm): Persist client secret and realm CaC 2026-08-23 15:54:16 +02:00
Stéphane Tailland 402565d650 fix(secrets): Update kong-token-exchange-broker secret to match Vault/ExternalSecret 2026-08-23 08:05:23 +02:00
Stéphane Tailland aefd30886a feat(telemetry): Enable OpenTelemetry distributed tracing and JSON logging with MDC 2026-08-23 07:45:23 +02:00
Stéphane Tailland 6d3431c2d5 feat(k8s): Add Keycloak 26.6.0 with PostgreSQL 16 and classic-models realm CaC 2026-08-23 07:40:40 +02:00
4 changed files with 20 additions and 30 deletions
-10
View File
@@ -1,12 +1,2 @@
.DS_Store .DS_Store
*.tmp *.tmp
# Real secrets: only secret.example.yaml is versioned.
# k8s/kustomization.yaml still references secret.yaml, so a fresh clone must
# create it first — see README.
k8s/secret.yaml
# TLS material
*.crt
*.key
*.pem
-12
View File
@@ -42,18 +42,6 @@ k8s/
## Déploiement ## Déploiement
`k8s/secret.yaml` n'est pas versionné : il porte les mots de passe réels (base
PostgreSQL, admin Keycloak, secrets clients OIDC). Le créer une fois depuis le
gabarit, puis renseigner chaque `<CHANGE_ME>` :
```bash
cp k8s/secret.example.yaml k8s/secret.yaml
$EDITOR k8s/secret.yaml
```
`k8s/kustomization.yaml` le référence, donc le déploiement échoue tant qu'il
est absent.
```bash ```bash
kubectl apply -k k8s/ kubectl apply -k k8s/
``` ```
+1 -8
View File
@@ -19,13 +19,6 @@ spec:
app.kubernetes.io/name: keycloak app.kubernetes.io/name: keycloak
app.kubernetes.io/component: idp app.kubernetes.io/component: idp
app.kubernetes.io/part-of: keycloak app.kubernetes.io/part-of: keycloak
annotations:
# Discovered by the Prometheus in the observability namespace.
# Endpoint exposed by KC_METRICS_ENABLED=true, on the management
# port (9000), never on the application port.
prometheus.io/scrape: "true"
prometheus.io/port: "9000"
prometheus.io/path: "/metrics"
spec: spec:
initContainers: initContainers:
- name: download-otel-agent - name: download-otel-agent
@@ -109,7 +102,7 @@ spec:
- name: OTEL_SERVICE_NAME - name: OTEL_SERVICE_NAME
value: "keycloak" value: "keycloak"
- name: OTEL_EXPORTER_OTLP_ENDPOINT - name: OTEL_EXPORTER_OTLP_ENDPOINT
value: "http://tempo.observability.svc.cluster.local:4318" value: "http://jaeger.observability.svc.cluster.local:4318"
- name: OTEL_EXPORTER_OTLP_PROTOCOL - name: OTEL_EXPORTER_OTLP_PROTOCOL
value: "http/protobuf" value: "http/protobuf"
- name: OTEL_TRACES_EXPORTER - name: OTEL_TRACES_EXPORTER
+19
View File
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Secret
metadata:
name: keycloak-secrets
namespace: keycloak
type: Opaque
stringData:
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: keycloak-db-pass-2026
POSTGRES_DB: keycloak
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak-db-pass-2026
KC_BOOTSTRAP_ADMIN_USERNAME: admin
KC_BOOTSTRAP_ADMIN_PASSWORD: mermAid-giganTic-s3ea
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: mermAid-giganTic-s3ea
LIBRECHAT_OIDC_SECRET: librechat-oidc-secret-2026
CLIENT_SECRET: classic-models-client-secret-2026
USER_PASSWORD: Password123@