Catherine
2548effeb8
Unify Caddy and git-pages health checks.
2025-09-18 13:50:48 +00:00
Catherine
810dc9cea0
Disable swap on fly.io.
...
This just results in latency spikes with big uploads.
2025-09-18 13:23:38 +00:00
Catherine
d48c754b9e
Switch from hivemind to supervisord.
...
Hivemind doesn't have auto-restart capability (it quits with code 0,
which just stops the VM).
2025-09-18 12:15:23 +00:00
Catherine
b85b762ba9
[breaking-change] Update Dockerfile to add Caddy and a fly.io deployment option.
2025-09-18 05:14:04 +00:00
Catherine
0ed4fd2fc2
Fetch repositories to /tmp, not in-memory.
2025-09-18 04:32:23 +00:00
Catherine
07a736382c
Automatically set GOMEMLIMIT at 90% of available memory.
...
Or at the ratio specified by `AUTOMEMLIMIT`.
2025-09-18 03:31:51 +00:00
Catherine
fb9f4a7c4a
Allow configuring log format.
...
In a production environment the timestamp will be appended by the log
service.
2025-09-18 02:00:49 +00:00
Catherine
bd6e377e43
Allow explicit authorization to bypass wildcard URL restriction.
2025-09-18 01:56:06 +00:00
Catherine
bbd7964e0c
Revert "Expose metadata when running on bunny.net magic containers."
...
This reverts commit 705685e918 .
2025-09-18 01:42:17 +00:00
Catherine
2ca9a4c244
Revert "Log successful health check."
...
This reverts commit 82f24d5508 .
2025-09-18 01:40:51 +00:00
Catherine
c9b2cbb52e
Work around a TOCTTOU race in os.Root.MkdirAll().
...
This race was reliably triggered by an initial push into an empty blob
store, causing it to fail.
2025-09-17 23:14:52 +00:00
Catherine
82f24d5508
Log successful health check.
2025-09-17 18:31:38 +00:00
Catherine
f482be4c05
Invalidate S3 backend cache after committing or deleting a manifest.
2025-09-17 17:01:50 +00:00
Catherine
6abaa04688
[breaking-change] S3_ENDPOINT_URL→S3_ENDPOINT.
2025-09-17 16:25:31 +00:00
Catherine
73f00459c7
Simplify X-Bunnynet-MC format.
2025-09-17 15:38:32 +00:00
Catherine
ea2c2c5d2e
[breaking-change] Add a health check endpoint.
...
Also, simplify the listen endpoint configuration format.
2025-09-17 15:36:27 +00:00
Catherine
13c72015a7
Raise default S3 backend max-age for manifests to 60s.
...
The default of 5s is way too aggressive and results in poor experience.
2025-09-17 15:16:02 +00:00
Catherine
705685e918
Expose metadata when running on bunny.net magic containers.
2025-09-17 14:55:50 +00:00
Catherine
ef7aea6a38
Fix S3 backend cache expiry calculation.
2025-09-17 14:19:10 +00:00
Catherine
48cc4cbcbb
Cache misses as well as hits in S3 GetManifest.
...
Otherwise URLs with a subdirectory end up hammering the backend server.
2025-09-17 14:18:08 +00:00
Catherine
a0bd7d8650
Implement migration from v1 data layout.
2025-09-17 13:14:10 +00:00
miyuko
31131a6360
Use a context to ensure a time-based deadline for update operations.
2025-09-17 13:14:42 +01:00
miyuko
cf8abbca28
Wrap errors when calling fmt.Errorf.
2025-09-17 13:14:42 +01:00
miyuko
92622b19a4
Fix file not closed after serving a page.
2025-09-17 13:14:42 +01:00
Catherine
3b80cb4144
Fix domain presence check.
...
Before this commit, domains which had a project deployed but not
an index would be incorrectly considered nonexistent when queried
via the Caddy endpoint.
2025-09-17 12:11:25 +00:00
Catherine
8d9c64410e
Update Dockerfile.
2025-09-17 10:31:31 +00:00
Catherine
9e7ea8b5f1
Fix ETag header format.
2025-09-17 10:31:20 +00:00
Catherine
6463c4d2c5
Override backend configuration from environment.
2025-09-17 10:17:45 +00:00
Catherine
b3f8b941d8
[breaking-change] Split blob paths for S3 backend as well.
2025-09-17 10:03:39 +00:00
Catherine
373d48ed22
Cache blobs in memory when using the S3 backend.
2025-09-17 07:42:33 +00:00
Catherine
1faf0a4431
Cache manifests in memory when using the S3 backend.
2025-09-17 06:54:20 +00:00
Catherine
876b4596ba
Reduce amount of manifest queries sent to the backend.
2025-09-17 06:54:12 +00:00
Catherine
6254176a17
Add logging to S3 backend.
2025-09-17 06:20:22 +00:00
Catherine
7fc81d3d97
[breaking-change] Rearchitect for better object store compatibility.
...
Co-authored-by: bin <flumf@users.noreply.github.com >
2025-09-17 05:59:50 +00:00
Catherine
e0f6dabd9f
Set Access-Control-Allow-Origin for HTTP error responses as well.
2025-09-16 17:12:45 +00:00
Catherine
b7e16b5e5f
Redirect from /foo to /foo/ when serving index.html under it.
...
Otherwise links break.
2025-09-16 16:51:13 +00:00
Catherine
8b8431201b
Allow Authorization: Basic as a fallback for GitHub, etc.
2025-09-16 15:57:55 +00:00
Catherine
e86e895913
Add cross-origin isolation headers to GET responses.
2025-09-16 15:21:14 +00:00
Catherine
3d199b660c
Add Access-Control-Allow-Origin: * header to GET responses.
2025-09-16 15:04:34 +00:00
Catherine
02c69f8988
Add Cache-Control and ETag headers to GET responses.
2025-09-16 14:40:51 +00:00
Catherine
cc42c43de2
Add Server: git-pages header to all responses.
2025-09-16 14:40:44 +00:00
Markus Unterwaditzer
bffa79dfba
Add a Dockerfile
2025-09-16 15:12:48 +02:00
Catherine
9c0cdaa2eb
Report ignored refs in webhook response.
2025-09-16 13:05:40 +00:00
Catherine
20b7689d16
Report fetch outcome in webhook response.
2025-09-15 16:46:19 +00:00
Catherine
03d6c55855
Allow supplying Authorization: via query parameter.
...
There is no other way to authorize GitHub and Gogs webhook payloads.
2025-09-15 16:46:19 +00:00
Catherine
194302f4cf
Accept GitHub, Gitea, and Gogs webhook payloads.
2025-09-15 16:18:16 +00:00
Catherine
87be9973b4
Compare repository URLs with casefolding.
...
Codeberg repository URLs are equal modulo case, and without this
normalization step some repositories can't be published.
2025-09-15 14:56:09 +00:00
Catherine
9d02387f5d
Fix 404 being reported as 500.
2025-09-15 12:04:54 +00:00
Catherine
44d72eea9a
Log a clearer message if requested path is not found.
2025-09-15 11:46:22 +00:00
Catherine
9588e6743c
Respond to HEAD requests.
2025-09-15 11:28:33 +00:00