Files
proxmox-cloud-controller-ma…/docs/config.md
Daniel J. Holmes (jaitaiwan) e1b8e9b419 feat: add new network addressing features
Changes:
- Increase test coverage of config
- Add networking feature config
- Add ability to find node ip addresses via qemu and specify ips that
  should be treated as ExternalIPAddresses

Signed-off-by: Daniel J. Holmes (jaitaiwan) <dan@jaitaiwan.dev>
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
2025-07-25 12:35:52 +07:00

2.5 KiB

Cloud controller manager configuration file

This file is used to configure the Proxmox CCM.

features:
  # Provider type
  provider: default|capmox
  # Network mode
  network: default|qemu|auto
  # Enable or disable the IPv6 support
  ipv6_support_disabled: true|false
  # External IP address CIDRs list, comma-separated
  # Use `!` to exclude a CIDR
  external_ip_cidrs: '192.168.0.0/16,2001:db8:85a3::8a2e:370:7334/112,!fd00:1234:5678::/64'
  # IP addresses sort order, comma-separated
  # The IPs that do not match the CIDRs will be kept in the order they
  # were detected.
  ip_sort_order: '192.168.0.0/16,2001:db8:85a3::8a2e:370:7334/112'

clusters:
  # List of Proxmox clusters
  - url: https://cluster-api-1.exmple.com:8006/api2/json
    # Skip the certificate verification, if needed
    insecure: false
    # Proxmox api token
    token_id: "kubernetes-csi@pve!csi"
    token_secret: "secret"
    # Region name, which is cluster name
    region: Region-1

  # Add more clusters if needed
  - url: https://cluster-api-2.exmple.com:8006/api2/json
    insecure: false
    token_id: "kubernetes-csi@pve!csi"
    token_secret: "secret"
    region: Region-2

Cluster list

You can define multiple clusters in the clusters section.

  • url - The URL of the Proxmox cluster API.
  • insecure - Set to true to skip TLS certificate verification.
  • token_id - The Proxmox API token ID.
  • token_secret - The name of the Kubernetes Secret that contains the Proxmox API token.
  • region - The name of the region, which is also used as topology.kubernetes.io/region label.

Feature flags

  • provider - Set the provider type. The default is default, which uses provider-id to define the Proxmox VM ID. The capmox value is used for working with the Cluster API for Proxmox (CAPMox).
  • network - Defines how the network addresses are handled by the CCM. The default value is default, which uses the kubelet argument --node-ips to assign IPs to the node resource. The qemu mode uses the QEMU agent API to retrieve network addresses from the virtual machine, while auto attempts to detect the best mode automatically.
  • ipv6_support_disabled - Set to true to ignore any IPv6 addresses. The default is false.
  • external_ip_cidrs - A comma-separated list of external IP address CIDRs. You can use ! to exclude a CIDR from the list. This is useful for defining which IPs should be considered external and not included in the node addresses.

For more information about the network modes, see the Networking documentation.