This commit is contained in:
Philippe Caseiro 2024-02-05 15:54:10 +01:00 committed by William Petit
parent 53a0d26a47
commit 1375c9b317
4 changed files with 156 additions and 162 deletions

View File

@ -18,7 +18,7 @@ spec:
spec: spec:
containers: containers:
- name: bouncer-admin - name: bouncer-admin
image: reg.cadoles.com/cadoles/bouncer:v2023.7.8-b44ff2a image: reg.cadoles.com/cadoles/bouncer:v2024.2.5-1602626
command: ["bouncer"] command: ["bouncer"]
args: ["--debug", "-c", "/etc/bouncer/config.yml", "server", "admin", "run"] args: ["--debug", "-c", "/etc/bouncer/config.yml", "server", "admin", "run"]
imagePullPolicy: Always imagePullPolicy: Always

View File

@ -15,7 +15,7 @@ layers:
redis: redis:
addresses: addresses:
- ${RFS_BOUNCER_REDIS_SERVICE_HOST}:${RFS_BOUNCER_REDIS_SERVICE_PORT} - ${RFS_BOUNCER_REDIS_SERVICE_HOST}:${RFS_BOUNCER_REDIS_SERVICE_PORT}
master: "" master: "${REDIS_MASTER_NAME}"
logger: logger:
level: 3 level: 3

View File

@ -18,7 +18,7 @@ spec:
spec: spec:
containers: containers:
- name: bouncer-server - name: bouncer-server
image: reg.cadoles.com/cadoles/bouncer:v2023.7.8-b44ff2a image: reg.cadoles.com/cadoles/bouncer:v2024.2.5-1602626
command: ["bouncer", "-c", "/etc/bouncer/config.yml", "server", "proxy", "run"] command: ["bouncer", "-c", "/etc/bouncer/config.yml", "server", "proxy", "run"]
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:

View File

@ -1,182 +1,176 @@
# Configuration du service "admin" # Configuration du service "admin"
admin: admin:
http: http:
# Hôte d'écoute du service, # Hôte d'écoute du service,
# 0.0.0.0 pour écouter sur toutes les interfaces # 0.0.0.0 pour écouter sur toutes les interfaces
host: 127.0.0.1 host: 127.0.0.1
# Port d'écoute du service # Port d'écoute du service
port: 8081 port: 8081
# Utiliser les entêtes HTTP True-Client-IP, X-Real-IP ou X-Forwarded-For # 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 # pour le calcul de l'adresse distante à l'origine des requêtes
useRealIP: true useRealIP: true
# Configuration CORS du service # Configuration CORS du service
# Uniquement nécessaire si un frontend web # Uniquement nécessaire si un frontend web
# est branché sur l'API d'administration. # est branché sur l'API d'administration.
cors: cors:
allowedOrigins: allowedOrigins:
- http://localhost:8081 - http://localhost:8081
allowCredentials: true allowCredentials: true
allowMethods: allowMethods:
- POST - POST
- GET - GET
- PUT - PUT
- DELETE - DELETE
allowedHeaders: allowedHeaders:
- Origin - Origin
- Accept - Accept
- Content-Type - Content-Type
- Authorization - Authorization
- Sentry-Trace - Sentry-Trace
debug: false debug: false
# Authentification JWT
auth:
# Origine du jeton JWT
issuer: http://127.0.0.1:8081
# Clé privée permettant de signer les jetons
# JWT générés pour l'usage de l'API d'administration.
privateKey: /etc/bouncer/admin-key.json
# Métriques Prometheus # Authentification JWT
metrics: auth:
# Activer ou désactiver la publication des métriques # Origine du jeton JWT
enabled: true issuer: http://127.0.0.1:8081
# Route de publication des métriques # Clé privée permettant de signer les jetons
endpoint: /.bouncer/metrics # JWT générés pour l'usage de l'API d'administration.
# Authentification "basic auth" sur la page privateKey: /etc/bouncer/admin-key.json
# de publication
# Mettre à null pour désactiver l'authentification # Métriques Prometheus
# Les couples d'identifiants doivent être spécifiés sous la forme: metrics:
# basicAuth: # Activer ou désactiver la publication des métriques
# credentials: enabled: true
# <username>: <password> # Route de publication des métriques
basicAuth: null endpoint: /.bouncer/metrics
# Authentification "basic auth" sur la page
# Configuration de l'intégration Sentry # de publication
# Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions # Mettre à null pour désactiver l'authentification
sentry: basicAuth: null
dsn: ""
debug: false # Configuration de l'intégration Sentry
flushTimeout: 2s # Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions
attachStacktrace: true sentry:
sampleRate: 1 dsn: ""
enableTracing: true debug: false
tracesSampleRate: 0.2 flushTimeout: 2s
profilesSampleRate: 1 attachStacktrace: true
ignoreErrors: [] sampleRate: 1
sendDefaultPII: false enableTracing: true
serverName: "" tracesSampleRate: 0.2
environment: "" profilesSampleRate: 1
maxBreadcrumbs: 0 ignoreErrors: []
maxSpans: 1000 sendDefaultPII: false
maxErrorDepth: 10 serverName: ""
environment: ""
maxBreadcrumbs: 0
maxSpans: 1000
maxErrorDepth: 10
# Configuration du service "proxy" # Configuration du service "proxy"
proxy: proxy:
http: http:
# Hôte d'écoute du service, # Hôte d'écoute du service,
# 0.0.0.0 pour écouter sur toutes les interfaces # 0.0.0.0 pour écouter sur toutes les interfaces
host: 0.0.0.0 host: 0.0.0.0
# Port d'écoute du service # Port d'écoute du service
port: 8080 port: 8080
# Utiliser les entêtes HTTP True-Client-IP, X-Real-IP ou X-Forwarded-For # 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 # pour le calcul de l'adresse distante à l'origine des requêtes
useRealIP: true useRealIP: true
# 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>"
credentials:
prometheus: changeme
# Configuration du transport HTTP(S) # Métriques Prometheus
# Voir https://pkg.go.dev/net/http#Transport metrics:
transport: # Activer ou désactiver la publication des métriques
forceAttemptHTTP2: true enabled: true
maxIdleConns: 100 # Route de publication des métriques
maxIdleConnsPerHost: 100 endpoint: /.bouncer/metrics
maxConnsPerHost: 100 # Authentification "basic auth" sur la page
idleConnTimeout: 1m30s # de publication
tlsHandshakeTimeout: 10s # Mettre à null pour désactiver l'authentification
expectContinueTimeout: 1s basicAuth:
disableKeepAlives: false credentials:
disableCompression: false prom: etheus
responseHeaderTimeout: 10s
writeBufferSize: 4096
readBufferSize: 4096
maxResponseHeaderBytes: 0
# Configuration de l'intégration Sentry # Configuration du transport HTTP(S)
# Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions # Voir https://pkg.go.dev/net/http#Transport
sentry: transport:
dsn: "" forceAttemptHTTP2: true
debug: false maxIdleConns: 100
flushTimeout: 2s maxIdleConnsPerHost: 100
attachStacktrace: true maxConnsPerHost: 100
sampleRate: 1 idleConnTimeout: 1m30s
enableTracing: true tlsHandshakeTimeout: 10s
tracesSampleRate: 0.2 expectContinueTimeout: 1s
profilesSampleRate: 1 disableKeepAlives: false
ignoreErrors: [] disableCompression: false
sendDefaultPII: false responseHeaderTimeout: 10s
serverName: "" writeBufferSize: 4096
environment: "" readBufferSize: 4096
maxBreadcrumbs: 0 maxResponseHeaderBytes: 0
maxSpans: 1000
maxErrorDepth: 10
# Configuration des connexions TCP # Configuration de l'intégration Sentry
# Voir https://pkg.go.dev/net#Dialer # Voir https://pkg.go.dev/github.com/getsentry/sentry-go?utm_source=godoc#ClientOptions
dial: sentry:
timeout: 30s dsn: ""
keepAlive: 30s debug: false
fallbackDelay: 300ms flushTimeout: 2s
dualStack: true attachStacktrace: true
sampleRate: 1
enableTracing: true
tracesSampleRate: 0.2
profilesSampleRate: 1
ignoreErrors: []
sendDefaultPII: false
serverName: ""
environment: ""
maxBreadcrumbs: 0
maxSpans: 1000
maxErrorDepth: 10
# Configuration des connexions TCP
# Voir https://pkg.go.dev/net#Dialer
dial:
timeout: 30s
keepAlive: 30s
fallbackDelay: 300ms
dualStack: true
# Configuration du client Redis # Configuration du client Redis
# #
# Les modes "standalone", "sentinel" et "cluster" de Redis sont supportés: # Les modes "standalone", "sentinel" et "cluster" de Redis sont supportés:
# - Mode "standalone": renseigner une seule entrée dans redis.addresses; # - 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 "sentinel": renseigner le nom du master sentinel dans redis.master et une ou plusieurs adresses dans redis.addresses;
# - Mode "cluster": renseigner plusieurs adresses dans redis.addresses et laisser redis.master vide. # - Mode "cluster": renseigner plusieurs adresses dans redis.addresses et laisser redis.master vide.
redis: redis:
addresses: addresses:
- localhost:6379 - localhost:6379
master: "" master: ""
# Configuration des logs # Configuration des logs
logger: logger:
# Niveau de verbosité # Niveau de verbosité
# 0 - DEBUG # 0 - DEBUG
# 1 - INFO # 1 - INFO
# 2 - WARNING # 2 - WARNING
# 3 - ERROR # 3 - ERROR
# 4 - FATAL # 4 - FATAL
level: 1 level: 2
# Format des logs, "human" ou "json" # Format des logs, "human" ou "json"
format: human format: human
# Configuration des différents layers # Configuration des différents layers
layers: layers:
# Configuration du layer "queue" # Configuration du layer "queue"
queue: queue:
# Répertoire contenant les templates # Répertoire contenant les templates
templateDir: "/etc/bouncer/layers/queue/templates" templateDir: "/etc/bouncer/layers/queue/templates"
# Temps de vie par défaut d'une session # Temps de vie par défaut d'une session
defaultKeepAlive: 1m defaultKeepAlive: 1m
# Configuration du layer "circuitbreaker" # Configuration du layer "circuitbreaker"
circuitbreaker: circuitbreaker:
# Répertoire contenant les templates # Répertoire contenant les templates
templateDir: "/etc/bouncer/layers/circuitbreaker/templates" templateDir: "/etc/bouncer/layers/circuitbreaker/templates"