M3 Déployer le logiciel

Commandes lancées depuis le poste d'administration.

Objectif : un flux et un cockpit en service, configurés, et une passerelle authentifiée auprès d'IoBase.

Prérequis : la CloudGate a passé M2 et répond sur son adresse, le poste est outillé, et le fichier config/<site>.env est rempli (M1).

Toutes les commandes de ce chapitre se lancent depuis le dossier de mise en service installé en M1. Remplacer mon-site par le nom de site choisi.

3.1 Assembler le flux

  1. Lancer :
    python3 flow/build.py mon-site
  2. Vérifier la sortie : le chemin du flux assemblé et le nombre de balises du site.

L'assemblage échoue et liste les valeurs absentes si le fichier de site est incomplet. Compléter avec la fiche de M1, puis relancer.

3.2 Contrôler avant d'envoyer

  1. Lancer :
    bash scripts/deploy.sh mon-site check
  2. Lire la dernière ligne. Elle indique prêt ou NE PAS DÉPLOYER.
  3. Si le contrôle annonce un premier déploiement, relancer avec :
    PREMIER_DEPLOIEMENT=1 bash scripts/deploy.sh mon-site check

Un appareil neuf sort d'usine avec le programme du constructeur, que ce déploiement remplace entièrement. Le contrôle le signale et dénombre ce qu'il remplacerait, puis s'arrête : la variable le confirme. Aux déploiements suivants, ce même contrôle refuse toute suppression qui n'a pas été déclarée.

Si le contrôle annonce qu'il supprimerait des éléments, ne pas déployer : la passerelle porte quelque chose qui n'est pas dans le fichier du site, le plus souvent un capteur déclaré directement au cockpit. Le récupérer dans le fichier du site, puis relancer.

3.3 Sauvegarder et déployer

  1. Lancer :
    bash scripts/deploy.sh mon-site backup
  2. Lancer :
    PREMIER_DEPLOIEMENT=1 bash scripts/deploy.sh mon-site deploy
  3. Attendre le redémarrage, environ quarante-cinq secondes.
  4. Vérifier la sortie des contrôles : nombre de nodes en service, environnements présents, restauration présente.

Le déploiement coupe et relance la radio, l'authentification, les envois et le cockpit. Deux déploiements rapprochés entraînent la perte d'un jeton d'authentification.

3.4 Installer le cockpit

  1. Lancer :
    bash scripts/deploy_www.sh mon-site
  2. Ouvrir http://<adresse>:8888 et se connecter avec le compte d'exploitation.
  3. Ouvrir http://<adresse>:8889 et se connecter avec le compte d'administration.
    Tableau de bord du cockpit embarqué

3.5 Renseigner la configuration

  1. Dans le cockpit, sélectionner l'onglet Globals avec le compte d'administration.
    Onglet des variables globales du cockpit
  2. Renseigner, d'après la fiche de site :
    • Nom de la passerelle
    • Adresse de l'API d'IoBase
    • Adresse du service d'authentification, identifiant et clé
    • URL, réseau, client et authentification d'Asystom Advisor
  3. Cliquer sur Appliquer.
  4. Vérifier qu'aucune valeur n'affiche un repli commençant par TODO_.

Le site, la source de données, le modèle d'équipement et les métriques ne sont pas des variables globales : ils se règlent par capteur, au chapitre M4.

3.6 Enrôler la passerelle

  1. Lancer, sans effet de bord :
    SITE=mon-site bash scripts/enrolement.sh etat
  2. Demander un code d'enrôlement :
    SITE=mon-site bash scripts/enrolement.sh register
  3. Demander à un administrateur de la plateforme de valider l'équipement, menu Services et équipements puis Valider l'équipement.
  4. Échanger le code contre un jeton :
    SITE=mon-site bash scripts/enrolement.sh token
  5. Poser l'état d'authentification sur la passerelle :
    SITE=mon-site bash scripts/enrolement.sh injecter
  6. Relancer etat et vérifier que l'enrôlement est valide.

Tant que la validation n'est pas donnée, l'étape 4 répond une erreur d'attente. Réessayer plus tard. Le code obtenu à l'étape 2 reste valable ; relancer register repart de zéro et rallonge l'attente d'autant.

L'écran de validation de l'équipement, côté IoBase. À prendre lors d'un prochain enrôlement.