Skip to content

Model API

models

Catalog models used while planning a generated Plundarr stack.

Service dataclass

Service(
    id: str,
    title: str,
    description: str,
    category: str,
    url: str,
    order: int,
    compose: str,
    environment: str,
    service: str,
    requires: tuple[str, ...],
    recommended: tuple[str, ...],
)

Describe one selectable service and its Maraudarr-owned sources.

Attributes:

Name Type Description
id str

Stable catalog identifier used by presets and CLI selections.

title str

Human-readable service name displayed by Maraudarr.

description str

Short explanation of the service's stack responsibility.

category str

UI group used when presenting selectable services.

url str

Upstream project or service information URL.

order int

Primary deterministic position in generated output.

compose str

Catalog-root-relative Compose source path.

environment str

Catalog-root-relative environment source path.

service str

Compose service key extracted from the source chart.

requires tuple[str, ...]

Service IDs added automatically as hard dependencies.

recommended tuple[str, ...]

Related service IDs shown as non-mandatory companions.

Preset dataclass

Preset(
    id: str,
    title: str,
    description: str,
    compose_summary: tuple[str, ...],
    core: tuple[str, ...],
    defaults: tuple[str, ...],
)

Describe an opinionated starting selection for a stack.

Attributes:

Name Type Description
id str

Stable identifier accepted by the CLI.

title str

Human-readable preset name displayed by Maraudarr.

description str

Short explanation of the preset's intended voyage.

compose_summary tuple[str, ...]

Comment lines inserted into the generated chart header.

core tuple[str, ...]

Service IDs that cannot be removed from this preset.

defaults tuple[str, ...]

Optional service IDs selected when the preset starts.

services property

services: tuple[str, ...]

Return every core and optional service selected by default.

Returns:

Type Description
tuple[str, ...]

Service IDs in preset declaration order, with core services first.

StackPlan dataclass

StackPlan(
    preset: Preset,
    services: tuple[Service, ...],
    auto_added: tuple[str, ...],
)

Store a resolved service selection in deterministic output order.

Attributes:

Name Type Description
preset Preset

Preset that supplied the plan's identity and core services.

services tuple[Service, ...]

Fully resolved services in stable generation order.

auto_added tuple[str, ...]

Required service IDs absent from the explicit selection.

service_ids property

service_ids: tuple[str, ...]

Return selected service identifiers in generation order.

Returns:

Type Description
tuple[str, ...]

Service IDs matching the order of services.