Waitron reads the machine definition from YAML and templates preseed and finish scripts based on that data. When a server is set in build mode waitron will deliver a kernel/initrd/commandline set to be used by pixiecore (in API mode) to boot and install the machine.
Run in docker container
docker run -v /path/to/data:/data \
-e CONFIG_FILE=/data/config.yaml
jhaals/waitron
Run locally
export CONFIG_FILE=config.yaml && go build . && ./waitron
The config file needs a minimum set of parameters which will be available in the templates as config.value.
name | description |
---|---|
templatepath | path where the jinja2 preseed, finish templates are located |
machinepath | path where the yaml machine definitions are located |
baseurl | the url where this waitron instance will be listening |
image_url | the url where the image files (kernel+intrd) are located |
kernel | name of the kernel file for booting |
initrd | name of the initrd file for booting |
Extra parameters can be added in i.e. a params dictionari, those will be accessible in the templates as well
name | description |
---|---|
params.dns_servers | string containing the dns servers to be configured in the installed machines |
See API.md file in the repo