# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Git Commit Policy - IMPORTANT **You MUST commit and push changes frequently.** Evaluate after each tool call whether a commit makes sense: ### Commit immediately after: - Any Edit or Write to documentation files (docs/*.md, CLAUDE.md) - Creating or modifying Traefik configs - Adding new services to infrastructure - Completing a discrete task or fix ### Commit in batches for: - Multiple related file edits (e.g., updating INFRASTRUCTURE.md + CHANGELOG.md together) - Exploratory changes that may be reverted ### Commit message format: ``` : 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 ``` Types: `add`, `update`, `fix`, `docs`, `config` **Remote**: `origin` → http://10.4.2.7:3000/kavren/proxmox-infra.git ## Repository Purpose Infrastructure documentation and management repository for the **KavCorp** Proxmox cluster - a 5-node homelab cluster running self-hosted services. This repository supports migration from Docker containers to Proxmox LXCs where appropriate. ## Cluster Architecture **Cluster Name**: KavCorp **Nodes**: 5 (pm1, pm2, pm3, pm4, elantris) **Network**: 10.4.2.0/24 **Primary Management Node**: pm2 (10.4.2.6) ### Node IP Mapping - pm1: 10.4.2.2 - pm2: 10.4.2.6 (primary for new LXC deployment) - pm3: 10.4.2.3 - pm4: 10.4.2.5 - elantris: 10.4.2.14 (largest node, 128GB RAM, ZFS storage) ## Common Commands ### Cluster Management ```bash # Access cluster (use pm2 as primary management node) ssh pm2 # View cluster status pvecm status pvecm nodes # List all VMs/LXCs across cluster pvesh get /cluster/resources --type vm --output-format json # List all nodes pvesh get /cluster/resources --type node --output-format json # List storage pvesh get /cluster/resources --type storage --output-format json ``` ### LXC Management ```bash # List LXCs on a specific node pct list # Get LXC configuration pvesh get /nodes//lxc//config pct config # Start/stop/restart LXC pct start pct stop pct restart # Execute command in LXC pct exec -- # Enter LXC console pct enter # Create LXC from template pct create