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:
## Dependencies:
These tools are optional but are used in the examples.
These tools are optional but are used in the examples.
...
@@ -14,7 +12,7 @@ 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:
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.
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
...
@@ -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 @-
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 @-