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
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# proxmox-infra
|
|
|
|
This file provides guidance to Claude Code when working in `01-proxmox-infra`. See the [repo-root CLAUDE.md](../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
|
|
|
|
```bash
|
|
# 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.
|