---
url: /adr/hybrid-cloud-build-farm-architecture/index.md
---
# ADR 001: Hybrid Cloud Build Farm Architecture

* **Status:** Accepted
* **Date:** 2025-12-19
* **Author:** Vasu Grover
* **Context:** The Yocto Build Farm

## Context and Problem Statement

I need a Continuous Integration (CI) system capable of building large Embedded Linux (Yocto/QNX) images.

* **Yocto Reality:** A single build requires 50GB+ of disk space, 4-8+ CPU cores, and 16GB+ RAM.
* **Cloud Constraints:** Renting a cloud server with these specs costs hundreds of dollars per month. Free tier runners (GitHub Actions) time out after 6 hours and lack disk space.

## Decision Drivers

* **Cost Efficiency:** Minimize recurring cloud costs.
* **Performance:** maximize CPU availability for BitBake.
* **Security:** Expose the UI securely without port forwarding.

## The Decision

I will implement a **Hybrid Cloud Architecture**:

1. **The "Brain" (Cloud):** A lightweight Jenkins Master on a cheap Cloud VPS (Coolify). Handles orchestration/webhooks.
2. **The "Muscle" (Local):** A high-performance Home PC acting as a Permanent Jenkins Agent.
3. **Connectivity:** Connected via **Cloudflare Zero Trust Tunnel** (outbound WebSocket).

## Consequences

* **Positive:** Utilizing owned hardware ($0/month) for compute. High performance.
* **Negative:** Dependency on home power/internet availability.
