Découvrir le Hub › Parcours

Parcours · administrateur de la plateforme

Installer une application pour un client

Choisir une application du catalogue, l'installer sous un nom propre au client, vérifier sa route et son SSO, puis la donner à ouvrir.

Avant de commencer

L'Atelier Durand veut un espace de fichiers partagé. Son administrateur, Hugo Lefèvre ([email protected]), a déjà son compte dans le tenant atelier-durand. Vous installez pour lui l'application Nextcloud du catalogue, sous le nom nextcloud-durand.

Il vous faut un compte SUPERADMIN du Hub : toute la console /hub/… lui est réservée.

Rejouer tout le parcours dans le Hub

  1. Choisir l'application et l'installer

    L'écran Applications › + Installer montre le catalogue : le catalogue local livré avec le Hub et ceux des sources synchronisées. Chaque carte dit sa source, sa base de données et son mode SSO par défaut.

    Le clic sur la carte ne lance rien : il remplit le formulaire 2. Configuration avec les valeurs du catalogue. Changez alors deux champs :

    • Identifiant (app_id) : nextcloud-durand. Il nomme le conteneur et le chemin des secrets dans Vault (soclehub/apps/nextcloud-durand/env). C'est lui qui permet d'installer la même application une fois par client. Il doit être libre ;
    • Sous-domaine : nextcloud-durand, qui donne nextcloud-durand.exemplia.example. Il ne se change plus ensuite.

    Préférez un numéro de version à latest : la version installée reste connue. Laissez le mode SSO proposé, il se règle plus tard.

    Cliquez sur Installer. Le Hub déroule six étapes pendant que la page attend : contrôle de l'identifiant et de l'adresse, base et secrets, DNS et certificat, conteneur, route du proxy avec son SSO, puis inscription dans la liste. Une étape en échec défait les précédentes.

    ⚠ L'écran ne transmet aucun tenant : l'application est installée comme application de plateforme, et le quota d'applications du client n'est pas contrôlé. Pour la rattacher au tenant, appelez l'action avec le paramètre tenant :

    { "name": "docker_worker__install_app",
      "arguments": { "app_id": "nextcloud-durand", "catalog_app_id": "nextcloud",
                     "subdomain": "nextcloud-durand", "docker_tag": "29",
                     "tenant": "atelier-durand" } }
    

    ⚠ Le champ Nom de l'application et les réponses aux questions de configuration ne sont pas transmis : l'application garde le nom du catalogue.

    Action du Hub : docker_worker.install_app

    Faire cette étape dans le Hub → Pour aller plus loin : apps.install.ecran apps.install.carte apps.install.app_id apps.install.subdomain apps.install.docker_tag apps.install.installer

  2. Retrouver l'application dans la liste

    L'installation finie, le Hub vous ramène sur Applications avec le message « Application nextcloud-durand installation started successfully. ». Malgré le mot « started », le travail est terminé à l'arrivée sur cette page.

    La ligne donne le nom, qui ouvre la fiche, l'adresse publique et l'image Docker. Le Statut passe à En ligne (running).

    La liste montrée ici est celle des applications déjà installées : nextcloud-durand y prendrait sa place, triée par nom.

    ⚠ Ce statut est celui que le Hub a écrit lors de son dernier geste. Il n'est pas mesuré sur le conteneur : pour savoir si l'application répond, regardez le badge Healthy de sa fiche.

    Action du Hub : docker_worker.list_apps

    Faire cette étape dans le Hub → Pour aller plus loin : apps.list.ecran apps.list.col.statut apps.list.col.domaine

  3. Vérifier sa route et régler le SSO

    Le Hub reçoit toutes les requêtes et les répartit par nom d'hôte. La route posée à l'installation dit, pour l'adresse nextcloud-durand.exemplia.example, vers quel conteneur et quel port envoyer la requête, et ce qu'il faut vérifier avant.

    L'écran montré ici est la fiche d'une autre application, agentia : celle de nextcloud-durand est la même page.

    Ouvrez Proxy & SSO et réglez l'accès :

    • Mode SSO : required pour exiger une connexion au Hub, gate pour protéger seulement certains chemins, none pour laisser l'application gérer son propre login ;
    • Scope SSO : le droit qu'un compte doit détenir pour entrer. Vide, être connecté suffit.

    Cliquez sur Sauvegarder les modifications. La règle s'applique à la requête suivante, sans redémarrer l'application.

    ⚠ Une application qui a plusieurs routes reçoit les mêmes valeurs sur toutes : la mise à jour vise les routes par app_id, nom d'hôte compris.

    Action du Hub : proxy_worker.update_route

    Faire cette étape dans le Hub → Pour aller plus loin : apps.detail.route apps.detail.sso.mode apps.detail.sso.scope apps.detail.route.sante apps.detail.route.enregistrer

  4. Voir sa tuile au Portail

    Le Portail est la page d'accueil du Hub. Une application y a sa tuile dès qu'elle est au statut running et qu'elle a un sous-domaine. La pastille violette marque une application Socle V005, l'ardoise une application tierce : Nextcloud aurait la seconde.

    Ouvrez la tuile : si l'application est protégée par le SSO du Hub, vous y entrez sans ressaisir votre mot de passe.

    ⚠ Le Portail est réservé, comme toute la console, au rôle SUPERADMIN. Hugo Lefèvre ne le verra pas : on lui donne l'adresse de l'application.

    Faire cette étape dans le Hub → Pour aller plus loin : portal.launcher.ecran portal.launcher.hub portal.launcher.tuile

  5. Donner l'adresse au client

    Envoyez à Hugo l'adresse https://nextcloud-durand.exemplia.example. En mode SSO required ou gate, l'application le renvoie vers la page de connexion du Hub, puis le ramène chez elle.

    S'il se connecte directement au Hub, sans venir de l'application, le Hub n'a nulle part où le renvoyer : il arrive sur cette page, qui lui dit que son compte est bien authentifié et qu'il doit retourner à l'adresse de l'application. Il y sera reconnu sans ressaisir son mot de passe.

    Faire cette étape dans le Hub → Pour aller plus loin : portal.acces.ecran

Ce que vous avez obtenu

Pour la servir sous le domaine du client lui-même, suivez le parcours Brancher le domaine d'un client.

Pièges