Compare commits
48 Commits
oidc-test-
...
v1.0.1-uns
Author | SHA1 | Date | |
---|---|---|---|
83b81b1056 | |||
1fccf5f8dc | |||
907618902e | |||
6b1702b7ed | |||
fce733374c | |||
824b8613c4 | |||
19910617bd | |||
f4146345d5 | |||
bbeb1ec62f | |||
fcfbb6cc30 | |||
7a802a6d28 | |||
a02622b516 | |||
61d9dade3b | |||
e333d07c14 | |||
06f58a061d | |||
dd6804aa11 | |||
c7b937adaf | |||
77eb73818f | |||
cc3d07d654 | |||
86754cf518 | |||
8b02e8a875 | |||
caa180747e | |||
4d29851350 | |||
d88cc2de65 | |||
435597f9f1 | |||
ee2bb1ea45 | |||
63c5d7259c | |||
815917c306 | |||
bc6fe46e1c | |||
1b1cc27916 | |||
d37e85000f | |||
d9570ec8d0 | |||
d56ae059a3 | |||
5ec48c8b22 | |||
aaae6e2f20 | |||
081e854454 | |||
3dba6c0d69 | |||
8c6dc30bde | |||
4ff0f83880 | |||
e93bc069d3 | |||
a56089efe5 | |||
c4998279d5 | |||
6de80b1d9c | |||
2f3cf60974 | |||
bf865b02e2 | |||
063b575117 | |||
38d3f1c1df | |||
6acda0553e |
@ -29,7 +29,7 @@ vars:
|
||||
fieldref:
|
||||
fieldpath: metadata.name
|
||||
|
||||
patchesJson6902:
|
||||
patches:
|
||||
- target:
|
||||
group: apps
|
||||
version: v1
|
||||
@ -42,3 +42,9 @@ patchesJson6902:
|
||||
kind: Job
|
||||
name: hydra-migrate
|
||||
path: patches/hydra-migrate-job.yaml
|
||||
- target:
|
||||
group: batch
|
||||
version: v1
|
||||
kind: CronJob
|
||||
name: hydra-janitor
|
||||
path: patches/hydra-janitor-cronjob.yaml
|
||||
|
@ -0,0 +1,21 @@
|
||||
- op: add
|
||||
path: "/spec/jobTemplate/spec/template/spec/containers/0/env/-"
|
||||
value:
|
||||
name: HYDRA_DATABASE_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-postgres-user
|
||||
key: username
|
||||
- op: add
|
||||
path: "/spec/jobTemplate/spec/template/spec/containers/0/env/-"
|
||||
value:
|
||||
name: HYDRA_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-postgres-user
|
||||
key: password
|
||||
- op: add
|
||||
path: "/spec/jobTemplate/spec/template/spec/containers/0/env/-"
|
||||
value:
|
||||
name: DSN
|
||||
value: "postgres://$(HYDRA_DATABASE_USER):$(HYDRA_DATABASE_PASSWORD)@$(HYDRA_DATABASE_SERVICE_NAME)-rw:5432/hydra?sslmode=disable"
|
@ -2,7 +2,6 @@ apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: hydra-ldap
|
||||
namespace: default
|
||||
labels:
|
||||
app.kubernetes.io/name: hydra-ldap
|
||||
app.kubernetes.io/version: "v1.2.2"
|
||||
@ -18,34 +17,34 @@ spec:
|
||||
app.kubernetes.io/version: "v1.2.2"
|
||||
spec:
|
||||
containers:
|
||||
- name: werther
|
||||
image: reg.cadoles.com/cadoles/hydra-werther:2023.12.6-stable.1421.15a4717
|
||||
imagePullPolicy: IfNotPresent
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hydra-ldap-env
|
||||
env:
|
||||
- name: WERTHER_WEB_DIR
|
||||
value: "/usr/share/werther/login/"
|
||||
- name: WERTHER_LDAP_BINDDN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-ldap-sc
|
||||
key: WERTHER_LDAP_BINDDN
|
||||
- name: WERTHER_LDAP_BINDPW
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-ldap-sc
|
||||
key: WERTHER_LDAP_BINDPW
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: hydra-ldap-http
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 100
|
||||
- name: werther
|
||||
image: reg.cadoles.com/cadoles/hydra-werther:2023.12.6-stable.1421.15a4717
|
||||
imagePullPolicy: IfNotPresent
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hydra-ldap-env
|
||||
env:
|
||||
- name: WERTHER_WEB_DIR
|
||||
value: "/usr/share/werther/login/"
|
||||
- name: WERTHER_LDAP_BINDDN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-ldap-sc
|
||||
key: WERTHER_LDAP_BINDDN
|
||||
- name: WERTHER_LDAP_BINDPW
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: hydra-ldap-sc
|
||||
key: WERTHER_LDAP_BINDPW
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: hydra-ldap-http
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 100
|
||||
|
@ -5,6 +5,10 @@ resources:
|
||||
- ./resources/hydra-oidc-deployment.yaml
|
||||
- ./resources/hydra-oidc-service.yaml
|
||||
|
||||
generatorOptions:
|
||||
labels:
|
||||
com.cadoles.forge.sso-kustom/session: redis
|
||||
|
||||
configMapGenerator:
|
||||
- name: hydra-oidc-env
|
||||
literals:
|
||||
@ -26,6 +30,7 @@ configMapGenerator:
|
||||
- CLIENT_SECRET_FC=MyClientSecret
|
||||
- COOKIE_PATH=/
|
||||
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
|
||||
- REDIS_DSN="redis://redis:6379"
|
||||
# - name: hydra-dispatcher-apps
|
||||
# behavior: merge
|
||||
# files:
|
||||
@ -35,5 +40,5 @@ patchesJson6902:
|
||||
- target:
|
||||
version: v1
|
||||
kind: ConfigMap
|
||||
name: hydra-dispatcher-env
|
||||
path: patches/hydra-dispatcher-env.yaml
|
||||
name: hydra-oidc-env
|
||||
path: patches/hydra-oidc-env.yaml
|
||||
|
@ -18,7 +18,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: hydra-oidc-php-fpm
|
||||
image: reg.cadoles.com/cadoles/hydra-oidc-base:2023.11.17-develop.1657.761e035
|
||||
image: reg.cadoles.com/cadoles/hydra-oidc-base:2023.12.15-develop.1012.d57f2ad
|
||||
imagePullPolicy: Always
|
||||
args: ["/usr/sbin/php-fpm81", "-F", "-e"]
|
||||
readinessProbe:
|
||||
@ -47,7 +47,7 @@ spec:
|
||||
name: hydra-oidc-env
|
||||
resources: {}
|
||||
|
||||
- image: reg.cadoles.com/cadoles/hydra-oidc-base:2023.11.17-develop.1657.761e035
|
||||
- image: reg.cadoles.com/cadoles/hydra-oidc-base:2023.12.15-develop.1012.d57f2ad
|
||||
imagePullPolicy: Always
|
||||
name: hydra-oidc-nginx
|
||||
args: ["/usr/sbin/nginx"]
|
||||
|
@ -18,12 +18,12 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: hydra-saml-remote-user
|
||||
image: reg.cadoles.com/cadoles/hydra-remote-user-v1:v0.0.0-233-g64fcacc
|
||||
image: reg.cadoles.com/cadoles/hydra-remote-user-base:2023.12.11-develop.1523.5f14595
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hydra-saml-env
|
||||
ports:
|
||||
- containerPort: 80
|
||||
- containerPort: 8080
|
||||
resources: {}
|
||||
restartPolicy: Always
|
||||
---
|
||||
@ -37,6 +37,7 @@ spec:
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
selector:
|
||||
io.kompose.service: hydra-saml-remote-user
|
||||
status:
|
||||
|
@ -20,7 +20,7 @@ spec:
|
||||
fsGroup: 102
|
||||
containers:
|
||||
- name: hydra-saml-shibboleth-sp
|
||||
image: reg.cadoles.com/cadoles/shibboleth-sp-v3:v0.0.0-233-g64fcacc
|
||||
image: reg.cadoles.com/cadoles/shibboleth-sp-v3:2023.12.12-develop.1039.49b85e1
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hydra-saml-env
|
||||
|
@ -5,6 +5,10 @@ resources:
|
||||
- ./resources/hydra-sql-service.yaml
|
||||
- ./resources/hydra-sql-deployment.yaml
|
||||
|
||||
generatorOptions:
|
||||
labels:
|
||||
com.cadoles.forge.sso-kustom/session: redis
|
||||
|
||||
configMapGenerator:
|
||||
- name: hydra-sql-env
|
||||
literals:
|
||||
@ -17,6 +21,7 @@ configMapGenerator:
|
||||
- DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
||||
- DB_USER="makeMeASecret"
|
||||
- DB_PASSWORD="makeMeASecret"
|
||||
- REDIS_DSN="redis://redis:6379"
|
||||
- PEPPER="MakeMeABigSecret"
|
||||
- name: sql-login-config
|
||||
files:
|
||||
|
@ -18,7 +18,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: hydra-sql-fpm
|
||||
image: reg.cadoles.com/cadoles/hydra-sql-base:0.0.1
|
||||
image: reg.cadoles.com/cadoles/hydra-sql-base:2023.12.14-develop.1107.740a756
|
||||
imagePullPolicy: Always
|
||||
args: ["/usr/sbin/php-fpm81", "-F", "-e"]
|
||||
readinessProbe:
|
||||
@ -54,7 +54,7 @@ spec:
|
||||
subPath: "sql_login.yaml"
|
||||
|
||||
- name: hydra-sql-nginx
|
||||
image: reg.cadoles.com/cadoles/hydra-sql-base:0.0.1
|
||||
image: reg.cadoles.com/cadoles/hydra-sql-base:2023.12.14-develop.1107.740a756
|
||||
imagePullPolicy: Always
|
||||
args: ["/usr/sbin/nginx"]
|
||||
readinessProbe:
|
||||
|
22
components/redis/README.md
Normal file
22
components/redis/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Composant `redis`
|
||||
|
||||
### Description
|
||||
|
||||
Les applications `hydra-dispatcher`, `hydra-sql` et `hydra-oidc` stockent dorénavant le cache et les sessions utilisateur sur un serveur Redis.
|
||||
Le DSN du serveur est défini dans leur variable d'environnement respective `REDIS_DSN`.
|
||||
Les applications peuvent utiliser le mode `sentinel` de redis
|
||||
Il est donc nécessaire donc nécessaire de disposer d'un serveur Redis pour utiliser ces applications.
|
||||
|
||||
### Principe général de fonctionnement
|
||||
|
||||
Un `RedisFailOver` crée un cluster redis en mode sentinel avec 3 réplicats chacun.
|
||||
|
||||
|
||||
### Personnalisation
|
||||
|
||||
Via des `patches` sur la ressource `ConfigMap` via un label selector `com.cadoles.forge.sso-kustom/session=redis` il est possible de modifier la valeur du `REDIS_DSN`.
|
||||
|
||||
|
||||
|Clé|Description|Exemple|
|
||||
|---|-----------|-------|
|
||||
|`REDIS_DSN`| DSN du cluster Redis | `redis://rfs-sso-redis:26379?&redis_sentinel=mymaster`
|
11
components/redis/kustomization.yaml
Normal file
11
components/redis/kustomization.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1alpha1
|
||||
kind: Component
|
||||
|
||||
resources:
|
||||
- ./resources/redis-failover.yaml
|
||||
|
||||
patches:
|
||||
- path: ./patches/hydra-apps.yaml
|
||||
target:
|
||||
kind: ConfigMap
|
||||
labelSelector: "com.cadoles.forge.sso-kustom/session=redis"
|
3
components/redis/patches/hydra-apps.yaml
Normal file
3
components/redis/patches/hydra-apps.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
- op: replace
|
||||
path: "/data/REDIS_DSN"
|
||||
value: "redis://rfs-sso-redis:26379?&redis_sentinel=mymaster"
|
21
components/redis/resources/redis-failover.yaml
Normal file
21
components/redis/resources/redis-failover.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
apiVersion: databases.spotahome.com/v1
|
||||
kind: RedisFailover
|
||||
metadata:
|
||||
name: sso-redis
|
||||
spec:
|
||||
sentinel:
|
||||
replicas: 3
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
limits:
|
||||
memory: 100Mi
|
||||
redis:
|
||||
replicas: 3
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
limits:
|
||||
cpu: 400m
|
||||
memory: 500Mi
|
@ -1 +0,0 @@
|
||||
# Documentation
|
@ -15,7 +15,7 @@ L'exemple est actuellement déployé avec le composant `hydra-saml` uniquement.
|
||||
2. Déployer les opérateurs nécessaires au déploiement
|
||||
|
||||
```
|
||||
kubectl kustomize --enable-helm ./examples/k8s/kind/cluster | kubectl apply -f -
|
||||
kubectl apply -k ./examples/k8s/kind/cluster --server-side
|
||||
```
|
||||
|
||||
3. Déployer l'application
|
||||
|
@ -2,19 +2,12 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../../overlays/base
|
||||
- ../../overlays/full
|
||||
- ./resources/ingress.yaml
|
||||
- ./resources/saml-idp.yaml
|
||||
- ./resources/self-signed-issuer.yaml
|
||||
- ./resources/port-forwarder.yaml
|
||||
|
||||
components:
|
||||
- ../../components/hydra-cnpg-database
|
||||
- ../../components/oidc-test
|
||||
#- ../../components/hydra-oidc
|
||||
- ../../components/hydra-saml
|
||||
|
||||
|
||||
patchesJson6902:
|
||||
- target:
|
||||
version: v1
|
||||
@ -38,7 +31,7 @@ patchesJson6902:
|
||||
path: patches/hydra-secret.yaml
|
||||
- target:
|
||||
version: v1
|
||||
kind: Secret
|
||||
kind: ConfigMap
|
||||
name: oidc-test
|
||||
path: patches/oidc-test.yaml
|
||||
- target:
|
||||
|
@ -3,4 +3,4 @@
|
||||
value: https://ssokustom/oauth2/callback
|
||||
- op: replace
|
||||
path: "/spec/postLogoutRedirectUris/0"
|
||||
value: https://ssokustom/oauth2/callback
|
||||
value: https://ssokustom
|
@ -1,6 +1,3 @@
|
||||
- op: replace
|
||||
path: "/data/LOG_LEVEL"
|
||||
value: 0
|
||||
- op: replace
|
||||
path: "/data/OIDC_REDIRECT_URL"
|
||||
value: https://ssokustom/oauth2/callback
|
||||
|
@ -3,6 +3,7 @@ kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/jetstack/cert-manager/releases/download/v1.13.2/cert-manager.yaml
|
||||
- https://forge.cadoles.com/CadolesKube/c-kustom//base/cloudnative-pg-operator?ref=develop
|
||||
- https://forge.cadoles.com/CadolesKube/c-kustom//base/redis?ref=develop
|
||||
- https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
|
||||
|
||||
patchesJson6902:
|
||||
|
5
kustomization.yaml
Normal file
5
kustomization.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ./overlays/base
|
@ -14,3 +14,5 @@ components:
|
||||
- ../../components/hydra-oidc
|
||||
- ../../components/hydra-saml
|
||||
- ../../components/hydra-sql
|
||||
- ../../components/oidc-test
|
||||
- ../../components/redis
|
||||
|
@ -5,6 +5,10 @@ resources:
|
||||
- ./resources/hydra-dispatcher-deployment.yaml
|
||||
- ./resources/hydra-dispatcher-service.yaml
|
||||
|
||||
generatorOptions:
|
||||
labels:
|
||||
com.cadoles.forge.sso-kustom/session: redis
|
||||
|
||||
configMapGenerator:
|
||||
- name: hydra-dispatcher-env
|
||||
literals:
|
||||
@ -21,6 +25,7 @@ configMapGenerator:
|
||||
- COOKIE_PATH=/
|
||||
- DEFAULT_LOCALE=fr
|
||||
- APP_LOCALES=fr,en
|
||||
- REDIS_DSN="redis://redis:6379"
|
||||
- name: hydra-dispatcher-apps
|
||||
files:
|
||||
- apps.yaml=./files/hydra/default.yaml
|
||||
|
@ -18,7 +18,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: hydra-dispatcher-php-fpm
|
||||
image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2023.11.17-develop.1408.ad93359
|
||||
image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2023.12.15-develop.903.b675347
|
||||
args: ["/usr/sbin/php-fpm81", "-F", "-e"]
|
||||
readinessProbe:
|
||||
exec:
|
||||
@ -49,7 +49,7 @@ spec:
|
||||
name: hydra-dispatcher-apps
|
||||
resources: {}
|
||||
|
||||
- image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2023.11.17-develop.1408.ad93359
|
||||
- image: reg.cadoles.com/cadoles/hydra-dispatcher-base:2023.12.15-develop.903.b675347
|
||||
imagePullPolicy: Always
|
||||
name: hydra-dispatcher-nginx
|
||||
args: ["/usr/sbin/nginx"]
|
||||
|
@ -9,6 +9,7 @@ resources:
|
||||
- ./resources/hydra-serviceaccount.yaml
|
||||
- ./resources/hydra-migrate-job.yaml
|
||||
- ./resources/hydra-maester
|
||||
- ./resources/hydra-janitor-cronjob.yaml
|
||||
|
||||
secretGenerator:
|
||||
- name: hydra-secret
|
||||
|
34
resources/hydra/resources/hydra-janitor-cronjob.yaml
Normal file
34
resources/hydra/resources/hydra-janitor-cronjob.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: hydra-janitor
|
||||
labels:
|
||||
app.kubernetes.io/name: hydra-janitor
|
||||
spec:
|
||||
concurrencyPolicy: Forbid
|
||||
schedule: "0 */1 * * *"
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: hydra-janitor
|
||||
spec:
|
||||
restartPolicy: OnFailure
|
||||
serviceAccountName: hydra-sa
|
||||
containers:
|
||||
- name: janitor
|
||||
image: reg.cadoles.com/proxy_cache/oryd/hydra:v2.0.3
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hydra-env
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["hydra"]
|
||||
env: []
|
||||
args:
|
||||
- janitor
|
||||
- --read-from-env
|
||||
- --grants
|
||||
- --requests
|
||||
- --tokens
|
||||
resources: {}
|
@ -2,14 +2,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ./resources/hydra-maester-deployment.yaml
|
||||
- ./resources/hydra-maester-rbac.yaml
|
||||
- https://raw.githubusercontent.com/ory/k8s/v0.28.2/helm/charts/hydra-maester/crds/crd-oauth2clients.yaml
|
||||
- ./resources/hydra-maester-deployment.yaml
|
||||
- ./resources/hydra-maester-rbac.yaml
|
||||
#- https://raw.githubusercontent.com/ory/k8s/v0.28.2/helm/charts/hydra-maester/crds/crd-oauth2clients.yaml
|
||||
|
||||
configMapGenerator:
|
||||
- name: hydra-maester-env
|
||||
literals:
|
||||
- APP_ENV=prod
|
||||
- APP_DEBUG=false
|
||||
- HYDRA_ADMIN_BASE_URL=http://hydra
|
||||
- HYDRA_ADMIN_PORT=4445
|
||||
- name: hydra-maester-env
|
||||
literals:
|
||||
- APP_ENV=prod
|
||||
- APP_DEBUG=false
|
||||
- HYDRA_ADMIN_BASE_URL=http://hydra
|
||||
- HYDRA_ADMIN_PORT=4445
|
||||
|
Reference in New Issue
Block a user