# http-broadcaster ## Description Un démon simple écrit en Go qui prend une requête PURGE en entrée et la transmet à plusieurs serveurs varnish. ## Installation L'installation se fait via un playbook dans le dépot [ansible-dev](https://gitlab.infolegale.net/infrastructure/ansible-dev/-/blob/master/playbooks/http-broadcaster.yml). Le rôle va se charger de déposer l'artefact créé par la pipeline de ce projet, le fichier de service systemd et démarrer le démon. Le rôle dépose également la liste des serveurs varnish à côté du binaire, au format : ``` http://10.13.32.1:6081,http://10.13.32.2:6081 ``` ## Fonctionnalites * Génère la liste des serveurs Varnish en lisant le fichier "varnish" présent à côté du binaire. * Ecoute sur le port 6081. * Healthcheck disponible sur l'uri /healthcheck pour vérifier son bon fonctionnement. Renvoie un code HTTP 200 et le message "OK". * Traite toutes les requêtes entrantes comme l'url à purger dans varnish. Par exemple un appel sur http://10.13.101.11:6081/codes/api/greffes/0101 entrainera une purge de l'uri "/codes/api/greffes/0101" sur les serveurs Varnish. ## Usage Les interactions se font via le protocol HTTP. Les applications où les utilisateurs envoient une requête de méthode PURGE vers le démon. Une fois le traitement d'une requête effectuée, le démon renvoie 200 si tout est ok, 405 dans le cas contraire. ## Roadmap * Aller chercher la liste des varnish dans vault. * Ajouter une forme d'authentification. * Ajouter d'autres possibilités que l'envoi à Varnish.