user_oidc et richdocuments epinglees (version, sha256), tenues par site-cache-01 dans le depot de binaires, installees par app_tierce.yml : site d'abord, amont en repli dit, somme puis signature (occ integrity:check-app), activation. P70 comprend les listes d'artefacts. L'app store a 77 ko/s avait arrete la reconstruction de Technolibre. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
2 KiB
YAML
50 lines
2 KiB
YAML
---
|
|
# L'APPLICATION VIENT DU DEPOT DU SITE, PLUS DE L'APP STORE (2026-10-08) : `app_tierce.yml`.
|
|
- name: Installer l'app user_oidc (depot du site, somme, signature, activation)
|
|
ansible.builtin.include_tasks: app_tierce.yml
|
|
vars:
|
|
serveur_nextcloud_app_id: user_oidc
|
|
|
|
- name: SSO OIDC (occ, en www-data avec TLS PG)
|
|
become: true
|
|
become_user: "{{ serveur_nextcloud_utilisateur }}"
|
|
environment:
|
|
PGSSLMODE: "{{ serveur_nextcloud_pg_sslmode }}"
|
|
PGSSLROOTCERT: "{{ serveur_nextcloud_ca_racine }}"
|
|
when: not ansible_check_mode
|
|
block:
|
|
- name: Ne plus annoncer le formulaire de connexion locale
|
|
# Masquage, pas fermeture : `?direct=1` reste le chemin de secours documente par
|
|
# l'amont. Voir serveur_nextcloud_connexion_locale dans defaults/main.yml.
|
|
ansible.builtin.command:
|
|
argv:
|
|
- php
|
|
- "{{ serveur_nextcloud_racine }}/occ"
|
|
- "config:system:set"
|
|
- "hide_login_form"
|
|
- "--type=boolean"
|
|
- "--value={{ 'false' if serveur_nextcloud_connexion_locale | bool else 'true' }}"
|
|
changed_when: false
|
|
|
|
- name: Configurer le fournisseur OIDC Keycloak (upsert idempotent)
|
|
ansible.builtin.command:
|
|
argv:
|
|
- php
|
|
- "{{ serveur_nextcloud_racine }}/occ"
|
|
- "user_oidc:provider"
|
|
- "{{ serveur_nextcloud_oidc_nom }}"
|
|
- "--clientid={{ serveur_nextcloud_oidc_client_id }}"
|
|
- "--clientsecret={{ serveur_nextcloud_oidc_client_secret }}"
|
|
- "--discoveryuri={{ serveur_nextcloud_oidc_discovery }}"
|
|
- "--scope=openid email profile"
|
|
- "--mapping-uid=preferred_username"
|
|
- "--mapping-email=email"
|
|
- "--mapping-display-name=name"
|
|
- "--mapping-groups={{ serveur_nextcloud_oidc_groupe_claim }}"
|
|
- "--group-provisioning=1"
|
|
- "--unique-uid=0"
|
|
changed_when: false
|
|
no_log: true
|
|
|
|
- name: Verser le groupe d'administration dans `admin` (voir admin.yml)
|
|
ansible.builtin.include_tasks: admin.yml
|