You are reading documentation for bouine v0.4.x — not the latest version. View latest →

Configuration

bouine est configuré via un fichier YAML passé avec --config. Les variables d’environnement sont développées (${VAR}, ${VAR:-default}) avant le décodage.

listen:
  http: ":8080"
  https: ":443"
  admin: ":9000"

storage:
  hot_max_bytes: 1GiB

upstream_pools:
  - name: app
    targets: ["app.default.svc:8080"]
    health:
      active:
        path: /healthz
        interval: 10s

routes:
  - match: { path_prefix: /api/ }
    pool: app
    cache:
      ttl_default: 60s
      stale_while_revalidate: 10s
      stale_if_error: 300s

Pages dans cette section

Référence des champs

listen

ChampPar défautDescription
http":8080"Adresse du listener HTTP/1.1
httpsAdresse du listener HTTPS (H1)
admin":9000"Adresse du serveur d’administration

storage

ChampPar défautDescription
hot_max_bytes1GiBTaille maximale du tier hot en RAM
warm_dirRépertoire du tier warm (mmap)
warm_max_bytesTaille maximale du tier warm sur disque

upstream_pools[]

ChampDescription
nameNom du pool, référencé par routes[].pool
targets[]Liste des adresses des serveurs d’origine
health.activeHealth check actif (path, interval, timeout, unhealthy_threshold)
health.passiveHealth check passif (consecutive_5xx, eject_for)

routes[]

ChampDescription
match.path_prefixCorrespondance par préfixe de chemin
match.hostCorrespondance par hôte
match.methodsCorrespondance par méthodes HTTP
poolNom du upstream pool
cache.ttl_defaultTTL par défaut si l’origine n’envoie pas d’en-têtes de fraîcheur
cache.ttl_overrideOverride le TTL interne de bouine
cache.stale_while_revalidateDurée pendant laquelle le contenu périmé est servi pendant la revalidation
cache.stale_if_errorDurée pendant laquelle le contenu périmé est servi en cas d’erreur d’origine
cache.negative_ttlTTL pour les réponses d’erreur cachables
cache.jitter_percentPourcentage aléatoire appliqué au TTL
cache.enabledActive ou désactive le cache pour cette route (par défaut: true)

cluster

ChampDescription
enabledActive le clustering
modestrong ou eventual
join[]Liste des adresses seed pour le gossip
tlsConfiguration mTLS pour la communication entre peers

tls

ChampDescription
certs[]Liste des certificats (cert_file + key_file)
min_versionVersion TLS minimale (par défaut: 1.2)

cloudflare

ChampDescription
zone_idID de zone Cloudflare
api_tokenJeton API Cloudflare (permission Cache Purge)
asyncMode asynchrone (par défaut: true)
propagateQuelles opérations propager (purge, ban, refresh)

tracing

ChampDescription
endpointPoint de terminaison OTLP (format host:port, pas URL)
service_nameNom du service pour les traces (par défaut: “bouine”)
sampling_rateTaux d’échantillonnage (0.0 à 1.0)

admin

ChampDescription
tokenJeton bearer pour l’authentification de l’API d’administration