Commit graph

11 commits

Author SHA1 Message Date
Geir Okkenhaug Jerstad
fff47629f2 small update moved some files to logical place 2025-06-06 18:01:26 +02:00
Geir Okkenhaug Jerstad
29de5db430 feat: Document lab command deployment tool implementation
Some checks failed
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Has been cancelled
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Has been cancelled
- Add comprehensive documentation for home-lab-tools package
- Document lab command capabilities and usage examples
- Record technical implementation details and benefits
- Include deployment workflow and infrastructure integration
- Add to deployment status & accomplishments section
- Document conflict resolution and system integration process
2025-06-06 12:18:26 +02:00
Geir Okkenhaug Jerstad
7c650856f2 feat: Complete sleeper-service deployment with ZFS and network fixes
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
 Major deployment milestone achieved:

**sleeper-service Configuration:**
- Successfully deployed flake-based NixOS on Intel Xeon file server
- Resolved ZFS mounting conflicts causing boot failures
- Implemented ZFS native mounting (/mnt/storage, /mnt/storage/media)
- Added Pi-hole DNS integration (10.0.0.14) for package resolution
- Configured systemd-networkd with static IP (10.0.0.8)
- System boots cleanly in ~1 minute with ZFS auto-mounting

**Infrastructure Updates:**
- SSH key management deployed and operational
- Network configuration with multi-tier DNS (Pi-hole, router, Google)
- NFS server configuration for network storage
- Data preservation verified: 903GB ZFS pool intact

**Technical Solutions:**
- Added nomodeset kernel parameter for graphics compatibility
- Disabled NVIDIA drivers for headless server operation
- Removed conflicting ZFS entries from hardware-configuration.nix
- Established remote deployment workflow via rsync + SSH

**Documentation:**
- Updated plan.md with deployment status and lessons learned
- Added deployment commands and troubleshooting notes
- Documented ZFS native mounting migration process

**Data Verified:**
- Films: 184GB, Series: 612GB, Audiobooks: 94GB, Music: 9.1GB, Books: 3.5GB
- Storage pool: 903GB used, 896GB available
- All media accessible via proper ZFS auto-mounting

This represents the first successful multi-machine flake deployment in the home lab infrastructure migration.
2025-06-06 11:21:12 +02:00
Geir Okkenhaug Jerstad
77e6b9a501 feat: Implement two-key SSH management strategy
- Add modules/security/ssh-keys.nix for centralized SSH key management
- Generate role-specific SSH keys with geir@geokkjer.eu email:
  - Admin key (geir@geokkjer.eu-admin) for sma user server access
  - Development key (geir@geokkjer.eu-dev) for geir user and git services
- Update SSH client config with role-based host patterns
- Configure users/geir.nix and users/sma.nix with appropriate key access
- Add SSH key setup to both machine configurations
- Create scripts/setup-ssh-keys.sh for key generation automation
- Update plan.md with completed SSH security implementation

Security benefits:
- Principle of least privilege (separate admin vs dev access)
- Limited blast radius if keys are compromised
- Clear usage patterns: ssh admin-sleeper vs ssh geir@sleeper-service.home
- Maintains compatibility with existing services during transition
2025-06-05 16:25:33 +02:00
Geir Okkenhaug Jerstad
6a3a3abc48 feat: Complete sleeper-service systemd-networkd configuration
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
- Update sleeper-service to use systemd-networkd with static IP (10.0.0.8/24)
- Configure proper gateway (10.0.0.138) and DNS (Pi-hole, router, Google)
- Add NFS and SMB firewall ports for file server services
- Document network topology discovery results in plan.md
- Update network module README with current configuration status

Based on nmap network discovery and Context7 NixOS systemd-networkd documentation.
Configuration ready for deployment to existing files.home machine.
2025-06-05 15:44:07 +02:00
Geir Okkenhaug Jerstad
f733f1059d update instruction and plan added notes.md 2025-06-05 09:02:55 +02:00
Geir Okkenhaug Jerstad
02fbaa761a feat: create modular user configurations
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
User Accounts:
 geir - Primary user (development, desktop, multimedia)
 sma - Admin user (Diziet Sma, system administration)
 common.nix - Shared user settings and security

Key Features:
🔧 Culture character naming (sma = Diziet Sma, SC agent)
🔒 Security-focused admin account (SSH keys only, passwordless sudo)
🛠️ Development-focused primary user (containers, virtualization, creative tools)
📦 Modern CLI tools and shell enhancements
🎯 Role-based package selection and group memberships

Security Model:
- SSH key authentication for admin users
- Separate admin and daily-use accounts
- Principle of least privilege
- No root login allowed

Integration:
- Container runtime access (podman, incus)
- Virtualization management (libvirt, virt-manager)
- Development workflow (git, editors, languages)
- Desktop environments (GNOME, Cosmic, Sway)

Ready for machine-specific deployment across home lab infrastructure.
2025-06-04 16:54:47 +02:00
Geir Okkenhaug Jerstad
de8481c7f2 docs: update grey-area hardware specifications
Hardware Details:
- CPU: Intel Xeon E5-2670 v3 (24 cores) @ 3.10 GHz
- Memory: 31.24 GiB RAM
- Excellent performance for containerized applications

Performance Capabilities:
 High-concurrency Forgejo with simultaneous CI/CD builds
 Real-time 4K media transcoding for Jellyfin
 10-20+ simultaneous containers without resource constraints
 PostgreSQL with excellent query performance
 Parallel compilation of large codebases
 Room for future expansion (Kubernetes, monitoring stack)

This hardware makes grey-area a powerhouse application server
2025-06-04 16:36:06 +02:00
Geir Okkenhaug Jerstad
d613326392 feat: add reverse-proxy and grey-area machines
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
- Add reverse-proxy machine for SSL/TLS termination and external routing
- Add grey-area application server with Forgejo as primary service
- Create comprehensive About.org documentation for both machines
- Update plan.md with detailed infrastructure notes and service modules

New Infrastructure:
 reverse-proxy: Edge server with Nginx/Traefik, Let's Encrypt, security
 grey-area: Multi-purpose app server (Culture GCU name)
  - Primary: Forgejo Git hosting and CI/CD
  - Secondary: Jellyfin, Nextcloud, Grafana
  - Container-focused architecture with PostgreSQL

Updated service modules planning:
- reverse-proxy.nix, forgejo.nix, media.nix, applications.nix
- Central Git hosting for all home lab development projects
- Complete CI/CD pipeline integration

Ready for NixOS configuration implementation in next phase.
2025-06-04 16:31:24 +02:00
Geir Okkenhaug Jerstad
13b10e5b02 docs: complete GitOps foundation phase
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions
- Mark all Phase 1.7 GitOps tasks as completed in plan.md
- Add comprehensive DEVELOPMENT_WORKFLOW.md with:
  - Complete development lifecycle documentation
  - Testing levels (syntax, build, integration, deployment)
  - Emergency rollback procedures
  - Collaboration guidelines and review process
  - Deployment automation and monitoring

GitOps foundation is now complete with:
 Git repository initialization
 CI/CD pipeline design
 Branch strategy and PR templates
 Automated testing framework
 Secrets management strategy
 Multi-machine deployment workflow

Ready to proceed with Phase 2: Configuration Cleanup & Organization
2025-06-04 16:13:24 +02:00
Geir Okkenhaug Jerstad
f30013723e feat: initial NixOS home lab infrastructure setup
- Add modular flake-based NixOS configuration
- Implement GitOps foundation with CI/CD pipeline
- Create comprehensive documentation and branching strategy
- Add modular desktop environments (GNOME, Cosmic, Sway)
- Configure virtualization stack (Incus, Libvirt, Podman)
- Set up development tools and hardware-specific modules
- Establish user configuration with literate programming support

This commit represents the completion of Phase 1: Flakes Migration
with modular configuration, virtualization, and GitOps foundation.
2025-06-04 16:10:13 +02:00