damex.incus.incus_cluster role – Ensure Incus cluster.
Note
This role is part of the damex.incus collection (version 1.6.1).
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it use: ansible-galaxy collection install damex.incus.
To use it in a playbook, specify: damex.incus.incus_cluster.
Entry point main – Ensure Incus cluster.
Synopsis
Ensure Incus cluster.
Parameters
Parameter |
Comments |
|---|---|
Path to the TLS client certificate for API authentication. |
|
Path to the TLS client key for API authentication. |
|
Cluster group to assign the member to. |
|
Preseed configuration for the Incus cluster. |
|
Cluster-specific preseed settings. |
|
Whether clustering is enabled. Choices:
|
|
Member-specific configuration overrides. |
|
Type of entity being configured. |
|
Configuration key to set. |
|
Name of the entity. |
|
Value for the configuration key. |
|
Address of the cluster member. |
|
Name of the cluster member. |
|
Server configuration key/value pairs. |
|
Agree to ACME terms of service. Choices:
|
|
URL of the ACME directory. |
|
ACME challenge type to use. Choices:
|
|
Domain for which the certificate is issued. |
|
Email address for the ACME account. |
|
Port to use for HTTP-01 challenge. |
|
DNS provider for DNS-01 challenge. |
|
Environment variables for the DNS provider. |
|
DNS resolvers for the DNS provider. |
|
Starlark scriptlet for custom authorization logic. |
|
Compression algorithm for backups. |
|
Number of seconds after which an offline member is evacuated. |
|
Address to use for cluster communication. |
|
Minimum number of cluster members with a copy of an image. |
|
Expiry time for cluster join tokens. |
|
Maximum number of standby database members. |
|
Maximum number of voting database members. |
|
Number of seconds after which a heartbeat-less member is considered offline. |
|
Number of instances to move per rebalance batch. |
|
Cooldown period between rebalance runs. |
|
Interval in seconds between rebalance checks. |
|
Percentage threshold to trigger rebalancing. |
|
Address to bind the BGP server to. |
|
BGP Autonomous System Number for the local server. |
|
Unique BGP router ID for the local server. |
|
Address to bind the pprof debug server to. |
|
Address to bind the authoritative DNS server to. |
|
Address to bind the HTTPS API server to. |
|
Whether to set Access-Control-Allow-Credentials. Choices:
|
|
Access-Control-Allow-Headers header value. |
|
Access-Control-Allow-Methods header value. |
|
Access-Control-Allow-Origin header value. |
|
Comma-separated list of trusted proxy IP addresses. |
|
Address to bind the metrics server to. |
|
Whether to require authentication for metrics. Choices:
|
|
HTTP proxy for the server to use. |
|
HTTPS proxy for the server to use. |
|
Hosts that should bypass the proxy. |
|
Expiry time for remote add tokens. |
|
Number of minutes to wait for running operations to complete before shutdown. |
|
Address to bind the storage buckets server to. |
|
Whether to enable the syslog Unix socket listener. Choices:
|
|
Whether to trust CA-signed client certificates. Choices:
|
|
Whether to auto-update cached images. Choices:
|
|
Interval in hours between image update checks. |
|
Compression algorithm for images. |
|
Default architecture for images. |
|
Number of days after which unused cached images expire. |
|
Whether to run a separate LXCFS per instance. Choices:
|
|
Template for host-side veth interface names. |
|
Starlark scriptlet for custom instance placement. |
|
CA certificate for OVN northbound connection. |
|
Client certificate for OVN northbound connection. |
|
Client key for OVN northbound connection. |
|
OVS integration bridge to use for OVN networks. |
|
OVN northbound database connection string. |
|
OVS database connection string. |
|
Expected audience value for OIDC tokens. |
|
OIDC claim to use as the username. |
|
OIDC client ID. |
|
OIDC issuer URL. |
|
Comma-separated list of OIDC scopes to request. |
|
API token for the OpenFGA server. |
|
URL of the OpenFGA server. |
|
OpenFGA store ID. |
|
Volume to use for storing backup tarballs. |
|
Volume to use for storing image tarballs. |
|
CA certificate for LINSTOR controller connection. |
|
Client certificate for LINSTOR controller connection. |
|
Client key for LINSTOR controller connection. |
|
LINSTOR controller connection string. |
|
Name of the LINSTOR satellite on this cluster member. |
|
Volume to use for storing log files. |
|
Path to the trusted server certificate. |
|
Path to the Incus Unix socket. |
|
Authentication token for the Incus API. |
|
URL of the Incus REST API endpoint. |
|
Whether to validate TLS certificates. Choices:
|
Examples
- name: Ensure incus cluster
hosts: incus
tasks:
- name: Ensure incus cluster
ansible.builtin.import_role:
name: damex.incus.incus_cluster
vars:
incus_cluster_group: incus
incus_cluster_preseed:
cluster:
server_name: "{{ inventory_hostname }}"
enabled: true
server_address: "{{ ansible_default_ipv4.address }}:8443"
cluster_address: "{{ ansible_default_ipv4.address }}:8443"
- name: Ensure incus cluster with letsencrypt
hosts: incus
tasks:
- name: Ensure incus cluster with letsencrypt
ansible.builtin.import_role:
name: damex.incus.incus_cluster
vars:
incus_cluster_group: incus
incus_cluster_preseed:
config:
acme.ca_url: https://acme-v02.api.letsencrypt.org/directory
acme.domain: incus.example.com
acme.agree_tos: "true"
cluster:
server_name: "{{ inventory_hostname }}"
enabled: true
server_address: "{{ ansible_default_ipv4.address }}:8443"
cluster_address: "{{ ansible_default_ipv4.address }}:8443"