|
|
# Webhook
|
|
|
This page describes how to get an individual test environment with a goSDN and three CEOS Containers, by calling a webhook. At the current stage you get a port to communicate with the goSDN instance over HTTP and GRPC. The goSDN is connected to all three CEOS instances via a separate management subnet. All connection endpoints are displayed as output of the webhook.
|
|
|
|
|
|
This page describes how to get a individual test environment with a goSDN and three CEOS Containers, by calling a webhook. At the current stage you get a port to communicate with the goSDN instance over HTTP and GRPC. The goSDN is connected to all three CEOS instances via a separate management subnet. All connection endpoints are displayed as output of the webhook.
|
|
|
|
|
|
The webhook uses the tool [Containerlab](https://containerlab.srlinux.dev/) to setup the test environments
|
|
|
The webhook uses the tool [Containerlab](https://containerlab.srlinux.dev/) to setup the test environments.
|
|
|
|
|
|
## Dependencies:
|
|
|
These tools are optional but are used in the examples.
|
... | ... | @@ -14,7 +12,7 @@ These tools are optional but are used in the examples. |
|
|
Create a simple test environment. You need to supply a custom name through a query parameter (?name=<lab-name>). At the current stage it is recommended to use a name that is not very generic because it is possible to override a different setup with the same name. Executing the command multiple times resets the environment:
|
|
|
|
|
|
```shell
|
|
|
curl 'http://141.100.70.178:9000/hooks/lab-deploy?name='
|
|
|
curl 'http://141.100.70.178:9000/hooks/lab-deploy?name=<lab-name>'
|
|
|
```
|
|
|
|
|
|
It is also possible to define the container tag of the goSDN container through query parameter. The Tag must exist in the container repository.
|
... | ... | @@ -29,27 +27,21 @@ It is possible to supply a custom goSDN config file packaged with json. The jo t |
|
|
jo config=%config.toml | curl -X POST -H "Content-Type:application/json" 'http://141.100.70.178:9000/hooks/lab-deploy?name=<lab-name>' -d @-
|
|
|
```
|
|
|
|
|
|
### Custom Topology
|
|
|
|
|
|
It is also possible to supply a custom topology file. In this case you need to supply the name through query parameter, but you cannot specify a tag for the goSDN container. You can of course do this inside your topology file. It is not necessary to define a management subnet.
|
|
|
|
|
|
```
|
|
|
jo topology=%<filename>.clab.yml | curl -X POST -H "Content-Type:application/json" 'http://141.100.70.178:9000/hooks/lab-deploy?name=<lab-name>' -d @-
|
|
|
```
|
|
|
|
|
|
If you your topology contains a goSDN container with the node name `gosdn` you can define a custom goSDN config file.
|
|
|
|
|
|
```
|
|
|
jo config=%config.toml topology=%<filename>.clab.yml | curl -X POST -H "Content-Type:application/json" 'http://141.100.70.178:9000/hooks/lab-deploy?name=<lab-name>' -d @-
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Example Output
|
|
|
```
|
|
|
############## CONTAINERLAB DEPLOY WEBHOOK ##############
|
|
|
|
... | ... | |