Commit Graph
26 Commits
Author SHA1 Message Date
mrhid6 f46fb7fc0e feat: documentation site
Docusaurus 3 docs-only site at docsite/, served statically by nginx under
/docs on the marketing host. Covers getting started (self-hosted install
through first server and first licence), the control plane, Vantage HQ,
a reference section and operations.

Wired into docker-compose.site.yml as docsite (3005:80) and into the
image build workflow, rebuilding on its own directory only. Never added
to the self-hosted compose file.
2026-07-28 15:46:33 +01:00
mrhid6 26567766a9 feat: Move default steps into container 2026-07-28 13:28:43 +01:00
mrhid6 3537ec59dc docs+deploy: Paddle env, webhook route, collections, CI build args, and spec status 2026-07-27 10:55:41 +01:00
mrhid6andClaude Opus 5 11ebd324ad ci: only rebuild images whose inputs changed
Every push rebuilt all six images regardless of what it touched. A git diff
against github.event.before now gates each build step.

Two things this needs to work at all: fetch-depth 0, because the default
shallow clone has a single commit and nothing to diff against, and git
installed in the dind container, which had node and npm but not git.

The path mapping follows the build contexts rather than intuition — the Go
images use a root context and COPY shared/, so shared/ fans out to all
three, while the Next images use their own directory and cannot be affected
from outside it. Anything that leaves no trustworthy base commit — manual
run, new branch, force-push whose old head is gone — lists every tracked
file instead, so the fallback is one code path rather than two.

Known gap, documented: a repo variable change pushes no commit, so nothing
rebuilds. workflow_dispatch is the escape hatch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 18:15:26 +01:00
mrhid6andClaude Opus 5 7b077905e2 feat(web): hq-sourced members are read-only here
The lock is a courtesy — the API answers 409 either way. NEXT_PUBLIC_HQ_URL
defaults empty so a self-hosted install shows a plain label rather than a
link to a portal that does not serve them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 16:42:47 +01:00
mrhid6andClaude Opus 5 104f21d0a9 docs: phase 2 configuration and the reaper's containment
FREE_INSTANCE_REAP_AFTER is set only in docker-compose.site.yml, so a
self-hosted deployment can never reap. Admin and server must carry the
same value: one names the deletion date in warnings, the other acts on it.

Records that admin now has a second control-plane write path, cloudprov,
and that deletion lives in the control plane because that is where the
knowledge of what an instance is made of belongs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 13:48:23 +01:00
mrhid6andClaude Opus 5 85f6d47024 feat(adminsite): image, compose service, image build and docs
Publishes adminsite on 3004 -- 3000 is web, 3003 is the marketing site since
the port shuffle -- and adds the sixth CI image.

CLAUDE.md gains both new services. admin/ was never documented there at all:
the backend plan's wiring task covered compose and CI but not the file every
session actually loads. So this records admin's whole REST surface, its
404-not-403 rule, the three visual identities and, most importantly, that
adminsite/ and site/ share one token set with nothing enforcing the match --
the same hazard shape as sitesvc's mirrored slug rules.

Also notes that admin's REDIS_ADDR reaches admin only, because the base
compose hardcodes redis:6379 for server.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 21:24:37 +01:00
mrhid6andClaude Opus 5 7e6d7074d6 feat(admin): compose service and image build
Adds admin to docker-compose.site.yml and a fourth Go image to the build
workflow, both following the conventions the other services already use.

LICENSE_SIGNING_KEY now appears in exactly one service in exactly one
compose file. It must never be added to server, and the self-hosted
docker-compose.yml still does not mention admin at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 19:11:52 +01:00
mrhid6 42cd73c5b8 build: build Go images from the repo root for the shared module
Also pins the explicit shared require in both go.mod files. `go mod tidy`
in workspace mode drops it, which breaks the Docker build where no
workspace exists.
2026-07-24 13:45:45 +01:00
mrhid6 693d59a3e2 feat: Marketing site 2026-07-22 16:50:13 +01:00
mrhid6 db5b5e173f fix: Ci and agent update 2026-07-17 16:43:57 +01:00
mrhid6 d31486ae1b fix: Fixed agent windows version 2026-07-17 15:38:00 +01:00
mrhid6 40dee57688 fix: Fixed agent ci install 2026-07-17 13:16:50 +01:00
mrhid6 b7561ed4e5 fix: Fixed agent ci install 2026-07-17 13:07:45 +01:00
mrhid6 15fdf591e0 fix: Fixed agent ci install 2026-07-17 12:40:34 +01:00
mrhid6 e09a61c0af fix: Fixed agent ci install 2026-07-17 12:31:13 +01:00
mrhid6 d206bb0541 ci: package windows agent as WiX MSI 2026-07-17 11:35:09 +01:00
mrhid6 42d1ec99a8 ci: build windows agent binary in release 2026-07-17 11:33:11 +01:00
domrichardson fab87c82c6 feat: Updated brand to be vantage 2026-06-24 15:48:13 +01:00
domrichardson 7f5f082dad updates 2026-06-15 15:25:09 +01:00
domrichardson 91b355cd3e updates 2026-06-15 15:02:58 +01:00
domrichardson 6fa50eb2d1 updates 2026-06-15 15:01:21 +01:00
domrichardson 679aa91bd0 updates 2026-06-15 14:58:25 +01:00
domrichardson a0813b6e84 Updates 2026-06-15 14:39:26 +01:00
domrichardson 596bb7ed3d fix: Fixes to workflow 2026-06-15 14:03:19 +01:00
domrichardson c9868b2108 first commit 2026-06-15 13:58:45 +01:00