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
podupbinary.
Structs§
- Build
Options docker compose build-style CLI overrides. Each augments (never weakens) the per-servicebuild: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, mirroringdocker compose cpflags. - Engine
- Handle through which all Podman operations for a project are dispatched.
- Exec
Options - Options for
Engine::exec, mirroringdocker compose execflags. - Images
Options - Options for
Engine::images_with_options. - Logs
Options - Options for
Engine::logs_with_options, mirroringdocker compose logs. - LsOptions
- Options for
list_projects(docker compose ls). - Project
Lock - Guard holding a held project lock. Dropping it releases the lock (the OS
drops the
flockwhen the underlying file descriptor is closed). - PsOptions
- Options for
Engine::ps_with_options. - Pull
Options - Options for
Engine::pull_services_with_options, mirroringdocker compose pullflags. The--policyoverride is carried on the engine (seeEngine::with_up_overrides), not here. - Push
Options - Options for
Engine::push, mirroringdocker compose push(plus a Podman--tls-verifyescape hatch for insecure/local registries). - RunOptions
- Options for
Engine::run. - RunOverrides
- Extra
docker compose runflag overrides threaded through the engine builder (Engine::with_run_overrides). These are CLI-only refinements of aruninvocation; they live here rather than on the frozenRunOptionspublic struct so the 1.0 library API stays stable, mirroring how theupimage-acquisition overrides are carried on the engine. - Volumes
Options - Options for
Engine::list_volumes, mirroringdocker compose volumes.
Enums§
- Compose
Error - All errors produced by podup.
Functions§
- is_
safe_ project_ name - Whether
nameis 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 everypodup.project-labelled container by project; by default shows only projects with at least one running container (allincludes stopped ones). - resolve_
image_ digests - Return a copy of
filewith every serviceimage:rewritten to its registry digest (repo@sha256:...), matchingdocker 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>.