Aller au contenu

Étape 1 — Ajouter et gérer les agents

Un agent (Watchdogd) est le processus logiciel qui s'exécute sur votre serveur et qui fait le lien entre l'API centrale Abls-Habitat et vos équipements physiques. Avant toute mise en service, au moins un agent doit être déployé et lié au domaine.

Position dans le workflow

Cette étape est la première à réaliser. Sans agent actif, aucun connecteur ne peut fonctionner. → Étape suivante : Configurer les threads (connecteurs)


1. Récupérer les informations de liaison

Avant de déployer un agent, récupérez les identifiants du domaine depuis la console :

  1. Connectez-vous sur https://console.abls-habitat.fr
  2. Sélectionnez votre domaine depuis la page /domains
  3. Allez dans Configuration du domaine/domain/edit
  4. Notez :
    • le Domain UUID (identifiant unique du domaine)
    • le Domain Secret Key (clé secrète — ne jamais partager !)

Confidentialité du Domain Secret

Le Domain Secret Key est une donnée sensible. Ne le communiquez jamais par email ou messagerie. Il permet à n'importe quel agent de se connecter à votre domaine.


2. Déployer un agent via container (recommandé)

C'est la méthode la plus simple et la plus reproductible.

Prérequis

  • Podman ou Docker installé sur le serveur cible
  • Accès réseau vers api.abls-habitat.fr (port 5559)

Commande de déploiement

La console génère automatiquement la commande adaptée à votre domaine. Rendez-vous sur /agent/add et copiez la commande affichée :

podman run -d \
  --name abls-agent \
  --restart always \
  --tz local \
  -p 5559:5559 \
  -v /dev/log:/dev/log \
  --env ABLS_API_URL=api.abls-habitat.fr \
  --env ABLS_DOMAIN_UUID=<domain_uuid> \
  --env ABLS_DOMAIN_SECRET=<domain_secret> \
  --group-add keep-groups \
  docker.io/sebaru/abls-agent:latest

Remplacez <domain_uuid> et <domain_secret> par vos valeurs réelles.

Utiliser la page /agent/add

La page /agent/add génère automatiquement la commande avec vos valeurs de domaine pré-remplies. C'est le moyen le plus simple d'éviter les erreurs de copie.


3. Déployer un agent en natif

Si vous préférez une installation native sur Debian/Fedora/RaspiOS :

Installation

sudo bash -c "$(wget https://raw.githubusercontent.com/sebaru/Watchdog/main/INSTALL.sh -q -O -)"

Liaison au domaine

Une fois installé, liez l'agent :

sudo Watchdogd --save --domain-uuid <domain_uuid> --domain-secret <domain_secret>

Démarrage du service

sudo systemctl enable --now watchdogd

Configuration MQTT TLS (optionnel)

Si le broker MQTT utilise SSL/TLS, éditez /etc/abls-habitat-agent.conf pour y ajouter les clés CA :

{
  "mqtt_ca_file": "/chemin/vers/ca.pem",
  "mqtt_ca_path": ""
}

Si ces champs sont absents ou vides, l'agent tente une détection automatique du CA système. Voir la référence de configuration de l'agent pour la liste complète des paramètres.


4. Vérifier que l'agent est bien lié

Depuis la console, rendez-vous sur /agents.

La liste affiche tous les agents connus du domaine. Votre nouvel agent doit apparaître avec :

Colonne Valeur attendue
Hostname Nom du serveur
Version Version de Watchdogd
État Actif (pastille verte)
Master Oui si c'est le seul agent ou le principal

L'agent n'apparaît pas ?

Vérifiez que : - Le service tourne bien (systemctl status watchdogd ou podman ps) - Le serveur peut atteindre api.abls-habitat.fr sur le port 5559 - Le domain_uuid et le domain_secret sont corrects


5. Actions disponibles sur un agent

Depuis la liste des agents (/agents), plusieurs actions sont disponibles :

Action Description
Redémarrer Relance le processus Watchdogd sur le serveur distant
Mettre à jour Télécharge et installe la dernière version de l'agent
Promouvoir en Master Désigne cet agent comme agent principal du domaine
Mettre à jour tous les slaves Met à jour en masse tous les agents secondaires

Agent Master vs Slave

Dans un déploiement multi-agents, un agent est désigné Master : il gère les tâches centrales. Les autres agents (Slaves) portent des connecteurs supplémentaires (GPIO, Modbus sur un autre réseau…).


Résumé des actions

1. Récupérer Domain UUID et Domain Secret depuis /domain/edit
2. Se rendre sur /agent/add pour obtenir la commande de déploiement
3. Exécuter la commande sur le serveur cible
4. Vérifier l'apparition de l'agent dans /agents
5. → Passer à l'étape suivante : configurer les threads

Page suivante : Configurer les threads (connecteurs)