Initial commit: Homelab infrastructure repository with automated collection system
- Added Proxmox VE configuration collection scripts - Included documentation and quick-start guides - First infrastructure snapshot from serviceslab (2025-11-29) - All VM configs (10 VMs) and LXC configs (3 containers) - Git setup complete with .gitignore protecting sensitive data
This commit is contained in:
109
CLAUDE.md
Normal file
109
CLAUDE.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Repository Overview
|
||||
|
||||
This is a homelab infrastructure repository managing a Proxmox VE 8.3.3-based services and development laboratory environment. The infrastructure follows a hybrid architecture pattern combining traditional virtualization (KVM/QEMU) with containerization (LXC) for optimal resource utilization and service isolation.
|
||||
|
||||
## Infrastructure Overview
|
||||
|
||||
### Proxmox Environment
|
||||
- **Platform**: Proxmox Virtual Environment 8.3.3
|
||||
- **Architecture Pattern**: Services/Development Laboratory
|
||||
- **Primary Node**: `serviceslab` (single-node cluster)
|
||||
- **Deployment Model**: Hybrid VM + LXC container approach
|
||||
|
||||
### Key Services & Virtual Machines (QEMU/KVM)
|
||||
|
||||
The infrastructure employs full VMs for services requiring kernel-level isolation, complex dependencies, or heavyweight applications:
|
||||
|
||||
| VM ID | Name | Purpose | Notes |
|
||||
|-------|------|---------|-------|
|
||||
| 100 | docker-hub | Container registry/Docker hub mirror | Local container image caching |
|
||||
| 101 | gitlab | GitLab CE/EE instance | Source control, CI/CD platform |
|
||||
| 105 | dev | Development environment | General-purpose development workstation |
|
||||
| 106 | Ansible-Control | Automation control node | IaC orchestration, configuration management |
|
||||
| 108 | CML | Cisco Modeling Labs | Network simulation/testing environment |
|
||||
| 109 | web-server-01 | Web application server | Production-like web tier (clustered) |
|
||||
| 110 | web-server-02 | Web application server | Load-balanced pair with web-server-01 |
|
||||
| 111 | db-server-01 | Database server | Backend data tier |
|
||||
|
||||
### Containers (LXC)
|
||||
|
||||
Lightweight services leveraging LXC for reduced overhead and faster provisioning:
|
||||
|
||||
| CT ID | Name | Purpose | Notes |
|
||||
|-------|------|---------|-------|
|
||||
| 102 | nginx | Reverse proxy/load balancer | Front-end traffic management |
|
||||
| 103 | netbox | Network documentation/IPAM | Infrastructure source of truth |
|
||||
| 112 | Anytype | Knowledge management | Personal/team documentation |
|
||||
|
||||
### Storage Architecture
|
||||
|
||||
The storage layout demonstrates a well-organized approach to data separation:
|
||||
|
||||
| Storage Pool | Type | Usage | Purpose |
|
||||
|--------------|------|-------|---------|
|
||||
| local | Directory | 14.8% | System files, ISOs, templates |
|
||||
| local-lvm | LVM-Thin | 0.0% | VM disk images (thin provisioned) |
|
||||
| Vault | NFS/Directory | 11.9% | Secure storage for sensitive data |
|
||||
| PBS-Backups | Proxmox Backup Server | 21.6% | Automated backup repository |
|
||||
| iso-share | NFS/CIFS | 1.4% | Installation media library |
|
||||
| localnetwork | Network share | N/A | Shared resources across infrastructure |
|
||||
|
||||
### Architecture Patterns & Design Decisions
|
||||
|
||||
**Tiered Application Architecture**: The infrastructure implements a classic three-tier design with dedicated web servers (109, 110), database server (111), and reverse proxy (102), suggesting this lab is used for practicing production-like deployments.
|
||||
|
||||
**Automation-First Approach**: The presence of Ansible-Control (106), GitLab (101), and NetBox (103) indicates a focus on Infrastructure as Code and proper documentation practices—rather civilized.
|
||||
|
||||
**Network Simulation Capability**: CML (108) suggests network engineering activities, possibly testing configurations before production deployment.
|
||||
|
||||
**Container Strategy**: The selective use of LXC for stateless or lightweight services (nginx, netbox) vs full VMs for complex applications demonstrates thoughtful resource optimization.
|
||||
|
||||
## Working with This Environment
|
||||
|
||||
### Best Practices
|
||||
|
||||
1. **Backup Strategy**: With PBS-Backups at 21.6% utilization and excellent uptime (27-68 days), ensure regular backup schedules are maintained. Consider implementing the 3-2-1 rule if not already in place.
|
||||
|
||||
2. **Resource Management**: Monitor the local-lvm pool (currently 0.0%)—this appears to be reserved capacity. Ensure thin provisioning doesn't lead to overcommitment.
|
||||
|
||||
3. **Configuration Management**: Utilize the Ansible-Control node (106) for infrastructure changes. Avoid manual configuration drift.
|
||||
|
||||
4. **Documentation**: NetBox (103) should be the single source of truth for IP addressing, VLANs, and service inventory. Keep it updated.
|
||||
|
||||
5. **Version Control**: GitLab (101) should house all Infrastructure as Code, scripts, and configuration files from this repository.
|
||||
|
||||
6. **Load Balancing**: The paired web servers (109, 110) suggest HA testing—ensure nginx (102) is properly configured for failover.
|
||||
|
||||
### Access Patterns
|
||||
|
||||
- **Proxmox Web UI**: Primary management interface for VM/CT lifecycle operations
|
||||
- **Ansible**: Automated configuration deployment and orchestration
|
||||
- **GitLab**: CI/CD pipelines for infrastructure testing and deployment
|
||||
- **NetBox**: Network documentation and IP address management
|
||||
|
||||
### Maintenance Considerations
|
||||
|
||||
- **Uptime**: Services showing 27-68 days uptime—schedule maintenance windows for kernel updates
|
||||
- **Storage Growth**: PBS-Backups at 21.6% allows healthy retention; review backup policies quarterly
|
||||
- **Capacity Planning**: Current utilization suggests comfortable headroom; monitor trends via Proxmox metrics
|
||||
|
||||
## Development Setup
|
||||
|
||||
The repository structure will house:
|
||||
- Ansible playbooks and roles for infrastructure automation
|
||||
- Terraform/OpenTofu configurations for Proxmox resource provisioning
|
||||
- Docker Compose files for service definitions
|
||||
- Documentation and runbooks for common operations
|
||||
- Network diagrams and architecture documentation
|
||||
|
||||
## Notes
|
||||
|
||||
- This is a Windows Subsystem for Linux (WSL2) environment
|
||||
- Working directory: /mnt/c/Users/fam1n/Documents/homelab
|
||||
- This repository is not yet initialized as a git repository
|
||||
- Proxmox node `serviceslab` is the single point of management
|
||||
- Infrastructure demonstrates production-like patterns suitable for learning and testing
|
||||
Reference in New Issue
Block a user