update README
This commit is contained in:
parent
7ffefb1159
commit
4219a7d001
34
README.md
34
README.md
@ -3,30 +3,30 @@
|
||||
## Description
|
||||
Un démon simple écrit en Go qui prend une requête PURGE en entrée et la transmet à plusieurs serveurs varnish.
|
||||
|
||||
## Installation
|
||||
* Compiler le programme
|
||||
```
|
||||
cd app/
|
||||
go get ./...
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ../build/http-broadcaster main.go
|
||||
```
|
||||
* Déposer la liste des serveurs varnish à côté du binaire, avec ce format :
|
||||
```
|
||||
http://10.13.32.1:6081,http://10.13.32.2:6081
|
||||
```
|
||||
## Configuration
|
||||
Arguments de lancement :
|
||||
* -l (--log) : emplacement du fichier de log. (Default : /app/http-broadcaster.log)
|
||||
* -e (--envfile) : emplacement du fichier de variables d'environnement. (Default : /vault/secrets/.env)
|
||||
* --metrics : active l'exposition des métriques prometheus sur /metrics. (Default : false)
|
||||
|
||||
### Variables d'environement
|
||||
|
||||
La liste de serveurs Varnish peut être fournie directement dans un fichier d'env :
|
||||
* 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
|
||||
|
||||
* 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.
|
||||
* 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
|
||||
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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user