Pve cloud inv schema
Title: Cloud Inventory
| Type | object |
| Required | No |
| Additional properties | Not allowed |
Description: Definitions for a proxmox cloud, setup of proxmox clusters.
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| + pve_vm_subnet | No | string | No | - | Subnet this PVE cluster uses for its VMs. |
| + pve_cloud_domain | No | string | No | - | The overarching domain for the cloud. Will also be used for ddns. |
| + kea_dhcp_main_ip | No | string | No | - | Static assigned ip for the main dhcp server. This has to match your dhcp lxc inventory file! |
| + kea_dhcp_failover_ip | No | string | No | - | Static ip for slave dhcp server. This has to match your dhcp lxc inventory file! |
| + kea_dhcp_routers | No | string | No | - | option-data for kea dhcp routers. The default route router that the dhcp will communicate. |
| + kea_dhcp_pools | No | array of string | No | - | Address pools that the dhcp allocates from. Has to be within pve_vm_subnet cidr. |
| + kea_dhcp_static_routes | No | string | No | - | classless-static-routes for kea option-data. You can pass comma seperated extra routes you want the dhcp to communicate, for example to a custom VPN gateway. |
| + bind_master_ip | No | string | No | - | IP of the primary bind dns for this cluster, will be statically assigned. Has to match your bind lxc inventory file! |
| + bind_slave_ip | No | string | No | - | IP of the slave bind dns for this cluster. Has to match your bind lxc inventory file! |
| + bind_arpa_zone_service_lxcs | No | string | No | - | Arpa zone in which service lxcs with static ips will manuall get their reverse dns entries. |
| + bind_additional_arpa_zones | No | array of string | No | - | Additional arpa zones which should be created and managed in the dns / dhcp ddns. |
| + pve_clusters | No | object | No | - | Definitions for specific Proxmox clusters that will be part of the cloud. Keys are hostnames. |
| + bind_zone_admin_email | No | string | No | - | Required adminstrator email in bind format for bind zones. |
| - bind_forward_zones | No | array of object | No | - | Creates zone in bind and delegation ns records to the specified nameservers. This is very useful if you have other nameservers with their own authoritative zones you want resolved within the cloud. |
| - acme_contact | No | string | No | - | Email address to use for acme account creation. |
| - acme_method | No | enum (of string) | No | - | PVE Cloud included method for solving dns01 challenges. You need to have created the appropriate cloud secrets created. |
| - plugin | No | enum (of string) | No | - | Id of ansible inventory plugin, needs to be set exactly. |
1. Property Cloud Inventory > pve_vm_subnet
| Type | string |
| Required | Yes |
Description: Subnet this PVE cluster uses for its VMs.
Example:
"192.168.10.0/24"
2. Property Cloud Inventory > pve_cloud_domain
| Type | string |
| Required | Yes |
Description: The overarching domain for the cloud. Will also be used for ddns.
Example:
"your-cloud.example.com"
3. Property Cloud Inventory > kea_dhcp_main_ip
| Type | string |
| Required | Yes |
Description: Static assigned ip for the main dhcp server. This has to match your dhcp lxc inventory file!
Example:
"192.168.1.2"
4. Property Cloud Inventory > kea_dhcp_failover_ip
| Type | string |
| Required | Yes |
Description: Static ip for slave dhcp server. This has to match your dhcp lxc inventory file!
Example:
"192.168.1.3"
5. Property Cloud Inventory > kea_dhcp_routers
| Type | string |
| Required | Yes |
Description: option-data for kea dhcp routers. The default route router that the dhcp will communicate.
6. Property Cloud Inventory > kea_dhcp_pools
| Type | array of string |
| Required | Yes |
Description: Address pools that the dhcp allocates from. Has to be within pve_vm_subnet cidr.
| Array restrictions | |
|---|---|
| Min items | N/A |
| Max items | N/A |
| Items unicity | False |
| Additional items | False |
| Tuple validation | See below |
| Each item of this array must be | Description |
|---|---|
| kea_dhcp_pools items | IPV4 Address range in keas format. |
6.1. Cloud Inventory > kea_dhcp_pools > kea_dhcp_pools items
| Type | string |
| Required | No |
Description: IPV4 Address range in keas format.
Example:
"192.168.1.30 - 192.168.1.254"
7. Property Cloud Inventory > kea_dhcp_static_routes
| Type | string |
| Required | Yes |
Description: classless-static-routes for kea option-data. You can pass comma seperated extra routes you want the dhcp to communicate, for example to a custom VPN gateway.
Example:
"0.0.0.0/0 - 192.168.1.1, 10.0.0.1/24 - 192.168.1.20"
8. Property Cloud Inventory > bind_master_ip
| Type | string |
| Required | Yes |
Description: IP of the primary bind dns for this cluster, will be statically assigned. Has to match your bind lxc inventory file!
Example:
"192.168.1.4"
9. Property Cloud Inventory > bind_slave_ip
| Type | string |
| Required | Yes |
Description: IP of the slave bind dns for this cluster. Has to match your bind lxc inventory file!
Example:
"192.168.1.5"
10. Property Cloud Inventory > bind_arpa_zone_service_lxcs
| Type | string |
| Required | Yes |
Description: Arpa zone in which service lxcs with static ips will manuall get their reverse dns entries.
Example:
"1.168.192.in-addr.arpa"
11. Property Cloud Inventory > bind_additional_arpa_zones
| Type | array of string |
| Required | Yes |
Description: Additional arpa zones which should be created and managed in the dns / dhcp ddns.
| Array restrictions | |
|---|---|
| Min items | N/A |
| Max items | N/A |
| Items unicity | False |
| Additional items | False |
| Tuple validation | See below |
| Each item of this array must be | Description |
|---|---|
| bind_additional_arpa_zones items | - |
11.1. Cloud Inventory > bind_additional_arpa_zones > bind_additional_arpa_zones items
| Type | string |
| Required | No |
12. Property Cloud Inventory > pve_clusters
| Type | object |
| Required | Yes |
| Additional properties | Not allowed |
Description: Definitions for specific Proxmox clusters that will be part of the cloud. Keys are hostnames.
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| - ^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)(?:.(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?))*$ | Yes | object | No | - | Cloud config for specific proxmox clusters. |
12.1. Pattern Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters.
All properties whose name matches the regular expression
^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)(?:\.(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?))*$(Test) must respect the following conditions
Title: Cloud config for specific proxmox clusters.
| Type | object |
| Required | No |
| Additional properties | Not allowed |
Description: This object contains configuration parameters for a proxmox cluster within a proxmox cloud.
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| - pve_haproxy_floating_ip_internal | No | string | No | - | Floating ip that is exclusively accessible from inside the cloud / location. External forwardings should be made to pve_haproxy_floating_ip_external. Inside the cloud if you define a certificate entry, some nodeport forward or default kubeapi access, this will all be available automatically on this ip. |
| - pve_haproxy_floating_ip_external | No | string | No | - | Floating ip of our central cluster HAProxy. |
| + pve_unique_cloud_services | No | array of enum (of string) | No | - | Unique service the cluster provides for its cloud. Unique in the sense that only one cluster may provide each of the services for the entire cloud. Services like haproxy and backup servers can and should be provided by multiple clusters. |
| - pve_host_vars | No | object | No | - | Optional variables that will be specifically set for a pve host. Key is the simple host name. This can be used to build your specialized pve cluster setup playbooks. You can do things like wakeonlan, driver and network configuration with these easily. Simply create your own playbook and run it even before the pxc.cloud.setup_pve_clusters on this inventory. |
12.1.1. Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_haproxy_floating_ip_internal
| Type | string |
| Required | No |
Description: Floating ip that is exclusively accessible from inside the cloud / location. External forwardings should be made to pve_haproxy_floating_ip_external. Inside the cloud if you define a certificate entry, some nodeport forward or default kubeapi access, this will all be available automatically on this ip.
Example:
"192.168.10.6"
12.1.2. Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_haproxy_floating_ip_external
| Type | string |
| Required | No |
Description: Floating ip of our central cluster HAProxy.
Example:
"192.168.10.7"
12.1.3. Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_unique_cloud_services
| Type | array of enum (of string) |
| Required | Yes |
Description: Unique service the cluster provides for its cloud. Unique in the sense that only one cluster may provide each of the services for the entire cloud. Services like haproxy and backup servers can and should be provided by multiple clusters.
| Array restrictions | |
|---|---|
| Min items | N/A |
| Max items | N/A |
| Items unicity | False |
| Additional items | False |
| Tuple validation | See below |
| Each item of this array must be | Description |
|---|---|
| pve_unique_cloud_services items | - |
12.1.3.1. Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_unique_cloud_services > pve_unique_cloud_services items
| Type | enum (of string) |
| Required | No |
Must be one of:
- "dns"
- "dhcp"
- "psql-state"
12.1.4. Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_host_vars
| Type | object |
| Required | No |
| Additional properties | Any type allowed |
Description: Optional variables that will be specifically set for a pve host. Key is the simple host name. This can be used to build your specialized pve cluster setup playbooks. You can do things like wakeonlan, driver and network configuration with these easily. Simply create your own playbook and run it even before the pxc.cloud.setup_pve_clusters on this inventory.
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| - disable_ipmi | No | boolean | No | - | If specified will disable the openipmi power managemend systemd service. This might fail on proxmox hosts that dont support it and clutters up monitoring. |
| - | No | object | No | - | - |
12.1.4.1. Property Cloud Inventory > pve_clusters > Cloud config for specific proxmox clusters. > pve_host_vars > disable_ipmi
| Type | boolean |
| Required | No |
Description: If specified will disable the openipmi power managemend systemd service. This might fail on proxmox hosts that dont support it and clutters up monitoring.
13. Property Cloud Inventory > bind_zone_admin_email
| Type | string |
| Required | Yes |
Description: Required adminstrator email in bind format for bind zones.
Example:
"admin.example.com."
14. Property Cloud Inventory > bind_forward_zones
| Type | array of object |
| Required | No |
Description: Creates zone in bind and delegation ns records to the specified nameservers. This is very useful if you have other nameservers with their own authoritative zones you want resolved within the cloud.
| Array restrictions | |
|---|---|
| Min items | N/A |
| Max items | N/A |
| Items unicity | False |
| Additional items | False |
| Tuple validation | See below |
| Each item of this array must be | Description |
|---|---|
| bind_forward_zones items | - |
14.1. Cloud Inventory > bind_forward_zones > bind_forward_zones items
| Type | object |
| Required | No |
| Additional properties | Any type allowed |
| Property | Pattern | Type | Deprecated | Definition | Title/Description |
|---|---|---|---|---|---|
| - zone | No | string | No | - | - |
| - nameservers | No | array of string | No | - | - |
14.1.1. Property Cloud Inventory > bind_forward_zones > bind_forward_zones items > zone
| Type | string |
| Required | No |
14.1.2. Property Cloud Inventory > bind_forward_zones > bind_forward_zones items > nameservers
| Type | array of string |
| Required | No |
| Array restrictions | |
|---|---|
| Min items | N/A |
| Max items | N/A |
| Items unicity | False |
| Additional items | False |
| Tuple validation | See below |
| Each item of this array must be | Description |
|---|---|
| nameservers items | - |
14.1.2.1. Cloud Inventory > bind_forward_zones > bind_forward_zones items > nameservers > nameservers items
| Type | string |
| Required | No |
15. Property Cloud Inventory > acme_contact
| Type | string |
| Required | No |
Description: Email address to use for acme account creation.
Example:
"acme@example.com"
16. Property Cloud Inventory > acme_method
| Type | enum (of string) |
| Required | No |
Description: PVE Cloud included method for solving dns01 challenges. You need to have created the appropriate cloud secrets created.
Must be one of:
- "route53"
- "ionos"
- "ionos_cloud"
17. Property Cloud Inventory > plugin
| Type | enum (of string) |
| Required | No |
Description: Id of ansible inventory plugin, needs to be set exactly.
Must be one of:
- "pxc.cloud.pve_cloud_inv"