Files
homelab-infrastructure-as-code/01-proxmox-infra/CLAUDE.md
T
kasun 13549a8d37
Deploy k8s Infra / Pulumi Preview (push) Has been skipped
Deploy k8s Infra / Pulumi Deploy (push) Successful in 58s
Deploy k8s Apps / Pulumi Preview (push) Has been skipped
Deploy k8s Apps / Pulumi Deploy (push) Successful in 48s
Deploy Monitoring / Pulumi Preview (push) Has been skipped
Deploy Monitoring / Pulumi Deploy (push) Successful in 59s
docs: updated documentation to current progress
2026-06-11 22:36:20 +02:00

1.4 KiB

proxmox-infra

This file provides guidance to Claude Code when working in 01-proxmox-infra. See the repo-root CLAUDE.md for shared conventions, deployment order, and CI/CD.

Project Overview

Pulumi TypeScript project provisioning VMs and LXC containers in Proxmox using the @muhlba91/pulumi-proxmoxve provider, plus pfSense DHCPv4 static mappings via a locally-bundled @pulumi/pfsense SDK.

Common Commands

# Install deps and compile the bundled pfSense SDK
npm install

# Sync Pulumi state with actual Proxmox state — run before `up` if VMs were
# changed manually in the Proxmox GUI
pulumi refresh --yes

pulumi refresh --yes && pulumi up --yes

Architecture

  • Entry point: index.ts — all resources declared here.
  • Providers: two @muhlba91/pulumi-proxmoxve providers — pveProvider (node pve) and pveBckpProvider (node pve-bckp). Always pass the correct provider when adding resources.
  • pfSense SDK lives in sdks/pfsense/ (gitignored, regenerated by npm install / CI via pulumi package add terraform-provider marshallford/pfsense 0.22.0).

CI/CD

Workflow: ../.gitea/workflows/01-deploy-proxmox-infra.yaml. Secret: PROXMOX_INFRA_PULUMI_DEV_YAML. In addition to the shared pattern, this workflow regenerates the pfSense SDK (pulumi package add terraform-provider marshallford/pfsense 0.22.0) before preview/deploy.