Overview

Organization as Code (OaC) transforms GitHub into the operational brain of physical infrastructure, replacing manual configuration with continuous, automated reconciliation. The framework focuses on hardening self-hosted runners, implementing GitOps pull-based synchronization, and optimizing a tiered hardware fleet for high availability and performance.

Hypothesis

Organization as Code (OaC) can be extended from a repository of scripts into a self-healing framework where GitHub serves as the operational brain and single source of truth. By shifting from manual action to continuous reconciliation — where everything is declared in Git, pulled by machines, and validated by automated workflows — the infrastructure becomes self-healing and auditable.

Approach

Operational Hardening: Three failure modes addressed — host power management (forced high-power state), Docker persistence (Compose with restart: unless-stopped), and resource contention (I/O isolation from backup cycles).

The Sync Loop (Push to Pull): GitOps approach where every node runs a periodic task (15-30 minutes) to pull the latest repository state and apply an Ansible playbook locally. Any change merged into main is automatically enforced across the fleet, eliminating “snowflake” machines.

Fleet Architecture: Tiered hardware — Commander (M4 Pro as always-on orchestrator), Build Agent (M2 for iOS/macOS), Heavy Lifter (WinPC via WSL2), Roaming Node (ThinkPad as ephemeral runner that registers only when docked and on AC power).

3-2-1 Backup Strategy: Machines push encrypted snapshots to the central M4 Pro, which syncs to cloud storage during off-peak hours with throttled bandwidth to prevent runner disruption.

Key Findings

  • Continuous reconciliation via pull mode makes infrastructure self-healing — the human operator focuses on innovation rather than maintenance.
  • The three primary runner failure modes (power management, container persistence, resource contention) are all solvable configuration problems.
  • Backup-runner contention is the most frequently overlooked failure mode in consumer hardware CI/CD setups.
  • Ephemeral runner patterns require strict registration/deregistration protocols to prevent queue stalling.

Next Steps

  • Implement the 15-minute Ansible pull loop across all fleet nodes.
  • Deploy backup throttling and I/O isolation.
  • Configure the ThinkPad’s ephemeral runner with power-aware registration.