This repository was archived by the owner on Jul 6, 2026. It is now read-only.
Description Description
Comprehensive analysis document for migrating nixos-operator from KOPF (Python) to kubebuilder (Go).
Document Contents
Project Structure
Current Framework (KOPF)
CRD Definitions (Machine, NixosConfiguration)
Reconciliation Logic
Current Conditions Implementation
kstatus Compliance Issues
Recommended Status Schema
Additional Printer Columns
Controller Design Patterns
Configuration Variables
Prometheus Metrics
RBAC Requirements
Migration Checklist
SSH Connection Implementation
additionalFiles Processing
NixOS Apply Commands
Hardware Scanner Output
Input Validation Rules
Kubernetes Events
Example Resource Manifests
Error Handling Strategy
Long-Running Operations (Kubernetes Jobs)
Secret Watches with Field Indexes
Testing Strategy
Owner References and Garbage Collection
State Machines and Lifecycle
Leader Election and High Availability
(reserved)
Container Image Architecture
Location
docs/kubebuilder-migration-analysis.md
Recent Updates
Machine addressing : Consolidated to single host field (was hostname/ipAddress)
Per-machine concurrency : Added hasActiveJobForMachine() check and nio.homystack.com/machine label
buildJobVolumes : Fixed ctx parameter in function signature
Dockerfile : Removed unused nix-base stage, simplified to 2-stage build
onRemoveFlake : State machine includes max 3 retries before proceeding with deletion
Secret watches checklist : Removed contradictory cross-namespace item
Reactions are currently unavailable
Description
Comprehensive analysis document for migrating nixos-operator from KOPF (Python) to kubebuilder (Go).
Document Contents
Location
docs/kubebuilder-migration-analysis.mdRecent Updates
hostfield (was hostname/ipAddress)hasActiveJobForMachine()check andnio.homystack.com/machinelabel