homelab/documentation
nathan e16f98a183 feat(bootstrap)!: introduce unified bootstrap system with modular libraries
BREAKING CHANGE: day0bootstrap.sh deprecated in favor of bootstrap.sh

- Add scripts/bootstrap.sh (488 lines): Unified entrypoint supporting multiple hardware types (Proxmox/Docker VMs/Pi)
- Create scripts/lib/ modular library system:
  - detection.sh: OS/hardware/container detection (362 lines)
  - fingerprint.sh: System fingerprinting and inventory (494 lines)
  - network.sh: IP configuration and VLAN placement (356 lines)
  - proxmox.sh: PVE post-install automation (453 lines)
  - validation.sh: Comprehensive pre-flight checks (510 lines)
- Add validation tools: validate-node.sh, onboarding.sh, pi_init.sh
- Deprecate scripts/day0bootstrap.sh with graceful redirect wrapper
- Document architecture in scripts/README.md (495 lines) and PROXMOX-COMPARISON.md
- Update SOP-002 with new bootstrap workflow
- Add nodes/watchtower/compose.yaml (Raspberry Pi 5 stack)

Migration: Existing day0bootstrap.sh users automatically redirected to new system after 5-second warning. No manual intervention required.

Ref: Infrastructure automation modernization per active-tasks.md
2026-04-12 22:48:19 -04:00
..

Documentation

Overview

This directory contains all technical documentation for the Castaldi Family Homelab infrastructure.


Quick Reference

📘 Runbooks & Guides


Knowledge Base Articles (KBAs/)

Structured troubleshooting articles following the incident → resolution format.

GitOps & Deployment


Standard Operating Procedures (SOPs/)

Step-by-step guides for operational tasks and migrations.

Infrastructure Deployment

  • SOP-002: Initial Infrastructure Deployment
    Complete guide for deploying the homelab from scratch, including secure repository setup, Ansible control node configuration, core service deployment, and GitOps integration.

Stack Management


Document Conventions

  • KBA-XXX: Troubleshooting articles with clear problem/solution format (stored in KBAs/)
  • SOP-XXX: Procedural guides for operational tasks (stored in SOPs/)
  • Runbooks: Infrastructure reference and emergency procedures (root level)

Contributing

When documenting new issues or procedures:

  1. KBAs: Create in KBAs/ folder for troubleshooting scenarios with clear diagnosis → resolution
  2. SOPs: Create in SOPs/ folder for repeatable operational procedures and migrations
  3. Update Runbook: Add new emergency procedures to TECHNICAL_RUNBOOK.md
  4. Update Repository Memory: Store critical lessons in /memories/repo/
  5. Commit Messages: Use conventional commits (e.g., docs(kba): add KBA-002 for...)

Last Updated: April 12, 2026