Feat v0.3.8 distribution (#21)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-go-pg (push) Successful in 2m35s
CI/CD / test-sqlite (push) Successful in 2m45s
CI/CD / build-and-deploy (push) Successful in 30s

Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #21.
This commit is contained in:
2026-03-28 22:46:40 +00:00
committed by xcaliber
parent d91ec02dd7
commit 310048b7bb
17 changed files with 944 additions and 11 deletions

View File

@@ -2,6 +2,39 @@
All notable changes to Switchboard Core are documented here.
## v0.3.8 — Distribution
### Added
- **Bundled packages**: Production Docker image now ships with 12 pre-built
`.pkg` archives (4 workflows, 3 surfaces, 1 full, 1 library, 2 test runners,
1 extension). Auto-installed on first boot via `InstallBundledPackages()`.
Install-once, skip-if-present — admin uninstalls are respected on restart.
- **Package allowlist** (`BUNDLED_PACKAGES`): Comma-separated list of package
IDs to install. Empty (default) installs all. Useful for Helm/K8s where
different environments need different packages.
- **Skip bundled** (`SKIP_BUNDLED_PACKAGES=true`): Disables auto-install
entirely. Intended for production until post-MVP packages are ready.
- **Builder image** (`Dockerfile.builder`): Pre-caches Go modules, Node
dependencies, and vendor lib tarballs for faster custom builds.
- **Distribution docs** (`docs/DISTRIBUTION.md`): Quick start, bundled
packages, builder image usage, custom build guide, production deployment
reference.
- **Migration 012**: Adds `bundled` to `packages.source` CHECK constraint
(both Postgres and SQLite).
- **K8s manifest**: `SKIP_BUNDLED_PACKAGES` and `BUNDLED_PACKAGES` env vars
added to `k8s/switchboard.yaml`.
- **Tests**: 6 handler tests (fresh install, skip existing, missing dir, empty
dir, dormant handling, allowlist filtering).
### Environment defaults
| Environment | `SKIP_BUNDLED_PACKAGES` | `BUNDLED_PACKAGES` |
|-------------|------------------------|--------------------|
| Dev (compose) | `false` | (empty = all) |
| Test (K8s) | `false` | (empty = all) |
| Prod (K8s) | `true` | — |
## v0.3.7 — Package Audit
### Added