Help Text
This is the full help text of the pyromaniac program as produced by executing pyromaniac --help
.
Usage: pyromaniac [-p] [-s] [--iso] [--iso-arch ISO_ARCH] [--iso-net ISO_NET]
[--iso-disk ISO_DISK] [--serve] [--address ADDRESS]
[--auth AUTH] [-h]
[input] [args ...]
Compile a pyromaniac config into ignition format and output it as a string,
as a live or installer ISO image or over HTTP(S). Automatically generate TLS
certificates and authentication credentials for secured network-based
installations.
The pyromaniac configuration format is described in the official
documentation:
https://salatfreak.github.io/pyromaniac/
Downloaded ISO images and encryption keys are stored in /data/cache and
/data/secrets respectively and should be persisted as volumes.
Positional:
input Pyromaniac file or directory to compile. (default:
standard input)
args Arguments to pass to the main component.
Options:
-p, --pretty Make butane produce pretty formatted JSON.
-s, --strict Make butane fail on any warnings.
--iso Generate an ISO live or installer image instead of an
ignition config and write it to standard output.
--iso-arch ISO_ARCH Set the processor architecture to generate the ISO
image for. (default: x86_64)
--iso-net ISO_NET Set static network configuration values for the ISOs
"ip=" kernel parameter as a comma-separated list of
"KEY=VALUE" pairs. The keys correspond to fields in
the kernel parameter without "-ip" suffixes. See the
example below.
--iso-disk ISO_DISK Make the installer automatically install Fedora CoreOS
to the specified disk and use the compiled ignition
config for the target system instead of creating a
live image from it.
--serve Serve the compiled ignition config over HTTP(S)
instead of writing it to standard out or generating an
ISO image. Also serve secrets requested from
"/+([a-z0-9-]).secret" by querying the user. These can
be used in the config for requesting encryption keys
to avoid storing those in plain text.
--address ADDRESS Set the host and optionally the scheme and port the
server is reachable at. The host can be an IPv4
address, an IPv6 address in square brackets, or a
domain name. These are used for generating
certificates (in the case of HTTPS) and authentication
credentials (if configured to be generated
automatically) for a mutually secured connection.
(default: http://127.0.0.1:8000/)
--auth AUTH Set the credentials for HTTP(S) basic authentication
in the format "USER:PASS". Use "auto" to generate
credentials from a cryptographic hash of the address
and a randomly generated but persistent salt. Use
"none" to disable. (default: "none" for HTTP, "auto"
for HTTPS)
-h, --help Show this help message and exit.
Additionally, when generating an ISO you can specify flags to be passed on to
`coreos-installer iso customize` by prefixing them with "--iso-raw-" (e.g.,
"--iso-raw-dest-karg-append quiet").
Examples:
Create a pretty ignition config for placing a file "/foo.txt":
$ pyromaniac --pretty > main.ign \
... <<< 'storage.files[0]: `file("/foo.txt", "bar")`'
Create an ISO image for installation based on a configuration fetched over a
mutually authenticated encrypted statically configured network connection:
$ pyromaniac --iso \
... --iso-net client=192.168.0.32,netmask=255.255.255.0,gw=192.168.0.1 \
... --iso-disk /dev/sda \
... --address https://192.168.0.16:4433/ \
... <<< '`remote()`' > installer.iso
Serve a config over a mutually authenticated encrypted network connection:
$ pyromaniac --serve --address https://192.168.0.16:4433/ -i config.py