Public | Automated Build

Last pushed: 3 months ago
Short Description
Agent part for proxy to bootloader-web. ALPHA stage.
Full Description


Agent application for bootloader-web
to serve as proxy for requests require L2 connectivity such as DHCP and in some
cases TFTP for faster downloads.

Currently deep-deep alpha state.


Currently there's the way to configure the agent via environment variables:

  • AGENT_URL - required, url to be passed to deployed server to grab some data, such as
    download images, files, etc.
  • API_TOKEN - required, bootloader-web API access token
  • BOOTLOADER_URL - required, URL of bootloader-web instance
  • BROKER_URL - required, URL of broker for celery
  • DHCP_BOOT_FILENAME - filename to use for PXE boot. Builtin files are: pxelinux.0, lpxelinux.0 - default
  • DHCP_NETMASK - netmask in IP form to serve by DHCP, example:
  • DHCP_RANGE - <range_start>,<range_end>,<lease_duration> formated string
  • DHCP_ROUTER - network router to serve by DHCP, example:
  • DNSMASQ_OPTS - custom options to be passed to dnsmasq.
  • LOG_FORMAT - log record format string. As Python template
  • QUEUE - queue name generated by bootloader-web for particular location
  • RUN_DHCP - true|false should we enable DHCP server or not
  • RUN_HTTP - true|false should we enable HTTP server or not
  • RUN_TFTP - true|false should we enable TFTP server or not

Run example

docker run -it --cap-add NET_ADMIN --network=host \
  -e AGENT_URL='' \
  -e API_TOKEN=<bootloader_api_token> \
  -e BROKER_URL='amqp://' \
  -e DHCP_RANGE=,,3h \
  -e DNSMASQ_OPTS='--dhcp-option=option:ntp-server,' \
  -e QUEUE=deployment-1-mylocationname \
  -e RUN_DHCP=true \
  -e RUN_HTTP=true \
  -e RUN_TFTP=true \


The code is licenced under GPLv2 licence.

Docker Pull Command
Source Repository