# Exemple: Déploiement d'une application authentifiée avec la stack SSO L'exemple est actuellement déployé avec le composant `hydra-ldap` uniquement. ## Procédure ### Avec `kind` 1. Créer un cluster avec `kind` ``` kind create cluster --config ./examples/k8s/kind/cluster-config.yaml ``` 2. Déployer les opérateurs nécessaires au déploiement ``` kubectl apply -k ./examples/k8s/kind/cluster --server-side ``` > Si une erreur du type `ensure CRDs are installed first` s'affiche, relancer la commande. 3. Attendre que l'opérateur Redis soit opérationnel puis patcher le `ClusterRole` de celui ci (cf. https://github.com/OT-CONTAINER-KIT/redis-operator/issues/526): ```bash kubectl wait -n operators --timeout 10m --for=jsonpath=".status.state"=AtLatestKnown subscription my-redis-operator # On attend quelques secondes supplémentaires pour s'assurer que l'opérateur a réellement démarré sleep 30 kubectl patch clusterroles.rbac.authorization.k8s.io $(kubectl get clusterrole | awk '/redis-operator/ {print $1}') --patch-file examples/k8s/kind/cluster/fix/redis-operator-clusterrole.yaml ``` 4. Déployer l'application ``` kubectl apply -k ./examples/authenticated-app ``` 5. Ajouter l'entrée suivante dans votre fichier `/etc/hosts` ``` 127.0.0.1 ssokustom ``` 6. Après stabilisation du déploiement, l'application devrait être accessible à l'adresse https://ssokustom #### Supprimer le cluster ``` kind delete cluster -n sso-kustom-example ``` ## Authentification ### LDAP #### Comptes par défaut 1. `jdoe` / `jdoe` 2. `jdoe2` / `jdoe` 3. `siret1` / `siret` 4. `siret2` / `siret` #### Gestion des comptes Les comptes LDAP sont définis dans le fichier [`./files/glauth.conf`](./files/glauth.conf)