feat: add toolchain harness for the 11 Arcline Go tools

Harness that clones the 11 Go tools (arcline-uptime, -check, -audit,
-dns, -vault, -email, -migrate, -billing, -portal, -website, -status)
from git.arcline.it, builds release binaries, and packages each into a
.deb that configure-system installs into the image. Tools that cannot
be fetched or built are skipped without breaking the OS build.
This commit is contained in:
Blake Ridgway
2026-08-21 13:15:43 -05:00
parent 36d0c5b9d1
commit 9fd57c6f87
4 changed files with 144 additions and 0 deletions

30
toolchain/README.md Normal file
View File

@@ -0,0 +1,30 @@
# Arcline OS — toolchain packaging
#
# The landing page promises 11 Go tools shipping with Arcline OS. This harness
# turns each tool's source repo into a .deb package that configure-system.sh
# installs into the image.
#
# Tools (source of truth: tools.list):
#
# arcline-uptime HTTP/TCP/TLS/DNS monitoring, Prometheus metrics export
# arcline-check CDN + transparency auditor
# arcline-audit full site health scanner (SSL, headers, perf, a11y)
# arcline-dns DNS propagation checker across resolvers
# arcline-vault encrypted secrets store (REST API + CLI)
# arcline-email self-hosted SMTP/IMAP stack (OpenSMTPD + Dovecot + Rspamd)
# arcline-migrate cPanel/Plesk → Arcline migration
# arcline-billing Stripe-powered subscription management
# arcline-portal customer dashboard (SSL monitoring + ticketing)
# arcline-website Go HTTP server for arcline.it
# arcline-status static status page generator
#
# Usage:
# toolchain/build-tools.sh # build all (clone from git.arcline.it)
# ARCLINE_TOOLS_DIR=/path/to/checkouts \ # reuse local checkouts
# toolchain/build-tools.sh
# make toolchain
#
# The script is a harness ("the wires"): it clones each repo, tries a handful
# of common Go layouts, builds a release binary, and packages a .deb. Any tool
# whose repo is unavailable or fails to build is skipped with a warning — the
# build must not silently break the OS image.