mhoennig and Claude Fable 5
632e4396e4
Plan step 17: bubblewrap build sandbox for Hostsharing Managed Webspaces
...
Third build runtime behind BuildRunner: unprivileged user namespace via
bwrap with a prepared Debian rootfs, for hosts without Docker or root.
The step starts with a one-line precondition check to run on the target
webspace; the step-16 git metadata mounts port 1:1.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-10 20:42:48 +02:00
mhoennig and Claude Fable 5
9e7982ce34
Add self-contained runtime bundle distribution (jlink) for hosts without Java
...
./gradlew runtimeBundle packs a jlink-trimmed JRE, gittally.jar, and a
launcher script into one tarball, unpacked to ~/opt/gittally on the target
host; init --systemd works from the bundle unchanged because java.home and
the running-jar path resolve into it. Chosen over a GraalVM native image
(Spring AOT evaluates bean conditions at build time, which cannot represent
the dual-context CLI/server wiring) and over a containerized runtime — see
ADR 0006 and docs/plan/15-runtime-bundle-distribution.md, which also records
the full vm2176-to-vm4006 migration walkthrough.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-10 15:35:35 +02:00
mhoennig
66183f9765
Add build-phase timing and overhead optimization plan to docs
2026-08-10 13:32:17 +02:00
Michael Hoennig and Claude Fable 5
b104eeee05
added opt-in managed nginx/TLS container (ADR 0005, plan step 13): server.nginx.* config serves GitTally over HTTPS on hosts without a reverse proxy — two-phase startup (ACME webroot via certbot container, then full HTTPS config), daily certificate renewal with nginx reload, labelled container removed on shutdown; all failures are non-fatal, the plain HTTP server keeps running
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 21:51:33 +02:00
Michael Hoennig
142bc87604
added ADR 0005 and step 13: reintroduce managed nginx+certbot as an opt-in feature for hosts without a reverse proxy (e.g. Hostsharing); partially supersedes ADR 0004; updated plans, documentation, and migration guides
2026-07-07 14:40:11 +02:00
Michael Hoennig
60ff595a9d
implemented 12-deployment.md: added systemd service generation (init --systemd) and migration guide from legacy script; introduced JSON-file persistence, server-rendered UI with polling, and reverse-proxy-based deployment; updated documentation
2026-07-07 14:18:41 +02:00
Michael Hoennig
e869b46cbf
implemented 11-docker-build-runtime.md: added optional Docker-based build execution with configuration, per-branch runtime selection, image rebuild on input changes, Gradle cache volume, and ownership repair; updated docs and configuration
2026-07-07 13:49:08 +02:00
Michael Hoennig
73221a8b8b
implemented 10-cli-commands.md: added CLI commands for branch name resolution, one-shot builds, failed build retries, and build status reports; includes tests for functionality and edge cases
2026-07-07 13:19:29 +02:00
Michael Hoennig
a6a2c9de0b
implemented 09-system-metrics.md: added system metrics: introduced system monitoring with a metrics collector, REST API endpoint, Thymeleaf UI rendering, and lifecycle management
2026-07-07 12:55:11 +02:00
Michael Hoennig
25a0742a58
implemented 08-web-ui.md: added Thymeleaf-based web UI: templates for builds, artifacts, current builds, and fragments; static assets for favicon, CSS, and JavaScript
2026-07-07 12:23:12 +02:00
Michael Hoennig
490914de0b
implemented 07-server-mode.md: added server profile with REST API for builds, artifacts, live logs, and control tokens; lifecycle management for watcher; controller and service tests
2026-07-07 11:27:27 +02:00
Michael Hoennig and Claude Fable 5
a1db450bdb
implemented 06-watcher.md: non-blocking poll cycle enqueueing changed/new/auto-build branches via the async executor, startup recovery, retention/worktree pruning, JSON auto-build slot state, watcher.pollInterval config, and watcher health state
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 10:28:28 +02:00
Michael Hoennig and Claude Fable 5
3c9eeda5da
implemented 05-artifact-store.md: filesystem artifact store with legacy-compatible naming, atomic persist from concurrent builds, retention pruning, and artifacts.rootDir config
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 10:08:40 +02:00
Michael Hoennig and Claude Fable 5
b379bc0a6b
implemented 04-build-executor.md incl. concurrency amendment: async builds in per-branch worktrees, builds.maxConcurrent, cancellation, live logs; fix .gitignore build/ rule that silently excluded the de.hoennig.gittally.build package (also recovers the step-01 domain files)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 08:43:28 +02:00
Michael Hoennig
ae3ae7aa04
implemented 03-gitea-client.md: added Gitea API client for commit statuses, status mapping, and extensive tests
2026-07-07 07:34:18 +02:00
Michael Hoennig
a427665ce8
implemented 02-git-gateway.md: added Git access layer with credentials bridge, duration parser, and extensive tests
2026-07-07 07:10:38 +02:00
Michael Hoennig
f4a6ec9194
implemented 01-build-state-domain: add execution notes and jackson-datatype-jsr310 dependency
2026-07-07 06:53:04 +02:00
Michael Hoennig
38e080814e
update CLAUDE.md with rewrite plan documentation reference in docs/pland directory
2026-07-07 06:40:27 +02:00