update README
This commit is contained in:
parent
7ffefb1159
commit
4219a7d001
34
README.md
34
README.md
@ -3,30 +3,30 @@
|
|||||||
## Description
|
## Description
|
||||||
Un démon simple écrit en Go qui prend une requête PURGE en entrée et la transmet à plusieurs serveurs varnish.
|
Un démon simple écrit en Go qui prend une requête PURGE en entrée et la transmet à plusieurs serveurs varnish.
|
||||||
|
|
||||||
## Installation
|
## Configuration
|
||||||
* Compiler le programme
|
Arguments de lancement :
|
||||||
```
|
* -l (--log) : emplacement du fichier de log. (Default : /app/http-broadcaster.log)
|
||||||
cd app/
|
* -e (--envfile) : emplacement du fichier de variables d'environnement. (Default : /vault/secrets/.env)
|
||||||
go get ./...
|
* --metrics : active l'exposition des métriques prometheus sur /metrics. (Default : false)
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ../build/http-broadcaster main.go
|
|
||||||
```
|
### Variables d'environement
|
||||||
* Déposer la liste des serveurs varnish à côté du binaire, avec ce format :
|
|
||||||
```
|
La liste de serveurs Varnish peut être fournie directement dans un fichier d'env :
|
||||||
http://10.13.32.1:6081,http://10.13.32.2:6081
|
* VARNISH_SERVERS: list of varnish backend servers. Ex "http://10.13.32.1:6081,http://10.13.32.2:6081"
|
||||||
```
|
* CLIENT_LIST : list of IPs in CIDR format (0.0.0.0/32) of authorized client to do purge/ban requests.
|
||||||
|
|
||||||
## Fonctionnalites
|
## Fonctionnalites
|
||||||
|
|
||||||
* Génère la liste des serveurs Varnish en lisant le fichier "varnish" présent à côté du binaire.
|
* Génère la liste des serveurs Varnish à partir des variables d'environnement.
|
||||||
* Ecoute sur le port 6081.
|
* 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".
|
* 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/hello/test entrainera une purge de l'uri "/hello/test" sur les serveurs Varnish.
|
* Metriques Prometheus disponible (désactivée par défaut).
|
||||||
|
* Traite les requêtes entrantes en récupérant 3 éléments et en les intégrant à la requête transmise aux serveurs Varnish :
|
||||||
|
- La méthode (PURGE ou BAN par exemple)
|
||||||
|
- L'url : / pour BAN, /codes/api/greffes/0101 par exemple pour PURGE.
|
||||||
|
- Le header X-Cache-Tags : dans le cas d'un BAN ce header contient une valeur.
|
||||||
|
|
||||||
## Usage
|
## 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.
|
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.
|
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.
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user