--- argument_specs: main: description: Sets up a service in podman container(s) options: service_name: description: Name of the service. type: str required: true service_domains: description: A list of domains which should be proxied to the main service container type: list required: false default: [] service_container_http_port: description: - Port inside the container where http requests will be proxied to. - Required if service_domains is not empty. type: int required: false service_container_image: description: "The image to run in the service container(s), in FQIN format (registry/imagename:tag)." type: str required: true service_container_publish_ports: description: "A list of published ports in docker format (::)" type: list required: false default: [] service_container_mounts: description: List of bind mounts or volumes to be mounted inside the service container(s). type: list required: false default: [] elements: dict options: type: description: Type of volume type: str required: true choices: - volume - bind source: description: - Mount source. - If mount type is volume, name of the volume. - If mount type is bind, host path to bind mount inside the container. type: str required: true destination: description: Path inside the container to mount at type: str required: true readonly: description: If true, volume will be mounted as read only inside the container type: bool required: false default: false service_container_env: description: A dict of environment variables for the service container(s) type: dict required: false default: {} service_additional_containers: description: - List of additional containers for the sercice. - > Will inherit most options from main service container, except for publish_ports. All options can be overridden per-container. type: list required: false default: [] elements: dict options: name: description: - Name of the container. - > This will be appended to the service name, so if for example service name is nextcloud and this variable is cron, the resulting container will be called nextcloud-cron type: str required: true image: description: "The image to run in the container, in FQIN format (registry/image:tag)" type: str required: false default: "{{ service_container_image }}" mounts: description: List of bind mounts or volumes to be mounted inside the main service container. type: list required: false default: "{{ service_container_mounts }}" elements: dict options: type: description: Type of volume type: str required: true choices: - volume - bind source: description: - Mount source. - If mount type is volume, name of the volume. - If mount type is bind, host path to bind mount inside the container. type: str required: true destination: description: Path inside the container to mount at type: str required: true readonly: description: If true, volume will be mounted as read only inside the container type: bool required: false default: false publish_ports: description: "A list of published ports in docker format (::)" type: list required: false default: [] env: description: A dict of environment variables for the container type: dict required: false default: {} service_requires: description: List of systemd units this service container depends on. type: list required: false default: [] elements: str service_auto_update: description: Whether to let podman automatically update the service containers whenever the specified image gets updated type: bool required: false default: true