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:
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 @-