diff --git a/misc/k8s/kustomization/base/resources/bouncer-admin/resources/deployment.yaml b/misc/k8s/kustomization/base/resources/bouncer-admin/resources/deployment.yaml index 19ecd3a..75b6dc0 100644 --- a/misc/k8s/kustomization/base/resources/bouncer-admin/resources/deployment.yaml +++ b/misc/k8s/kustomization/base/resources/bouncer-admin/resources/deployment.yaml @@ -18,7 +18,7 @@ spec: spec: containers: - 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"] args: ["--debug", "-c", "/etc/bouncer/config.yml", "server", "admin", "run"] imagePullPolicy: Always diff --git a/misc/k8s/kustomization/base/resources/bouncer-server/files/config.yml b/misc/k8s/kustomization/base/resources/bouncer-server/files/config.yml index 7940727..ce55335 100644 --- a/misc/k8s/kustomization/base/resources/bouncer-server/files/config.yml +++ b/misc/k8s/kustomization/base/resources/bouncer-server/files/config.yml @@ -15,7 +15,7 @@ layers: redis: addresses: - ${RFS_BOUNCER_REDIS_SERVICE_HOST}:${RFS_BOUNCER_REDIS_SERVICE_PORT} - master: "" + master: "${REDIS_MASTER_NAME}" logger: level: 3 diff --git a/misc/k8s/kustomization/base/resources/bouncer-server/resources/deployment.yaml b/misc/k8s/kustomization/base/resources/bouncer-server/resources/deployment.yaml index 8ab9072..8cd3c99 100644 --- a/misc/k8s/kustomization/base/resources/bouncer-server/resources/deployment.yaml +++ b/misc/k8s/kustomization/base/resources/bouncer-server/resources/deployment.yaml @@ -18,7 +18,7 @@ spec: spec: containers: - 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"] imagePullPolicy: Always ports: diff --git a/misc/packaging/common/config.yml b/misc/packaging/common/config.yml index 03ba17a..539d93c 100644 --- a/misc/packaging/common/config.yml +++ b/misc/packaging/common/config.yml @@ -1,176 +1,176 @@ # Configuration du service "admin" admin: - http: - # Hôte d'écoute du service, - # 0.0.0.0 pour écouter sur toutes les interfaces - host: 127.0.0.1 - # Port d'écoute du service - port: 8081 - # 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 + http: + # Hôte d'écoute du service, + # 0.0.0.0 pour écouter sur toutes les interfaces + host: 127.0.0.1 + # Port d'écoute du service + port: 8081 + # 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 - # Configuration CORS du service - # Uniquement nécessaire si un frontend web - # est branché sur l'API d'administration. - cors: - allowedOrigins: - - http://localhost:8081 - allowCredentials: true - allowMethods: - - POST - - GET - - PUT - - DELETE - allowedHeaders: - - Origin - - Accept - - Content-Type - - Authorization - - Sentry-Trace - 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 + # Configuration CORS du service + # Uniquement nécessaire si un frontend web + # est branché sur l'API d'administration. + cors: + allowedOrigins: + - http://localhost:8081 + allowCredentials: true + allowMethods: + - POST + - GET + - PUT + - DELETE + allowedHeaders: + - Origin + - Accept + - Content-Type + - Authorization + - Sentry-Trace + debug: false - # 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: null - - # 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 + # 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 + 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: null + + # 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 # Configuration du service "proxy" proxy: - http: - # Hôte d'écoute du service, - # 0.0.0.0 pour écouter sur toutes les interfaces - host: 0.0.0.0 - # Port d'écoute du service - port: 8080 - # 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 - - # 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: - credentials: - prom: etheus + http: + # Hôte d'écoute du service, + # 0.0.0.0 pour écouter sur toutes les interfaces + host: 0.0.0.0 + # Port d'écoute du service + port: 8080 + # 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 - # 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 + # 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: + credentials: + prom: etheus - # 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 + # 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 - # Configuration des connexions TCP - # Voir https://pkg.go.dev/net#Dialer - dial: - timeout: 30s - keepAlive: 30s - fallbackDelay: 300ms - dualStack: true + # 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 + + # Configuration des connexions TCP + # Voir https://pkg.go.dev/net#Dialer + dial: + timeout: 30s + keepAlive: 30s + fallbackDelay: 300ms + dualStack: true # 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 "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. redis: - addresses: - - localhost:6379 - master: "" + addresses: + - localhost:6379 + master: "" # Configuration des logs logger: - # Niveau de verbosité - # 0 - DEBUG - # 1 - INFO - # 2 - WARNING - # 3 - ERROR - # 4 - FATAL - level: 1 - # Format des logs, "human" ou "json" - format: human + # Niveau de verbosité + # 0 - DEBUG + # 1 - INFO + # 2 - WARNING + # 3 - ERROR + # 4 - FATAL + level: 1 + # Format des logs, "human" ou "json" + 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 - defaultKeepAlive: 1m - - # Configuration du layer "circuitbreaker" - circuitbreaker: - # Répertoire contenant les templates - templateDir: "/etc/bouncer/layers/circuitbreaker/templates" - \ No newline at end of file + # 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 + defaultKeepAlive: 1m + + # Configuration du layer "circuitbreaker" + circuitbreaker: + # Répertoire contenant les templates + templateDir: "/etc/bouncer/layers/circuitbreaker/templates" +