{% extends "layout.html" %} {% from "_partials/page_description.html" import page_description %} {% block title %}Settings - pixie{% endblock %} {% block subnav %} {% endblock %} {% block content %} {{ page_description('sliders', 'Operator-editable knobs that pixie persists across restarts, alongside the environment variables the deploy consumes at startup. UI edits below win over env-var defaults, so tuning a knob live in the browser does not need a redeploy. Env-var defaults are documented in the Deployment card at the bottom.') }} {% if flash_error %}
Environment variables the pixie process reads at startup.
The compose file bundled by pixie deploy sets
the important ones from envvars; anything not
set falls back to the default in the table. Changes here
require a container restart (they are read once at
startup), unlike the UI knobs above which are live.
| Variable | Default | Purpose |
|---|---|---|
{{ row.name }} |
{% if row.default %}{{ row.default }}
{% else %}(none){% endif %}
|
{{ row.purpose }} |
Pixie chainloads iPXE via TFTP: the DHCP server tells the target's PXE firmware where to fetch the iPXE bootloader, and iPXE then chains to pixie's HTTP endpoint. The two options below cover the common firmware split:
/pxe-bootstrap.ipxe.
# dnsmasq
dhcp-boot=tag:!ipxe,undionly.kpxe,{{ deployment.host }},{{ deployment.host }}
dhcp-userclass=set:ipxe,iPXE
dhcp-boot=tag:ipxe,http://{{ deployment.host }}:{{ deployment.port }}/pxe-bootstrap.ipxe
/pxe-bootstrap.ipxe.
# dnsmasq
dhcp-boot=tag:!ipxe,ipxe.efi,{{ deployment.host }},{{ deployment.host }}
dhcp-userclass=set:ipxe,iPXE
dhcp-boot=tag:ipxe,http://{{ deployment.host }}:{{ deployment.port }}/pxe-bootstrap.ipxe
{{ deployment.tftp_bind }}:{{ deployment.tftp_port }}/udp
(root {{ deployment.tftp_root }})
{% else %}
disabled (set PIXIE_TFTP_ENABLED=1
to bind udp/69)
{% endif %}
http://{{ deployment.host }}:{{ deployment.port }}/pxe-bootstrap.ipxe
{{ deployment.nbd_bind }} from port
{{ deployment.nbd_port_base }} upward
(one export per bound nbdboot image)