feat: add layer definition api
Some checks are pending
Cadoles/bouncer/pipeline/pr-develop Build started...
Cadoles/bouncer/pipeline/head This commit looks good

This commit is contained in:
2024-05-17 15:44:28 +02:00
parent 7456dba96f
commit 449fb69c02
42 changed files with 698 additions and 1270 deletions

View File

@ -1,6 +1,4 @@
{
"$id": "https://forge.cadoles.com/cadoles/bouncer/schemas/authn-options",
"title": "Options de configuration commune des layers 'authn-*'",
"type": "object",
"properties": {
"matchURLs": {

View File

@ -1,6 +1,4 @@
{
"$id": "https://forge.cadoles.com/cadoles/bouncer/schemas/authn-oidc-layer-options",
"title": "Options de configuration du layer 'authn-oidc'",
"type": "object",
"properties": {
"oidc": {

View File

@ -1,21 +1,29 @@
{
"$id": "https://forge.cadoles.com/cadoles/bouncer/schemas/circuitbreaker-layer-options",
"title": "Circuit breaker layer options",
"type": "object",
"properties": {
"matchURLs": {
"title": "Liste de filtrage des URLs sur lesquelles le layer est actif",
"description": "Par exemple, si vous souhaitez limiter votre layer à l'ensemble d'une section '`/blog`' d'un site, vous pouvez déclarer la valeur `['*/blog*']`. Les autres URLs du site ne seront pas affectées par ce layer.",
"default": [
"*"
],
"type": "array",
"items": {
"type": "string"
}
},
"authorizedCIDRs": {
"title": "Liste des adressages réseau d'origine autorisés (au format CIDR)",
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"templateBlock": {
"title": "Nom du bloc au sein du template de la page d'information à rendre",
"default": "default",
"description": "Voir fichier layers/circuitbreaker/templates/default.gohtml",
"type": "string"
}
},

View File

@ -1,16 +1,24 @@
{
"$id": "https://forge.cadoles.com/cadoles/bouncer/schemas/queue-layer-options",
"title": "Queue layer options",
"type": "object",
"properties": {
"capacity": {
"title": "Capacité d'accueil de la file d'attente",
"default": 1000,
"type": "number",
"minimum": 0
},
"keepAlive": {
"title": "Temps de vie d'une session utilisateur sans activité",
"description": "Durée sous forme de chaîne de caractères. Voir https://pkg.go.dev/time#ParseDuration pour plus d'informations.",
"default": "1m",
"type": "string"
},
"matchURLs": {
"title": "Liste de filtrage des URLs sur lesquelles le layer est actif",
"description": "Par exemple, si vous souhaitez limiter votre layer à l'ensemble d'une section '`/blog`' d'un site, vous pouvez déclarer la valeur `['*/blog*']`. Les autres URLs du site ne seront pas affectées par ce layer.",
"default": [
"*"
],
"type": "array",
"items": {
"type": "string"