5cc35ce515 |
feat: promote on demand at the request gate to drop the graceful-deploy 503 |
Atanas Minev |
2026-07-19 09:54 |
2316e7f70b |
docs: LogQL how to find gmt_ token |
Atanas Minev |
2026-07-18 16:25 |
676a933feb |
feat: honor on.push branch filters so a non-matching push starts no run |
Atanas Minev |
2026-07-18 16:10 |
b796f1f80a |
feat: compare two refs — commits and diff of base...head |
Atanas Minev |
2026-07-18 15:54 |
62b26b0b8e |
fix: redirect to the ref list when a repo's default branch is missing |
Atanas Minev |
2026-07-18 15:34 |
7119d95ad1 |
feat: stream CI logs live while a job runs |
Atanas Minev |
2026-07-18 13:37 |
9cb75a2022 |
feat: self-deploy via the local runner — env-seeded CI secrets |
Atanas Minev |
2026-07-18 09:49 |
20ca686956 |
chore: bump s3lite to v0.2.0 (RoleOff removed; litestream logging quieted) |
Atanas Minev |
2026-07-18 08:57 |
d7f89ecbd1 |
refactor: drop the redundant object-store startup check |
Atanas Minev |
2026-07-17 15:08 |
08c77b63f1 |
refactor!: fold S3 storage config into one GITMOTE_S3_BUCKET root |
Atanas Minev |
2026-07-17 14:40 |
681e72eb4a |
feat: build CI container images behind the GITMOTE_CI_ALLOW_BUILDS opt-in |
Atanas Minev |
2026-07-17 12:31 |
1983cff1e3 |
perf: hydrate repo objects concurrently to cut first-request latency |
Atanas Minev |
2026-07-06 15:59 |
f0436baa0c |
feat: fail startup fast when refs restore but their objects are unreachable |
Atanas Minev |
2026-07-06 15:47 |
9aeae97308 |
perf: shrink server image to 60MB and raise container resources for faster cold start |
Atanas Minev |
2026-07-06 14:52 |
aa1c7cbe7b |
feat: read CI workflows from .gitmote/workflows, not .github/workflows |
Atanas Minev |
2026-07-06 11:37 |
f0e01e3aa4 |
feat: render commit diffs as colored unified diffs |
Atanas Minev |
2026-07-05 23:24 |
c62df0f033 |
feat: drop the irrelevant owner field from repo creation |
Atanas Minev |
2026-07-05 23:05 |
3384f5383c |
ci: publish the server image for arm64 as well as amd64 |
Atanas Minev |
2026-07-05 23:01 |
26ab468c98 |
docs: pin the quickstart image to :master (no :latest is published) |
Atanas Minev |
2026-07-05 22:58 |
a6eb8e0076 |
docs: reference schema.sql from storage.md instead of duplicating the DDL |
Atanas Minev |
2026-07-05 22:41 |
468519d6b6 |
chore: default the bootstrap admin handle to "admin" in dev/e2e scripts |
Atanas Minev |
2026-07-05 21:47 |
105d4264e9 |
feat: viewer-scoped dashboard and per-repo management UI |
Atanas Minev |
2026-07-05 21:41 |
fe077256d7 |
feat: rewrite rendered-markdown relative links to content verbs |
Atanas Minev |
2026-07-05 21:21 |
d530794c24 |
feat: content routing — tree/blob/raw with ref-in-path greedy resolution |
Atanas Minev |
2026-07-05 21:14 |
3917988847 |
feat: flat single-segment repo namespace with visibility and default-branch force-push guard |
Atanas Minev |
2026-07-05 20:54 |
f5d20ddd9b |
docs: design the URLs epic — flat repo namespace, in-path refs, visibility |
Atanas Minev |
2026-07-05 20:12 |
bbaa890f1b |
docs: add docker run quickstart, tier the env table, document CI substrate |
Atanas Minev |
2026-07-05 18:17 |
c9afb94e33 |
feat: add make image/prod/publish to dogfood the container locally |
Atanas Minev |
2026-07-05 17:42 |
ef3df80854 |
feat: publish public GHCR images and deploy from them |
Atanas Minev |
2026-07-05 09:59 |
19617d40f1 |
feat: first-run auto-bootstrap and token reissue |
Atanas Minev |
2026-07-05 09:49 |
776c3b9626 |
feat: auto-generate and persist the cookie key and CI worker secret |
Atanas Minev |
2026-07-05 09:36 |
214746e291 |
feat: derive the metadata replica from the bucket and collapse env into GITMOTE_DATA |
Atanas Minev |
2026-07-05 09:25 |
150e7dfe6a |
docs: plan "easy to operate" — one portable container, minimal env |
Atanas Minev |
2026-07-05 00:50 |
4cf6d3463f |
fix: gate reads on the writer lease to avoid stale-follower reads |
Atanas Minev |
2026-07-04 23:39 |
d85ba71e51 |
feat: dark mode for syntax highlighting and mermaid diagrams |
Atanas Minev |
2026-07-04 10:25 |
15de13ecac |
feat: render mermaid diagrams in the browse UI |
Atanas Minev |
2026-07-04 10:21 |
c6c77f28fc |
docs: mark CI done — architecture doc, drop self-deploy, no in-Job image builds |
Atanas Minev |
2026-07-04 09:49 |
9650d98415 |
design: remove max-width |
Atanas Minev |
2026-07-04 09:25 |
bbba5f2bd1 |
docs: add CI architecture doc — pipeline, act self-hosted, secrets, self-deploy |
Atanas Minev |
2026-07-04 09:20 |
d313874d67 |
fix: bump act to 0.2.89 — CVE-2026-34041, CVE-2026-34042 |
Atanas Minev |
2026-07-04 00:22 |
5b2293c77e |
fix: use a tagged switch in actArgs (staticcheck QF1002) |
Atanas Minev |
2026-07-03 23:19 |
ad9dbb4837 |
feat: CI stage 4b — Scaleway runner image, act self-hosted (no DinD) |
Atanas Minev |
2026-07-03 23:08 |
7471be891a |
feat: CI status UI — runs, run detail, log viewer, commit badge |
Atanas Minev |
2026-07-03 21:31 |
9a30ad0efe |
feat: redirect the bare root to the management UI |
Atanas Minev |
2026-07-03 21:20 |
3dc961b923 |
feat: encrypted per-repo CI secrets — AES-256-GCM, injected as act secrets |
Atanas Minev |
2026-07-03 21:16 |
2a3b5d3f70 |
feat: run CI locally — gitmote-runner + local trigger, same code as cloud |
Atanas Minev |
2026-07-03 20:14 |
cd419f45a9 |
chore: add make dev — local MinIO + bootstrapped token for native runs |
Atanas Minev |
2026-07-03 19:44 |
665d27c4f2 |
feat: CI stage 4a — internal runner claim/complete API |
Atanas Minev |
2026-07-03 19:25 |
47553979de |
feat: CI stage 4 precursor — expiring, repo-scoped, read-only tokens |
Atanas Minev |
2026-07-03 19:14 |
c9a73697cc |
feat: CI stage 3 — trigger a Scaleway Serverless Job per CI job |
Atanas Minev |
2026-07-03 18:45 |
aef98350d7 |
feat: CI stage 2 — discover workflows at the pushed SHA and record jobs |
Atanas Minev |
2026-07-03 18:35 |
091da01a67 |
feat: CI stage 1 — run/job data model + after-commit dispatch seam |
Atanas Minev |
2026-07-03 18:12 |
3b9ac0de8f |
docs: plan CI — staged tasks for on-push workflows on a Scaleway runner |
Atanas Minev |
2026-07-03 18:04 |
ad07dda360 |
feat: highlight code and render markdown in the browse UI |
Atanas Minev |
2026-07-03 16:42 |
468ecf6ea3 |
feat: browse repos read-only in the web UI |
Atanas Minev |
2026-07-03 16:26 |
a413c130df |
docs: plan task 15 — syntax highlighting and markdown in the browse UI |
Atanas Minev |
2026-07-03 15:59 |
2a8dcf804b |
feat: serve the ref advertisement without hydrating objects |
Atanas Minev |
2026-07-03 15:53 |
1b531d8a81 |
docs: plan task 14 — read-only repo browsing in the web UI |
Atanas Minev |
2026-07-03 15:45 |
29849e78a1 |
docs: plan task 13 — serve the ref advertisement without object hydration |
Atanas Minev |
2026-07-03 15:20 |
e4dd0bf4aa |
fix: buffer chunked receive-pack bodies so large pushes don't 400 |
Atanas Minev |
2026-07-03 14:45 |
9c56ede633 |
fix: grant the owner admin on UI-created repos so they are immediately pushable |
Atanas Minev |
2026-07-03 14:37 |
bd65acca61 |
docs: sharpen ci-runner.md |
Atanas Minev |
2026-07-03 14:19 |
46a5254774 |
feat: enforce single writer by lease (s3lite RoleAuto) — retire the deploy drain |
Atanas Minev |
2026-07-03 13:52 |
8c85093ec7 |
docs: add task 12 — leased writer via s3lite RoleAuto |
Atanas Minev |
2026-07-03 13:27 |
e1de1e7e55 |
refactor: rely on s3lite v0.1.0 durable Close — drop the Sync workaround |
Atanas Minev |
2026-07-03 13:26 |
cede8d1d3d |
docs: update README |
Atanas Minev |
2026-07-03 13:04 |
6d96f1fbe3 |
docs: update container resources |
Atanas Minev |
2026-07-03 12:04 |
6285daf53b |
docs: Scaleway now supports conditional writes — the leased single-writer is unblocked |
Atanas Minev |
2026-07-03 11:40 |
15d3078cc2 |
docs: close the self-hosting milestone |
Atanas Minev |
2026-07-03 11:07 |
f241025bdf |
fix: deploy — stop-first drain so a rollout never runs two writers |
Atanas Minev |
2026-07-03 10:42 |
d76f6b9f47 |
feat: deploy — litestream replication + Scaleway single-writer host |
Atanas Minev |
2026-07-02 23:36 |
66f68224ee |
ci: self-host locally — MinIO + Docker e2e (make e2e-local) |
Atanas Minev |
2026-07-02 22:04 |
a20ce8ea7f |
feat: management web UI — repos, tokens, ACLs behind admin login |
Atanas Minev |
2026-07-02 19:28 |
1a15fb27ac |
feat: bootstrap — first admin, token, repo from an empty instance |
Atanas Minev |
2026-07-02 19:02 |
27b587f713 |
feat: write path — receive-pack + pre-receive CAS; git push works |
Atanas Minev |
2026-07-02 18:50 |
3740b62eed |
feat: auth — PAT selector/verifier + per-repo ACL on the read path |
Atanas Minev |
2026-07-02 17:47 |
f5b9e77585 |
feat: read path — smart-HTTP clone/fetch via git http-backend |
Atanas Minev |
2026-07-02 17:31 |
33eaeae179 |
feat: repo materialization — bare repo cache from refs + objects |
Atanas Minev |
2026-07-02 17:05 |
177a85f195 |
feat: metadata layer — s3lite schema, query layer, ref CAS |
Atanas Minev |
2026-07-02 16:49 |
66376438e9 |
feat: s3 object store — Store interface, S3 and in-memory impls |
Atanas Minev |
2026-07-02 16:02 |
c7da38371a |
feat: project scaffold — health server, make gates, CI |
Atanas Minev |
2026-07-02 15:53 |
a4aa4b4400 |
docs: add CLAUDE.md — agent entry point over CONTRIBUTING.md |
Atanas Minev |
2026-07-02 15:47 |
ca01906267 |
docs: add task frontier toward self-hosting |
Atanas Minev |
2026-07-02 15:39 |
4637b424e1 |
docs: add CONTRIBUTING.md |
Atanas Minev |
2026-07-02 15:24 |
9102e41b77 |
docs: split architecture |
Atanas Minev |
2026-07-02 12:38 |
0ab0aa76a0 |
docs: speculative CI-runner evolution note |
Atanas Minev |
2026-07-02 09:36 |
adc4e4a536 |
docs: architecture + design notes for gitmote |
Atanas Minev |
2026-07-02 09:28 |
e2fed64d02 |
Initial commit |
Atanas Minev |
2026-07-02 09:23 |