pub struct ProcessBundleParams<'a> {
pub service_dir: &'a Path,
pub service_name: &'a str,
pub extra_networks: &'a [String],
pub extra_volumes: &'a [String],
pub podman_args: &'a [String],
pub extra_exec_start_pre: &'a [String],
pub port_names: &'a [String],
pub excluded_quadlets: &'a [String],
}Expand description
Parameters for process_quadlet_bundle.
Registry quadlets are plain podman files, used exactly as authored.
${SERVICE_PORT_*} / ${SERVICE_HOME} are runtime env expansions:
quadlet passes them through to the generated ExecStart=podman run ...
line (podman >= 5.3), where systemd expands them from the [Service]
section’s EnvironmentFile= — the .env ryra writes. The quadlet
therefore also works without ryra: copy it, write the .env by hand.
Fields§
§service_dir: &'a Path§service_name: &'a str§extra_networks: &'a [String]§extra_volumes: &'a [String]§podman_args: &'a [String]Extra args passed via PodmanArgs= in the quadlet.
extra_exec_start_pre: &'a [String]Extra ExecStartPre commands to inject into [Service] section.
port_names: &'a [String]Declared [[ports]] names from service.toml. Every
${SERVICE_PORT_<NAME>} in a quadlet must match one — runtime env
expansion can’t catch typos (an undefined var expands to “”), so
this is validated here, at the boundary.
excluded_quadlets: &'a [String]Quadlet filenames to skip: those claimed by a [[choice.option]]
whose option was not selected. Skipped files are neither processed
nor symlinked, and their Image= is never collected, so an
unselected sidecar costs no pull.