---
url: /adr/local-artifact-strategy/index.md
---
# ADR 002: Local Hosting Strategy for Binary Artifacts

* **Status:** Accepted
* **Date:** 2025-12-20
* **Author:** Vasu Grover
* **Context:** Binary Management for Yocto

## Context and Problem Statement

I need to store large binary artifacts (4GB+ OS images) and SSTATE cache. Hosting Artifactory on the Cloud VPS behind Cloudflare is not viable due to the **100MB upload limit** on the Free Tier and slow residential upload speeds (high latency).

## Decision Drivers

* **Bandwidth:** Bypass the 100MB Cloudflare limit.
* **Speed:** reduce artifact upload time from 20 minutes to seconds.
* **Cost:** Avoid cloud storage egress fees.

## The Decision

I will host **JFrog Artifactory CE (C++ Edition)** locally on the Agent node (Home Lab).

* **Access:** The Jenkins Agent communicates via the local network/Docker Bridge (`artifactory.arpa`).
* **Public Access:** No public access for heavy artifacts. Releases must be explicitly pushed to GitHub Packages/S3 if needed externally.

## Consequences

* **Positive:** NVMe-speed uploads. No size limits. Zero cost.
* **Negative:** Artifacts are not accessible from the public internet (Trade-off accepted for speed).
