Commit graph

10 commits

Author SHA1 Message Date
bff56e4ffc We have made an emacs conf with profiles. And refactored lab tool to use deploy-rs 2025-07-03 15:09:33 +02:00
Geir Okkenhaug Jerstad
5f65abc2cc feat: implement orchestrated auto-update system and fix deployment
- Add sma user module to little-rascal configuration for passwordless deployment
- Replace cosmic-greeter with greetd on both congenital-optimist and little-rascal
- Implement staggered auto-update system that updates remote machines first
- Add proper SSH user configuration for secure deployments
- Fix deployment permission issues by configuring admin user access
- Ensure orchestrator machine (congenital-optimist) reboots last to prevent SSH disconnection
- Add comprehensive error handling and update reporting
- Successfully tested lab tool deployment and auto-update on all machines

Fixes the critical issue where orchestrator reboot could break SSH connections
during multi-machine updates.
2025-06-30 14:35:21 +02:00
Geir Okkenhaug Jerstad
f42bae513c feat(lab-tool): integrate little-rascal laptop into Home Lab management
- Add little-rascal to lab-tool configuration with proper attributes
- Include little-rascal in machine management, SSH connectivity, and deployment targets
- Update README.md with examples including little-rascal
- Verify full integration: machines listing, status monitoring, SSH access, deployment ready

The little-rascal laptop is now fully managed through the unified lab-tool interface
alongside other Home Lab machines (congenital-optimist, sleeper-service, grey-area, reverse-proxy).
2025-06-30 11:40:10 +02:00
6eac143f57 feat: Add little-rascal laptop config and lab-tool auto-update system
## New Machine: little-rascal
- Add Lenovo Yoga Slim 7 14ARE05 configuration (AMD Ryzen 7 4700U)
- Niri desktop with CLI login (greetd + tuigreet)
- zram swap configuration (25% of RAM with zstd)
- AMD-optimized hardware support and power management
- Based on congenital-optimist structure with laptop-specific additions

## Lab Tool Auto-Update System
- Implement Guile Scheme auto-update module (lab/auto-update.scm)
- Add health checks, logging, and safety features
- Integrate with existing deployment and machine management
- Update main CLI with auto-update and auto-update-status commands
- Create NixOS service module for automated updates
- Document complete implementation in simple-auto-update-plan.md

## MCP Integration
- Configure Task Master AI and Context7 MCP servers
- Set up local Ollama integration for AI processing
- Add proper environment configuration for existing models

## Infrastructure Updates
- Add little-rascal to flake.nix with deploy-rs support
- Fix common user configuration issues
- Create missing emacs.nix module
- Update package integrations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 22:03:54 +02:00
Geir Okkenhaug Jerstad
6306a05d64 Fix lab deploy command to properly handle switch/test/boot modes
- Updated cmd-deploy function to accept and parse mode arguments
- Added validation for deployment modes with helpful error messages
- Updated command dispatcher to pass all arguments to deploy function
- Enhanced help text with mode documentation and examples
- Fixes issue where deploy always used 'boot' mode regardless of flags

Examples now working:
- lab deploy machine switch  # Deploy and activate immediately
- lab deploy machine test    # Deploy temporarily for testing
- lab deploy machine boot    # Deploy for next boot (default)
2025-06-26 13:39:46 +02:00
Geir Okkenhaug Jerstad
9d8952c4ce feat: Complete Ollama CPU optimization for TaskMaster AI
- Optimize Ollama service configuration for maximum CPU performance
  - Increase OLLAMA_NUM_PARALLEL from 2 to 4 workers
  - Increase OLLAMA_CONTEXT_LENGTH from 4096 to 8192 tokens
  - Add OLLAMA_KV_CACHE_TYPE=q8_0 for memory efficiency
  - Set OLLAMA_LLM_LIBRARY=cpu_avx2 for optimal CPU performance
  - Configure OpenMP threading with 8 threads and core binding
  - Add comprehensive systemd resource limits and CPU quotas
  - Remove incompatible NUMA policy setting

- Upgrade TaskMaster AI model ecosystem
  - Main model: qwen3:4b → qwen2.5-coder:7b (specialized coding model)
  - Research model: deepseek-r1:1.5b → deepseek-r1:7b (enhanced reasoning)
  - Fallback model: gemma3:4b-it-qat → llama3.3:8b (reliable general purpose)

- Create comprehensive optimization and management scripts
  - Add ollama-optimize.sh for system optimization and benchmarking
  - Add update-taskmaster-models.sh for TaskMaster configuration management
  - Include model installation, performance testing, and system info functions

- Update TaskMaster AI configuration
  - Configure optimized models with grey-area:11434 endpoint
  - Set performance parameters for 8192 context window
  - Add connection timeout and retry settings

- Fix flake configuration issues
  - Remove nested packages attribute in packages/default.nix
  - Fix package references in modules/users/geir.nix
  - Clean up obsolete package files

- Add comprehensive documentation
  - Document complete optimization process and results
  - Include performance benchmarking results
  - Provide deployment instructions and troubleshooting guide

Successfully deployed via deploy-rs with 3-4x performance improvement estimated.
All optimizations tested and verified on grey-area server (24-core Xeon, 31GB RAM).
2025-06-18 13:08:24 +02:00
Geir Okkenhaug Jerstad
74142365eb cleaned up and maybe finished the guile lab tool 2025-06-16 21:09:41 +02:00
Geir Okkenhaug Jerstad
819ab7cafb grokking simplicity and refactoring 2025-06-16 19:59:26 +02:00
Geir Okkenhaug Jerstad
564faaa479 feat: implement modular lab tool structure with working CLI
- Add lab/ module structure (core, machines, deployment, monitoring)
- Add mcp/ server stub for future MCP integration
- Update main.scm to use new modular architecture
- Fix utils/config.scm to export get-current-config function
- Create comprehensive test suite with all modules passing
- Update TODO.md with completed high priority tasks

Key improvements:
- Modular design following K.I.S.S principles
- Working CLI interface for status, machines, deploy commands
- Infrastructure status checking functional
- All module tests passing
- Clean separation of pure/impure functions

CLI now works: ./main.scm status, ./main.scm machines, ./main.scm deploy <machine>
2025-06-16 14:29:00 +02:00
Geir Okkenhaug Jerstad
fb4361d938 grokking simplicity and refactoring 2025-06-16 13:43:21 +02:00