Commit Graph

35 Commits

Author SHA1 Message Date
Catherine
79bfbb96c0 Accept repository URL in -update-site CLI option. 2025-09-29 01:16:59 +00:00
miyuko
1c7ef99359 Add manifest and blob metrics. 2025-09-27 18:36:17 +01:00
Catherine
94ec490ca5 Add -update-site CLI argument, for administrative updates. 2025-09-26 00:31:14 +00:00
Catherine
fc029ad219 [breaking-change] Remove health endpoint handler and renumber metrics.
The previous commit has eliminated any way to use `ServeHealth()`,
but kept it around to not introduce breaking changes. This one has
no such constraint.
2025-09-23 02:39:11 +00:00
Catherine
38269c66ae Add -get-blob mode, printing contents of a blob. 2025-09-22 21:33:23 +00:00
Catherine
3701aa1800 Simplify. NFC 2025-09-22 19:46:17 +00:00
miyuko
1aef0288e7 Add page operation metrics and expose them in Prometheus text format. 2025-09-22 19:03:59 +01:00
Catherine
6dfc03c3a8 Reimplement ugly automemlimit logging at startup. 2025-09-22 07:02:42 +00:00
Catherine
a159dba0b8 [breaking-change] Redesign environment var configuration overrides.
This is done using reflection to avoid boilerplate and potential desync
of the two configuration interfaces. The `[[wildcards]]` section did
not fit well into the "splat every config key" paradigm, so it is
unmarshalled as a whole from a JSON payload in an environment variable.

This commit also splits up the `Config` type into small per-section
struct types and removes most references to the global `config` in
favor of passing pointers to sections around.

A new option, `-print-config-env-vars`, shows the names and types of
all of the available configuration knobs.
2025-09-22 07:02:42 +00:00
Catherine
d81676fea0 Miscellaneous minor configuration related fixes. 2025-09-22 01:31:41 +00:00
Catherine
bf2922f892 [breaking-change] Add default config values where appropriate. 2025-09-21 23:08:27 +00:00
Catherine
51606aac98 Replace hardcoded limits with a config file section. 2025-09-21 19:00:36 +00:00
Catherine
5b471f6677 Add a feature flag for testing h2c:// performance. 2025-09-21 04:38:06 +00:00
Catherine
a10e28210a Enable h2c:// (cleartext HTTP/2) protocol on all http:// sockets.
This allows git-pages and Caddy to efficiently use the same connection
for many pipelined requests, which I hope will reduce contention when
some bot decides to send fifty requests in the same millisecond.

This commit also changes built-in Caddy configuration to use HTTP/2
cleartext only when talking to the backend.
2025-09-21 03:36:14 +00:00
Catherine
5765fa7ffa Proxy requests for unknown sites via wildcard fallback URL (if any). 2025-09-21 02:39:44 +00:00
Catherine
acf948ac6b Remove code for migrating from v1 data layout. 2025-09-20 20:10:40 +00:00
Catherine
7e9cd17b70 Add a -get-manifest option for debugging.
This isn't done via a socket to avoid potential misconfiguration
leading to authentication bypass.
2025-09-20 20:07:15 +00:00
Catherine
960a40d736 Add Honeybadger.io observability support.
It's not yet clear how useful it is, but it's at least something.
2025-09-20 14:19:55 +00:00
Catherine
5024802fd4 Start listening before lengthy initialization. 2025-09-19 01:09:19 +00:00
Catherine
512d5e928a Clearly indicate insecure mode at startup. 2025-09-19 00:36:35 +00:00
Catherine
af5deb60c6 [breaking-change] Accept multiple index repository patterns. 2025-09-18 23:51:20 +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
ea2c2c5d2e [breaking-change] Add a health check endpoint.
Also, simplify the listen endpoint configuration format.
2025-09-17 15:36:27 +00:00
Catherine
a0bd7d8650 Implement migration from v1 data layout. 2025-09-17 13:14:10 +00:00
Catherine
6463c4d2c5 Override backend configuration from environment. 2025-09-17 10:17:45 +00:00
Catherine
1faf0a4431 Cache manifests in memory when using the S3 backend. 2025-09-17 06:54:20 +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
aa2ce12970 Add support for Caddy on-demand TLS. 2025-09-15 08:11:30 +00:00
Catherine
11145f407e Add a configuration file. 2025-09-15 06:06:52 +00:00
Catherine
b9a26e528f Put sources under src/. 2025-09-15 04:51:51 +00:00
Catherine
61b226c1f2 Reorganize, add README and LICENSE. 2025-09-05 08:56:35 +00:00
Catherine
81d795923f Add fetching via PUT request. 2025-09-05 06:53:31 +00:00
Catherine
364f4392c3 Add web server. 2025-09-05 04:41:07 +00:00
Catherine
53b6727af4 Initial commit. 2025-09-05 02:46:45 +00:00