orangeqs.juice.orchestration.podman#
Podman utilities.
Module Contents#
Functions#
Render the configuration for a podman container service. |
|
Render the configuration for a podman build service. |
|
Render the configurations of all podman container and build services. |
|
Enable the podman systemd socket. |
|
Ensure that a podman network exists, creating it if necessary. |
|
Check whether an image with the given name exists locally. |
|
Filter the podman build services for which the image does not exist locally. |
API#
- orangeqs.juice.orchestration.podman.render_container_service(container: orangeqs.juice.orchestration.settings.ContainerSettings, container_prefix: str, folder: pathlib.Path) str#
Render the configuration for a podman container service.
Overwrites the file if it already exists.
Parameters#
container (ContainerSettings): The container settings to render.
container_prefix (str): The prefix to use for the container service file.
folder (Path): The folder where the service file should be saved.
Returns#
(str): The name of the rendered podman container systemd service.
- orangeqs.juice.orchestration.podman.render_build_service(build: orangeqs.juice.orchestration.settings.BuildSettings, build_prefix: str, folder: pathlib.Path) str#
Render the configuration for a podman build service.
Overwrites the file if it already exists.
Parameters#
build (BuildSettings): The build settings to render.
build_prefix (str): The prefix to use for the build service file.
folder (Path): The folder where the service file should be saved.
Returns#
(str): The name of the rendered podman build systemd service.
- orangeqs.juice.orchestration.podman.render_services(settings: orangeqs.juice.orchestration.settings.OrchestrationSettings) tuple[list[str], list[str]]#
Render the configurations of all podman container and build services.
Overwrites the files if they already exist and removes old services that no longer exist in the configuration.
Parameters#
settings (JuiceSettings): The Juice settings containing the container configurations.
Returns#
(list[str]): A list of container service names of the rendered podman systemd files.
(list[str]): A list of build service names of the rendered podman systemd files.
- orangeqs.juice.orchestration.podman.enable_socket() None#
Enable the podman systemd socket.
This enables a podman socket that is compatible with the Docker API.
- orangeqs.juice.orchestration.podman.ensure_network_exists(name: str) bool#
Ensure that a podman network exists, creating it if necessary.
Parameters#
name (str): The name of the podman network.
Returns#
(bool): True if the network was created, False if it already exists.
- orangeqs.juice.orchestration.podman.image_exists(name: str) bool#
Check whether an image with the given name exists locally.
Parameters#
name (str): The image name to check.
Returns#
(bool): True if the image exists locally, False otherwise.
- orangeqs.juice.orchestration.podman.pending_build_services(build_services: list[str]) list[str]#
Filter the podman build services for which the image does not exist locally.
Parameters#
build_services (list[str]): A list of podman build service names to check.
Returns#
(list[str]): A list of podman build service names for which the image does not exist locally and needs to be built.