bouncer/misc/packaging/common/config.yml

213 lines
6.6 KiB
YAML
Raw Normal View History

2023-05-28 17:08:30 +02:00
# Configuration du service "admin"
2023-04-24 20:52:12 +02:00
admin:
http:
2023-05-28 17:08:30 +02:00
# Hôte d'écoute du service,
# 0.0.0.0 pour écouter sur toutes les interfaces
2023-04-24 20:52:12 +02:00
host: 127.0.0.1
2023-05-28 17:08:30 +02:00
# Port d'écoute du service
2023-04-24 20:52:12 +02:00
port: 8081
2023-07-06 16:16:11 +02:00
# Utiliser les entêtes HTTP True-Client-IP, X-Real-IP ou X-Forwarded-For
# pour le calcul de l'adresse distante à l'origine des requêtes
useRealIP: true
2023-05-28 17:08:30 +02:00
# Configuration CORS du service
# Uniquement nécessaire si un frontend web
# est branché sur l'API d'administration.
2023-04-24 20:52:12 +02:00
cors:
allowedOrigins:
2023-05-28 17:08:30 +02:00
- http://localhost:8081
2023-04-24 20:52:12 +02:00
allowCredentials: true
allowMethods:
- POST
- GET
- PUT
- DELETE
allowedHeaders:
- Origin
- Accept
- Content-Type
- Authorization
- Sentry-Trace
debug: false
2023-07-01 01:51:01 +02:00
# Authentification JWT
2023-04-24 20:52:12 +02:00
auth:
2023-07-01 01:51:01 +02:00
# Origine du jeton JWT
2023-04-24 20:52:12 +02:00
issuer: http://127.0.0.1:8081
2023-07-01 01:51:01 +02:00
# Clé privée permettant de signer les jetons
# JWT générés pour l'usage de l'API d'administration.
2023-05-28 15:41:40 +02:00
privateKey: /etc/bouncer/admin-key.json
2023-05-28 17:08:30 +02:00
2023-07-01 01:51:01 +02:00
# Métriques Prometheus
metrics:
# Activer ou désactiver la publication des métriques
enabled: true
# Route de publication des métriques
endpoint: /.bouncer/metrics
# Authentification "basic auth" sur la page
# de publication
# Mettre à null pour désactiver l'authentification
# Les couples d'identifiants doivent être spécifiés sous la forme:
# basicAuth:
# credentials:
# <username>: <password>
2023-07-01 01:51:01 +02:00
basicAuth: null
2023-07-05 20:05:30 +02:00
# Configuration de l'intégration Sentry
# Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions
sentry:
dsn: ""
debug: false
flushTimeout: 2s
attachStacktrace: true
sampleRate: 1
enableTracing: true
tracesSampleRate: 0.2
profilesSampleRate: 1
ignoreErrors: []
sendDefaultPII: false
serverName: ""
environment: ""
maxBreadcrumbs: 0
maxSpans: 1000
maxErrorDepth: 10
2023-07-01 01:51:01 +02:00
2023-05-28 17:08:30 +02:00
# Configuration du service "proxy"
2023-04-24 20:52:12 +02:00
proxy:
http:
2023-05-28 17:08:30 +02:00
# Hôte d'écoute du service,
# 0.0.0.0 pour écouter sur toutes les interfaces
2023-04-24 20:52:12 +02:00
host: 0.0.0.0
2023-05-28 17:08:30 +02:00
# Port d'écoute du service
2023-04-24 20:52:12 +02:00
port: 8080
2023-07-06 16:16:11 +02:00
# Utiliser les entêtes HTTP True-Client-IP, X-Real-IP ou X-Forwarded-For
# pour le calcul de l'adresse distante à l'origine des requêtes
useRealIP: true
2023-07-01 01:51:01 +02:00
# Métriques Prometheus
metrics:
# Activer ou désactiver la publication des métriques
enabled: true
# Route de publication des métriques
endpoint: /.bouncer/metrics
# Authentification "basic auth" sur la page
# de publication
# Mettre à null pour désactiver l'authentification
basicAuth:
# Les couples d'identifiants doivent être spécifiés
# sous la forme "<username>: <password>"
2023-07-01 21:47:34 +02:00
credentials:
prometheus: changeme
2023-07-01 21:47:34 +02:00
# Configuration du transport HTTP(S)
# Voir https://pkg.go.dev/net/http#Transport
transport:
forceAttemptHTTP2: true
maxIdleConns: 100
maxIdleConnsPerHost: 100
maxConnsPerHost: 100
idleConnTimeout: 1m30s
tlsHandshakeTimeout: 10s
expectContinueTimeout: 1s
disableKeepAlives: false
disableCompression: false
responseHeaderTimeout: 10s
writeBufferSize: 4096
readBufferSize: 4096
maxResponseHeaderBytes: 0
2023-07-05 20:05:30 +02:00
# Configuration de l'intégration Sentry
# Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions
sentry:
dsn: ""
debug: false
flushTimeout: 2s
attachStacktrace: true
sampleRate: 1
enableTracing: true
tracesSampleRate: 0.2
profilesSampleRate: 1
ignoreErrors: []
sendDefaultPII: false
serverName: ""
environment: ""
maxBreadcrumbs: 0
maxSpans: 1000
maxErrorDepth: 10
2023-07-01 21:47:34 +02:00
# Configuration des connexions TCP
# Voir https://pkg.go.dev/net#Dialer
dial:
timeout: 30s
keepAlive: 30s
fallbackDelay: 300ms
dualStack: true
2023-05-28 17:08:30 +02:00
# Configuration du client Redis
#
# Les modes "standalone", "sentinel" et "cluster" de Redis sont supportés:
# - Mode "standalone": renseigner une seule entrée dans redis.addresses;
# - Mode "sentinel": renseigner une adresse dans redis.master et une ou plusieurs adresses dans redis.addresses;
# - Mode "cluster": renseigner plusieurs adresses dans redis.addresses et laisser redis.master vide.
2023-05-28 15:41:40 +02:00
redis:
addresses:
- localhost:6379
master: ""
2023-05-28 17:08:30 +02:00
# Configuration des logs
2023-04-24 20:52:12 +02:00
logger:
2023-05-28 17:08:30 +02:00
# Niveau de verbosité
# 0 - DEBUG
# 1 - INFO
# 2 - WARNING
# 3 - ERROR
# 4 - FATAL
2023-04-24 20:52:12 +02:00
level: 1
2023-05-28 17:08:30 +02:00
# Format des logs, "human" ou "json"
2023-05-28 15:41:40 +02:00
format: human
# Configuration des différents layers
layers:
# Configuration du layer "queue"
queue:
# Répertoire contenant les templates
templateDir: "/etc/bouncer/layers/queue/templates"
# Temps de vie par défaut d'une session
2023-07-06 03:19:45 +02:00
defaultKeepAlive: 1m
# Configuration du layer "circuitbreaker"
circuitbreaker:
# Répertoire contenant les templates
templateDir: "/etc/bouncer/layers/circuitbreaker/templates"
# Configuration d'une série de proxy/layers
# à créer par défaut par le serveur d'administration
bootstrap:
# Répertoire contenant les définitions de proxy à créer
# par défaut. Les fichiers seront récupérés si ils
# correspondent au patron de nommage suivant:
#
# <bootstrap_dir>/<proxy_name>.yml
#
# Si l'attribut est vide ou absent le chargement des fichiers
# est désactivé.
dir: /etc/bouncer/bootstrap.d
# Tableau associatif de définition de proxies à créer par
# défaut par le serveur d'administration.
# Si `proxies` et `dir` sont tous les deux définis, les fichiers
# présents dans le répertoire `dir` surchargeront les valeurs définies
# dans `proxies`.
# Par défault non défini
# proxies:
# my-proxy:
# enabled: true
# from: ["*"]
# to: "https://example.net"
# weight: 0
# layers:
# my-layer:
# type: queue
# enabled: false
# weight: 0
# options: {"capacity": 100}
2023-07-06 03:19:45 +02:00