### Build Proxmox Infrastructure Provider Executable Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md Build the Proxmox infrastructure provider executable for Linux AMD64. Ensure Docker and buildx are installed on your system. ```bash make omni-infra-provider-linux-amd64 ``` -------------------------------- ### Docker Compose for Proxmox Provider Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md Define and run the Proxmox infrastructure provider using Docker Compose. This setup allows for persistent service management with automatic restarts. ```yaml services: omni-infra-provider-proxmox: image: ghcr.io/siderolabs/omni-infra-provider-proxmox volumes: - ./config.yaml:/config.yaml command: > --config-file /config.yaml --omni-api-endpoint https://.omni.siderolabs.io/ --omni-service-account-key restart: unless-stopped ``` -------------------------------- ### Run Proxmox Provider Executable Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md Execute the built Proxmox infrastructure provider binary. Provide the configuration file path, Omni API endpoint, and your service account key. ```bash _out/omni-infra-provider-linux-amd64 --config config.yaml --omni-api-endpoint https://.omni.siderolabs.io/ --omni-service-account-key ``` -------------------------------- ### Run Proxmox Provider with Docker Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md Execute the Proxmox infrastructure provider using Docker. Mount your configuration file and provide the Omni API endpoint and an infra provider key. ```bash docker run -it -d \ -v ./config.yaml:/config.yaml \ ghcr.io/siderolabs/omni-infra-provider-proxmox \ --config-file /config.yaml \ --omni-api-endpoint https://.omni.siderolabs.io/ \ --omni-service-account-key ``` -------------------------------- ### Run Proxmox Integration Tests Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md Initiate end-to-end integration tests for the Proxmox provider. This requires a Linux kernel 6.8+, Docker 26+, and sops for secret management. ```bash sudo -E make run-integration-test ``` -------------------------------- ### Define Proxmox Auto-Provision Machine Class Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md This MachineClass definition enables automatic provisioning of Proxmox VMs for Talos nodes. Specify CPU, memory, and disk size according to your needs. ```yaml apiVersion: infrastructure.omni.siderolabs.io/v1alpha1 kind: MachineClass metadata: name: proxmox-auto spec: type: auto-provision provider: proxmox config: cpu: 4 memory: 8192 # in MB diskSize: 40 # in GB # Add other Proxmox-specific options as needed ``` -------------------------------- ### Add Storage Selector to Machine Class Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md To resolve 'vmSync' errors, add a 'storageSelector' field to your machine class configuration to specify the Proxmox storage for VM disk images. ```yaml config: ... storageSelector: 'name == "local-lvm"' ``` -------------------------------- ### Cluster Manifest Snippet for Auto-Provisioning Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md This snippet shows how to reference a machine class in a cluster manifest to utilize auto-provisioning. Set the 'machineClass' and desired 'replicas'. ```yaml spec: machineClass: proxmox-auto replicas: 3 ``` -------------------------------- ### Configure Proxmox Provider Source: https://github.com/siderolabs/omni-infra-provider-proxmox/blob/main/README.md This YAML configuration is used for the Proxmox infrastructure provider. Ensure the 'url' points to your Proxmox server and adjust user credentials as needed. ```yaml proxmox: username: root password: 123456 url: "https://homelab.proxmox:8006/api2/json" insecureSkipVerify: true realm: "pam" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.