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
1.4 KiB
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-proxmoxveproviders —pveProvider(nodepve) andpveBckpProvider(nodepve-bckp). Always pass the correct provider when adding resources. - pfSense SDK lives in
sdks/pfsense/(gitignored, regenerated bynpm install/ CI viapulumi 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.