Maraudarr Developer Overview ⚒️¶
Maraudarr is the short-lived Python application that assembles a selected Plundarr stack. It reads project-owned catalog and template sources, resolves service dependencies, preserves existing environment values, validates the result with Docker Compose, and writes the final deployment atomically.
Responsibilities¶
Maraudarr owns:
- Loading services and presets from
docker/catalog/catalog.toml. - Resolving required services into deterministic output order.
- Extracting service definitions without discarding handwritten comments.
- Rendering the complete
docker-compose.yml,.env, andexample.env. - Generating first-run application secrets without replacing existing values.
- Seeding selected
config/directories without overwriting application state. - Validating the generated Compose and environment pair when Docker is present.
- Presenting interactive Rich output and dependency-free plain output.
Maraudarr does not start the generated stack, manage long-running service state, resolve Compose variables into the generated chart, or delete existing configuration.
Source Map¶
| Module | Responsibility |
|---|---|
catalog.py |
Load, validate, and resolve services and presets |
models.py |
Store immutable catalog and resolved-plan data |
render.py |
Render and atomically write deployment artifacts |
text.py |
Extract and format text while preserving comments |
ui.py |
Present rich and plain terminal experiences |
cli.py |
Parse commands and orchestrate one generator run |
The package uses the conventional docker/src/maraudarr/ layout. Runtime
dependencies and build metadata remain under docker/ because that directory
is the complete Maraudarr image context.
Public and Private Interfaces¶
The Python reference is generated from public classes,
methods, and functions. Names beginning with _ are intentionally excluded
because they are implementation details rather than compatibility promises.
Private helpers still carry concise source documentation and targeted comments
where their transformations are not obvious.
Continue with the architecture chart to follow a complete generation voyage.