瀏覽代碼

update doc

Olivier Massot 2 年之前
父節點
當前提交
6e2fb78ac0
共有 2 個文件被更改,包括 53 次插入24 次删除
  1. 0 24
      doc/bindfile.md
  2. 53 0
      doc/subdomain.md

+ 0 - 24
doc/bindfile.md

@@ -1,24 +0,0 @@
-# Fichier Bind
-
-Le fichier "bind" rend possible la résolution des sous-domaines au niveau du serveur DNS (situé sur prod-back).
-Chaque fois qu'un nouveau sous-domaine est enregistré, ce fichier doit être mis à jour. Cependant, pour des questions de 
-droits, c'est l'utilisateur root qui doit procéder à cette mise à jour. 
-
-Voilà ce qu'il se passe lorsqu'une structure enregistre un nouveau sous-domaine depuis `prod-back`:
-
-1. Le logiciel ajoute le sous-domaine en question dans une nouvelle ligne du fichier tampon `/env/subdomain.txt`
-2. Un cron tourne toutes les 5 minutes et consomme le contenu de ce fichier avant de le vider
-3. Ce cron exécute le script `/env/add-subdomain`, qui met à jour le fichier bind `/etc/bind/zones/opentalent.fr.db`
-4. Une fois mis à jour le fichier bind, le cron exécuté sur prod-back (le serveur DNS) envoie par ssh le contenu du 
-   fichier subdomain.txt sur un même fichier `/env/subdomain.txt` situé sur le serveur `vpn` 
-5. Le même cron tourne toutes les 5 minutes sur le serveur vpn procède à son tour à la mise à jour de son fichier bind
-
-La mise à jour des deux fichiers bind est nécessaire, pour permettre la prise en compte des sous-domaines depuis
-l'intérieur ou l'extérieur du VPN.
-
-Lorsqu'un nouveau sous-domaine est enregistré depuis `prod-v2`:
-
-> TODO: à revoir
-
-1. Le logiciel remplit de la même façon un fichier `/env/subdomain.txt`
-2. La suite se déroule comme dans le premier scénario

+ 53 - 0
doc/subdomain.md

@@ -0,0 +1,53 @@
+# Gestion des sous domaines
+
+## Opérations de mise à jour
+
+La route /api/subdomains permet les opérations suivantes :
+
+* Get : Récupère les sous-domaines existants
+* Post : Créé un nouveau sous domaine, et l'active éventuellement (selon que la prop `active` soit true ou non)
+* Put : Permet l'activation d'un sous-domaine en passant la propriété `active=true`
+
+Une organisation est limitée à 3 sous-domaines. Un sous-domaine ne peut être modifié une fois créé, à l'exception de 
+son statut (actif / inactif)
+
+Quand un sous domaine est ajouté, il est ajouté au fichier bind des serveurs prod-back et vpn (cf. plus bas).
+
+Quand un sous domaine est activé, les opérations suivantes sont réalisées :
+
+* les autres sous-domaines de l'organisation sont désactivés, de manière à ne conserver qu'un seul sous-domaine actif à la fois
+* une commande de mise à jour est envoyée à typo3 via l'API Http
+* le nom de l'admin de l'organisation est mis à jour pour être de la forme 'admin<subdomain>'
+* un email de confirmation est envoyé à la structure
+
+## CLI
+
+On peut ajouter et activer un nouveau sous-domaine au moyen de la commande :
+
+    php bin/console ot:subdomain:add <organization-id> <subdomain>
+
+
+## Fichier Bind
+
+Le fichier "bind" rend possible la résolution des sous-domaines au niveau du serveur DNS (situé sur prod-back).
+Chaque fois qu'un nouveau sous-domaine est enregistré, ce fichier doit être mis à jour. Cependant, pour des questions de
+droits, c'est l'utilisateur root qui doit procéder à cette mise à jour.
+
+Voilà ce qu'il se passe lorsqu'une structure enregistre un nouveau sous-domaine depuis `prod-back`:
+
+1. Le logiciel ajoute le sous-domaine en question dans une nouvelle ligne du fichier tampon `/env/subdomain.txt`
+2. Un cron tourne toutes les 5 minutes et consomme le contenu de ce fichier avant de le vider
+3. Ce cron exécute le script `/env/add-subdomain`, qui met à jour le fichier bind `/etc/bind/zones/opentalent.fr.db`
+4. Une fois mis à jour le fichier bind, le cron exécuté sur prod-back (le serveur DNS) envoie par ssh le contenu du
+   fichier subdomain.txt sur un même fichier `/env/subdomain.txt` situé sur le serveur `vpn`
+5. Le même cron tourne toutes les 5 minutes sur le serveur vpn procède à son tour à la mise à jour de son fichier bind
+
+La mise à jour des deux fichiers bind est nécessaire, pour permettre la prise en compte des sous-domaines depuis
+l'intérieur ou l'extérieur du VPN.
+
+Lorsqu'un nouveau sous-domaine est enregistré depuis `prod-v2`:
+
+> TODO: à revoir
+
+1. Le logiciel remplit de la même façon un fichier `/env/subdomain.txt`
+2. La suite se déroule comme dans le premier scénario