|
|
||
|---|---|---|
| .gitea/workflows | ||
| .vscode | ||
| configs | ||
| templates | ||
| .concourse.yaml | ||
| .dockerignore | ||
| .gitignore | ||
| app.py | ||
| Containerfile | ||
| README.md | ||
| requirements.txt | ||
| vyos-cloud.v1.schema.json | ||
| vyos-cloud.v2-devel.schema.json | ||
Vyos-Cloud
Description
Provide Cloud-Init NoCloud user-data, meta-data, and vendor-data endpoints with configurable content in support of ephemeral Vyos routing nodes.
Dependencies
- Python3
- Flask
- Waitress
- jsonschema
Usage
Commandline
$ python3 ./app.py client [-h] [-a API] [-t {zip}] configFile templateFile`
or
$ docker run --rm PATH_TO_LOCAL_CONFIGS:/usr/src/app/configs $(docker build --quiet .) client [-h] [-a API] [-t {zip}] configFile templateFile
positional arguments: configFile configuration file to read vars from templateFile name of file to render from template dir
options: -h, --help show this help message and exit -a API, --api API version of template to use; defaults to v1 -t {zip}, --archive {zip} render all templates to an archive type specified here and the archive name specified by filename
Server
$ docker run --rm -p 8080:8080 $(docker build --quiet .)
api v1
http(s)://HOST/v1/VLAN/DOMAIN/FILEPATH http(s)://HOST/v1/VLAN/DOMAIN/FILENAME?archive=zip
- Serves the user-data and meta-data endpoints required by Cloud-Init.
- Replace VLAN with the VLAN number.
- Replace DOMAIN with the domain name.
- Replace filepath/filename with the desired file path/name.
- Use the archive query parameter to download all files in an archive. Only zip is supported at the moment.
Example: /v1/100/example.com/user-data
api v2-devel
http(s)://HOST/v2-devel/CONF/FILEPATH http(s)://HOST/v2-devel/CONF/FILENAME?archive={zip}
- Serves the user-data and meta-data endpoints required by Cloud-Init.
- Replace CONF with the configuration file name.
- Replace filepath/filename with the desired file path/name.
- Use the archive query parameter to download all files in an archive. Only zip is supported at the moment.