bade8dd709cf86fc3aabaef70b4acc49dc6900f2
Add HAProxy 3.3.9 to the Tribes Guix channel and introduce a Shepherd service for the public TLS edge. Wire node edge deployments and Lego reloads to HAProxy while keeping Vinyl's HTTP challenge and cache topology unchanged.
NBDE Channel
This repository provides the Guix-side pieces for network-bound disk encryption:
nbde/packages/crypto.scmPackage definitions forluksmeta,tang, andclevis.nbde/services/tang.scmA standalone Tang service for Guix systems.nbde/system/mapped-devices.scmA Clevis-backed mapped-device kind with manualcryptsetupfallback.nbde/system/initrd.scmA helper aroundraw-initrdfor early-boot Clevis support.examples/phase0-system.scmMinimal reference system using the Clevis-backed mapped-device kind and custom initrd.
It now also carries the first Tribes deployment substrate:
tribes/packages/release.scmA deployment-bridge package wrapper for a prebuilt Tribes release tree.tribes/packages/source.scmA real source-built Tribes package that produces a production release from vendored Mix and npm dependency trees plus local Parrhesia source. Local-source builds accept hash overrides viaTRIBES_MIX_DEPS_SHA256,TRIBES_RAW_MIX_DEPS_SHA256, andTRIBES_NPM_DEPS_SHA256.tribes/services/tribes.scmShepherd service, runtime environment wiring, and account/activation setup for a Tribes node.tribes/system/node.scmA higher-level service bundle that wires PostgreSQL plus the Tribes service.tribes/system/installer.scmInstaller-facing OS constructor for NBDE-installed Tribes nodes.nbde/system/installed-base.scmShared base installed-system constructor used by both the minimal NBDE flow and the Tribes-specific installer path.
Current development status:
luksmeta,tang, andclevisbuild successfully onpguix.- A disposable Tang + LUKS smoke test passes.
- A QEMU Phase-0 system with encrypted root now boots unattended through Clevis/Tang and reaches a login prompt.
For pinned bootstrap usage, generate a channels.scm that combines the pinned
upstream Guix channel with this repository's current commit.
Two checked-in channel files serve different purposes:
pins/base-channels.sexp: upstream Guix pin only, used forguix pull -Cand related bootstrap toolingpins/legion-channels.sexp: Legion/builder default channel set, containing the pinned upstream Guix channel plus the defaulttribeschannel metadata
Refresh the upstream Guix pin intentionally with
./scripts/update-base-channels-pin, then update pins/legion-channels.sexp
to keep its guix entry aligned.
The current Legion kexec image path is based on:
examples/build-host-kexec-installer.scmnbde/system/build-host-kexec-installer.scm
That build-host installer is the active kexec image definition used for Legion deployment bootstrapping.
Description
Languages
Scheme
79.7%
Tree-sitter Query
14.7%
Shell
3.4%
Perl
2%
Common Lisp
0.2%