doc: add layer endpoints
Cadoles/bouncer/pipeline/head This commit looks good
Details
Cadoles/bouncer/pipeline/head This commit looks good
Details
This commit is contained in:
parent
83fcb9a39d
commit
bb5796ab8c
|
@ -5,14 +5,16 @@
|
||||||
### Déploiement mono-noeud
|
### Déploiement mono-noeud
|
||||||
|
|
||||||
![](../resources/deployment_fr.png)
|
![](../resources/deployment_fr.png)
|
||||||
|
|
||||||
## Terminologie
|
## Terminologie
|
||||||
|
|
||||||
Voici une liste des termes utilisés dans le lexique Bouncer.
|
Voici une liste des termes utilisés dans le lexique Bouncer.
|
||||||
|
|
||||||
### Proxy
|
### Proxy
|
||||||
|
|
||||||
Un "proxy" est une entité logique définissant le relation suivante:
|
Un "proxy" est une entité logique définissant le relation suivante:
|
||||||
|
|
||||||
- Un ou plusieurs patrons de filtrage sous la forme `<host>:<port>`. Ceux ci identifient le ou les domaines associés à l'entité;
|
- Un ou plusieurs patrons de filtrage sous la forme d'un patron d'URL avec le caractère `*` comme caractère générique. Ceux ci identifient le ou les domaines/chemins associés à l'entité;
|
||||||
- Une URL cible qui servira de base pour la réécriture des requêtes.
|
- Une URL cible qui servira de base pour la réécriture des requêtes.
|
||||||
|
|
||||||
Un "proxy" peut avoir zéro ou plusieurs "layers" associés.
|
Un "proxy" peut avoir zéro ou plusieurs "layers" associés.
|
||||||
|
@ -27,4 +29,4 @@ Un "layer" (calque) est une entité logique définissant un traitement à appliq
|
||||||
|
|
||||||
Un "layer" peut être activé ou désactivé.
|
Un "layer" peut être activé ou désactivé.
|
||||||
|
|
||||||
Un "layer" a un poids qui définit son niveau de priorité dans la pile de traitement (plus son poids est élevé plus il est prioritaire).
|
Un "layer" a un poids qui définit son niveau de priorité dans la pile de traitement (plus son poids est élevé plus il est prioritaire).
|
||||||
|
|
|
@ -147,7 +147,9 @@ Lister les proxies existants
|
||||||
{
|
{
|
||||||
"name": "myproxy",
|
"name": "myproxy",
|
||||||
"weight": 0,
|
"weight": 0,
|
||||||
"enabled": false
|
"enabled": false,
|
||||||
|
"createdAt": "2018-12-10T13:45:00.000Z",
|
||||||
|
"updatedAt": "2018-12-10T13:45:00.000Z"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -179,3 +181,169 @@ Supprimer le proxy
|
||||||
#### Source
|
#### Source
|
||||||
|
|
||||||
Voir [`internal/admin/proxy_route.go#deleteProxy()`](../../../internal/admin/proxy_route.go#deleteProxy)
|
Voir [`internal/admin/proxy_route.go#deleteProxy()`](../../../internal/admin/proxy_route.go#deleteProxy)
|
||||||
|
|
||||||
|
### `POST /api/v1/proxies/{proxyName}/layers`
|
||||||
|
|
||||||
|
Créer un nouveau layer pour un proxy donné
|
||||||
|
|
||||||
|
#### Paramètres
|
||||||
|
|
||||||
|
- `{proxyName}` - Nom du proxy sur lequel créer le layer
|
||||||
|
|
||||||
|
#### Exemple de corps de requête
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "mylayer", // OBLIGATOIRE - Nom du layer
|
||||||
|
"type": "<layer_type>", // OBLIGATOIRE - Type du layer, voir doc/fr/references/layers
|
||||||
|
"options": {} // OPTIONNEL - Options associées au layer, voir doc/fr/references/layers
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Exemple de résultat
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"layer": {
|
||||||
|
"name": "mylayer",
|
||||||
|
"type": "<layer_type>",
|
||||||
|
"enabled": false,
|
||||||
|
"weight": 0,
|
||||||
|
"options": {},
|
||||||
|
"createdAt": "2018-12-10T13:45:00.000Z",
|
||||||
|
"updatedAt": "2018-12-10T13:45:00.000Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Source
|
||||||
|
|
||||||
|
Voir [`internal/admin/layer_route.go#createLayer()`](../../../internal/admin/layer_route.go#createLayer)
|
||||||
|
|
||||||
|
### `GET /api/v1/proxies/{proxyName}/layers/{layerName}`
|
||||||
|
|
||||||
|
Récupérer les informations complètes sur un layer
|
||||||
|
|
||||||
|
#### Paramètres
|
||||||
|
|
||||||
|
- `{proxyName}` - Nom du proxy parent
|
||||||
|
- `{layerName}` - Nom du layer
|
||||||
|
|
||||||
|
#### Exemple de résultat
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"layer": {
|
||||||
|
"name": "mylayer",
|
||||||
|
"type": "<layer_type>",
|
||||||
|
"enabled": false,
|
||||||
|
"weight": 0,
|
||||||
|
"options": {},
|
||||||
|
"createdAt": "2018-12-10T13:45:00.000Z",
|
||||||
|
"updatedAt": "2018-12-10T13:45:00.000Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Source
|
||||||
|
|
||||||
|
Voir [`internal/admin/layer_route.go#getLayer()`](../../../internal/admin/layer_route.go#getLayer)
|
||||||
|
|
||||||
|
### `PUT /api/v1/proxies/{proxyName}/layers/{layerName}`
|
||||||
|
|
||||||
|
Modifier un layer
|
||||||
|
|
||||||
|
#### Paramètres
|
||||||
|
|
||||||
|
- `{proxyName}` - Nom du proxy parent
|
||||||
|
- `{layerName}` - Nom du layer
|
||||||
|
|
||||||
|
#### Exemple de corps de requête
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"weight": 100, // OPTIONNEL - Poids à associer au layer
|
||||||
|
"enabled": true, // OPTIONNEL - Activer/désactiver le layer
|
||||||
|
"options": {} // OPTIONNEL - Modifier les options associées au layer, voir doc/fr/references/layers
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Exemple de résultat
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"layer": {
|
||||||
|
"name": "mylayer",
|
||||||
|
"type": "<layer_type>",
|
||||||
|
"enabled": false,
|
||||||
|
"weight": 0,
|
||||||
|
"options": {},
|
||||||
|
"createdAt": "2018-12-10T13:45:00.000Z",
|
||||||
|
"updatedAt": "2018-12-10T13:45:00.000Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Source
|
||||||
|
|
||||||
|
Voir [`internal/admin/layer_route.go#updateLayer()`](../../../internal/admin/layer_route.go#updateLayer)
|
||||||
|
|
||||||
|
### `GET /api/v1/proxies/{proxyName}/layers?names={name1,name2,...}`
|
||||||
|
|
||||||
|
Lister les layers existants
|
||||||
|
|
||||||
|
#### Paramètres
|
||||||
|
|
||||||
|
- `{proxyName}` - Nom du proxy parent
|
||||||
|
- `{names}` - Optionnel - Liste des noms de proxy à appliquer en tant que filtre
|
||||||
|
|
||||||
|
#### Exemple de résultat
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"name": "mylayer",
|
||||||
|
"weight": 0,
|
||||||
|
"enabled": false,
|
||||||
|
"createdAt": "2018-12-10T13:45:00.000Z",
|
||||||
|
"updatedAt": "2018-12-10T13:45:00.000Z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Source
|
||||||
|
|
||||||
|
Voir [`internal/admin/layer_route.go#queryLayers()`](../../../internal/admin/layer_route.go#queryLayers)
|
||||||
|
|
||||||
|
## `DELETE /api/v1/proxies/{proxyName}/layers/{layerName}`
|
||||||
|
|
||||||
|
Supprimer le layer
|
||||||
|
|
||||||
|
#### Paramètres
|
||||||
|
|
||||||
|
- `{proxyName}` - Nom du proxy parent
|
||||||
|
- `{layerName}` - Nom du layer
|
||||||
|
|
||||||
|
#### Exemple de résultat
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"layerName": "mylayer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Source
|
||||||
|
|
||||||
|
Voir [`internal/admin/layer_route.go#deleteLayer()`](../../../internal/admin/layer_route.go#deleteLayer)
|
||||||
|
|
Loading…
Reference in New Issue