Skip to main content

Crate podup

Crate podup 

Source
Expand description

podup — docker-compose → Podman translator library.

Provides parsing, variable substitution, topological ordering, and an async engine that drives container lifecycle via Podman’s native libpod REST API over a Unix socket or Windows named pipe.

Re-exports§

pub use compose::collect_diagnostics;
pub use compose::parse_file;
pub use compose::parse_file_with_env_files;
pub use compose::parse_files_with_env_files;
pub use compose::parse_files_with_env_files_interp;
pub use compose::parse_str;
pub use compose::parse_str_raw;
pub use compose::resolve_levels;
pub use compose::resolve_order;

Modules§

compose
Compose file parsing, extends: resolution, include: merging, and topological service ordering.
env_file
env_file: loading for services.
podman
Podman socket connection helpers.
ports
Port mapping parser.
quadlet
Translate a parsed compose file into Podman Quadlet unit files.
size
Memory and CPU value parsers shared by the engine and tests.
substitute
Docker Compose variable substitution.
update
Secure self-update for the podup binary.

Structs§

BuildOptions
docker compose build-style CLI overrides. Each augments (never weakens) the per-service build: config: a flag forces the behaviour on even when the compose file leaves it off.
Client
Podman libpod REST API client.
CpOptions
Options for Engine::cp_with_options, mirroring docker compose cp flags.
Engine
Handle through which all Podman operations for a project are dispatched.
ExecOptions
Options for Engine::exec, mirroring docker compose exec flags.
ImagesOptions
Options for Engine::images_with_options.
LogsOptions
Options for Engine::logs_with_options, mirroring docker compose logs.
LsOptions
Options for list_projects (docker compose ls).
ProjectLock
Guard holding a held project lock. Dropping it releases the lock (the OS drops the flock when the underlying file descriptor is closed).
PsOptions
Options for Engine::ps_with_options.
PullOptions
Options for Engine::pull_services_with_options, mirroring docker compose pull flags. The --policy override is carried on the engine (see Engine::with_up_overrides), not here.
PushOptions
Options for Engine::push, mirroring docker compose push (plus a Podman --tls-verify escape hatch for insecure/local registries).
RunOptions
Options for Engine::run.
RunOverrides
Extra docker compose run flag overrides threaded through the engine builder (Engine::with_run_overrides). These are CLI-only refinements of a run invocation; they live here rather than on the frozen RunOptions public struct so the 1.0 library API stays stable, mirroring how the up image-acquisition overrides are carried on the engine.
VolumesOptions
Options for Engine::list_volumes, mirroring docker compose volumes.

Enums§

ComposeError
All errors produced by podup.

Functions§

is_safe_project_name
Whether name is safe to use as a single path component and container name prefix: non-empty, bounded, ASCII alphanumeric plus -/_/., not starting with a dot (rejects ., .. and hidden directories).
list_projects
List podup projects on the host (docker compose ls). Groups every podup.project-labelled container by project; by default shows only projects with at least one running container (all includes stopped ones).
resolve_image_digests
Return a copy of file with every service image: rewritten to its registry digest (repo@sha256:...), matching docker compose config --resolve-image-digests. An image with no registry digest in local storage (e.g. built locally, or never pulled) is left unchanged with a warning.

Type Aliases§

Result
Convenience alias for std::result::Result<T, ComposeError>.