Skip to content

Drop the public-serving path - #21

Merged
tschm merged 1 commit into
mainfrom
chore/drop-serving-path
Aug 30, 2026
Merged

Drop the public-serving path#21
tschm merged 1 commit into
mainfrom
chore/drop-serving-path

Conversation

@tschm

@tschm tschm commented Aug 30, 2026

Copy link
Copy Markdown
Member

Removes the server stack, the public and TLS overlays, Caddy, the generated public dashboard and the three scripts around them — 3,300 lines that have never run on this machine. There is no FLEET_DOMAIN, no ACME_EMAIL and no JQ_REPOS anywhere in the setup, which is the entire configuration surface that path needs.

Removed

docker-compose.server.yml standalone stack for an always-on host
docker-compose.public.yml laptop stack, served world-readable
docker-compose.tls.yml + caddy/ Caddy in front, Let's Encrypt
scripts/bootstrap-server.sh first run on a fresh host
scripts/check-public-safe.sh the preflight
scripts/restart.sh the everyday server counterpart
scripts/make-public-dashboard.py generated fleet-public.json
grafana/dashboards/fleet-public.json 2,387 lines on its own
docs/serving.md

Three compose files become two: the laptop stack plus the admin overlay purge-repo.sh needs.

CI gets smaller

Loses the fleet-public.json staleness gate and three compose-overlay checks. That gate cost a regeneration step on every dashboard edit, for an artefact nobody serves.

Comments that explained themselves in terms of a deleted deployment

Five collector comments and one docs paragraph justified themselves with "on a server" or "served world-readable". The code paths they describe are real and untouched — an empty JQ_REPO_ROOT still skips local scanning, JQ_PUBLIC_ONLY still works — they just needed a reason that still exists.

One behaviour change, in .env.example only

JQ_PUBLIC_ONLY was seeded to true with a comment saying to set it before serving publicly. With no public path left, that would silently hide private repos from a new board for a reason that no longer applies, so it now matches the collector's own default of false. Existing .env files are untouched.

Checks

51 tests, ruff, check-dashboard.py, mkdocs build --strict, both remaining compose stacks parse, every surviving shell and Python script parses. The running stack is unaffected — it only ever used docker-compose.yml.

Relationship to #20

Independent. Both branch from main, and I verified they merge cleanly in either order, with the result byte-identical to the combined state either way.

Removes the server stack, the public and TLS overlays, Caddy, the generated
public dashboard and the three scripts around them - 3,300 lines that have
never run on this machine. There is no FLEET_DOMAIN, no ACME_EMAIL and no
JQ_REPOS anywhere in the setup, which is the whole configuration surface
that path needs.

  docker-compose.server.yml         standalone stack for an always-on host
  docker-compose.public.yml         laptop stack, served world-readable
  docker-compose.tls.yml            Caddy in front, Let's Encrypt
  caddy/Caddyfile
  scripts/bootstrap-server.sh       first run on a fresh host
  scripts/check-public-safe.sh      the preflight
  scripts/restart.sh                the everyday server counterpart
  scripts/make-public-dashboard.py  generated fleet-public.json
  grafana/dashboards/fleet-public.json   (2,387 lines on its own)
  docs/serving.md

Three compose files become two: the laptop stack plus the admin overlay
purge-repo.sh needs. CI loses the fleet-public.json staleness gate and three
compose-overlay checks - that gate cost a regeneration step on every
dashboard edit, for an artefact nobody serves.

Also reworded five collector comments and one docs paragraph that explained
themselves in terms of "on a server" or "served world-readable". The code
paths they describe are real and untouched - an empty JQ_REPO_ROOT still
skips local scanning, JQ_PUBLIC_ONLY still works - they just needed a reason
that still exists.

One behaviour change, in .env.example only: JQ_PUBLIC_ONLY was seeded to
true with a comment saying to set it before serving publicly. With no public
path left that would silently hide private repos from a new board for a
reason that no longer applies, so it now matches the collector's own default
of false. Existing .env files are untouched.
@tschm
tschm merged commit eaba5da into main Aug 30, 2026
6 checks passed
@tschm
tschm deleted the chore/drop-serving-path branch August 30, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant