Build repository for OurBox Woodbox — a local-first x86-64 appliance running the OurBox software platform. This repo produces the Woodbox OS payload and the Woodbox installer substrate consumed by the unified host-side installer.
Hardware: x86-64 desktop-class PC, UEFI, NVMe system disk, SATA data disk OS base: Ubuntu Server LTS 24.04 (x86-64), autoinstall via cloud-init Runtime: offline single-node k3s, deployed from the selected substrate bundle
- Model ID:
TOO-OBX-WBX(Woodbox hardware class) - Default SKU:
TOO-OBX-WBX-BASE-JU3XK8 - Build target:
x86
Do not start from this repo.
Woodbox installation now goes through the unified host-side installer:
- repo:
https://github.com/techofourown/sw-ourbox-installer - normal operator command:
cd sw-ourbox-installer
./tools/prepare-installer-media.shThat flow:
- chooses the Woodbox OS artifact on the trusted host
- chooses one or more application catalogs on the trusted host
- merges those catalogs into one effective catalog on the host
- chooses the merged default app set, all apps, or a custom app subset from that merged catalog on the trusted host
- pulls the published Woodbox installer substrate artifact
- composes mission media
- flashes removable media
- installs fully offline on the target
This repo is not the operator front door for artifact selection or USB composition anymore.
The helper at tools/prepare-installer-media.sh
now delegates to sw-ourbox-installer; it does not maintain a separate
Woodbox-only operator flow.
This repo still owns the Woodbox-specific surfaces below the hardware seam:
- Woodbox OS payload build and publish
- Woodbox installer substrate build and publish
- Woodbox target runtime install behavior
- Woodbox storage, boot, and hardware-specific installation logic
- Woodbox host-side media adapter surface used by
sw-ourbox-installer
See docs/OPS.md for the full operator runbook including:
- Individual build steps
- Registry operations (publish/pull)
- Post-boot verification
- Updating upstream platform inputs
- Troubleshooting
Woodbox now has a two-layer model:
- this repo publishes target-owned artifacts
sw-ourbox-installercomposes final mission media from those artifacts
Published artifacts from this repo:
| Artifact | ORAS artifact type | Registry |
|---|---|---|
OS payload (.tar.gz) |
application/vnd.techofourown.ourbox.woodbox.os-payload.v1 |
ghcr.io/techofourown/ourbox-woodbox-os |
Installer substrate ISO (.iso) |
application/vnd.techofourown.ourbox.woodbox.installer.v1 |
ghcr.io/techofourown/ourbox-woodbox-installer |
Official channel tags: x86-beta, x86-stable, x86-nightly, x86-exp-labs,
x86-installer-beta, x86-installer-stable, x86-installer-nightly,
x86-installer-exp-labs
Important distinction:
- the published installer ISO is a substrate artifact, not the supported standalone install path
- the supported install path is host-composed mission media created by
sw-ourbox-installer - mission media embeds the selected OS payload, a synthesized application bundle derived from one or more selected catalogs, selected-app metadata, and the mission manifest
- the target then installs from those local mission bytes only
See docs/ARTIFACT_PROVENANCE.md for the full provenance model
and official release policy.
Official artifacts are produced by organization-controlled build infrastructure per ADR-0008.
- Official candidate: push to
mainvia.github/workflows/official-candidate.yml→ publishesx86-beta/x86-installer-beta - Integration nightly: daily cron via
.github/workflows/integration-nightly.yml→ publishesx86-nightly/x86-installer-nightly - Stable promotion: GitHub Release
publishedvia.github/workflows/official-promote-stable.yml - Exp-labs promotion: GitHub Release
prereleasedvia.github/workflows/official-exp-labs.yml - Heavy-build runners:
[self-hosted, official-heavy, x86-image](organization-controlled)
Official Woodbox builds publish:
- the OS payload artifact
- the Woodbox installer substrate artifact used by host-side mission composition
Terminology note:
- the transport artifact is named
ourbox-substratein OCI and runtime surfaces - the user-facing meaning is "application catalogs" plus a selected app set
Candidate builds resolve exact upstream refs from the approved
sw-ourbox-os/release/approved-upstream-inputs.json snapshot pinned in
tools/approved-upstream-inputs.upstream.env.
Scheduled nightly integration builds intentionally bypass that approved snapshot
and resolve the latest upstream nightly/platform inputs at workflow time.
The offline-install contract now lives in the Woodbox substrate itself:
- target package installation comes from substrate-local media, not Ubuntu mirrors
- target netplan is rendered from hardware inventory, not the live installer's default route
- target-side OS and
ourbox-substratebrowsing/pulling are removed from the supported path
| Document | Contents |
|---|---|
sw-ourbox-installer |
Unified host-side installer and mission-media composer |
sw-ourbox-os |
Upstream platform-contract and install-defaults producer |
docs/OPS.md |
Operator runbook |
docs/ARTIFACT_PROVENANCE.md |
Artifact provenance and release policy |
docs/reference/contracts.md |
Host contracts (release metadata, storage, installer) |
docs/reference/installer.md |
Installer reference (defaults, UX flow, artifact contract) |
docs/reference/platform-contract.md |
Platform input consumption from sw-ourbox-os |
docs/decisions/ |
Architectural Decision Records |