Documentation
¶
Overview ¶
Package generate turns a compose project into Quadlet units.
Two commitments shape the output. First, every non-obvious translation decision is annotated in the unit itself, because the person reading the unit in six months is the one who needs to know why it says what it says. Second, nothing is dropped silently: a compose feature that cannot be translated becomes a finding, never an omission.
The default shape is one .container per service plus a shared .network, per ADR-0001. That is not a stylistic choice: Podman's default network has DNS disabled, so without a user-defined network, sibling service names do not resolve and the compose semantics are lost.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Note ¶
type Note struct {
// Unit is the generated unit it concerns, empty for project-wide notes.
Unit string
// Message states what happened.
Message string
// Severity is `error`, `warning`, or `note`.
Severity string
}
Note is a translation decision or an untranslatable feature.
type Options ¶
type Options struct {
// Pod emits a single .pod unit that every container joins, instead of a
// shared .network. Containers in a pod share a network namespace and
// reach each other on localhost.
Pod bool
// Annotate writes explanatory comments into the generated units.
// On by default; tests that compare exact bytes may turn it off.
Annotate bool
}
Options control conversion.