Initial commit
Basic roles for installing podman, creating containers, networks and services
This commit is contained in:
144
roles/service/meta/argument_specs.yaml
Normal file
144
roles/service/meta/argument_specs.yaml
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
argument_specs:
|
||||
main:
|
||||
short_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 (<host listen address>:<host port>:<container port>)"
|
||||
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 (<host listen address>:<host port>:<container port>)"
|
||||
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
|
||||
Reference in New Issue
Block a user