Commit Graph

  • 8bb6d0ff28 Unconditionally sample HTTP requests for tracing that take too long. miyuko 2025-10-15 14:29:32 +01:00
  • 87262e82f0 Swallow DNS allowlist parsing errors if at least one record is valid. miyuko 2025-10-15 01:51:51 +01:00
  • afae6e42f3 S3: log blob sizes in human readable form. Catherine 2025-10-13 02:39:17 +00:00
  • 443e929dea Respond within 10 seconds when receiving GitHub webhooks. miyuko 2025-10-13 00:46:01 +01:00
  • 188c66c434 Use an ad-hoc type to deserialize JSON webhook payload. Catherine 2025-10-09 14:52:58 +00:00
  • 5b8cb4ba11 Clean up Caddyfile, removing Fly.io-isms. Catherine 2025-10-09 14:42:22 +00:00
  • d887ae1602 Allow metadata retrieval with Codeberg Pages v2 authorization method. Catherine 2025-10-09 13:43:00 +00:00
  • e0b659f668 Add [limits].allowed-repository-url-prefixes configuration option. Catherine 2025-10-09 13:18:44 +00:00
  • 2d603db810 Use the upstream certmagic-s3 Caddy plugin. miyuko 2025-10-08 01:23:57 +01:00
  • 15107298b2 Allow a trailing dot in Codeberg Pages v2 DNS TXT authentication method. Catherine 2025-10-07 19:00:46 +00:00
  • a85905bd31 Fix time-based cache expiration practically never working. miyuko 2025-10-05 15:05:12 +01:00
  • 0eede0792d Add hostname and (if present) $PAGES_REGION to Server:. Catherine 2025-10-05 08:11:50 +00:00
  • a14f9e1e6c Use int64, not uint32, for sizes in the manifest. Catherine 2025-10-03 06:01:51 +00:00
  • 1e01a12958 Implement force redirects. Catherine 2025-10-02 16:41:23 +00:00
  • 157ceb8342 Add an HTTP status code workaround for GitHub. Catherine 2025-10-02 12:41:15 +00:00
  • a7c47a798f Allow running without a configuration TOML file. Catherine 2025-10-02 11:32:48 +00:00
  • d5a4ac4098 Fix URL argument validation when using the -update-site CLI option. miyuko 2025-09-30 21:54:08 +01:00
  • f0805c9ff5 Revert "Remove redundant bounds check from ExtractTar. NFCI" Catherine 2025-09-30 05:19:28 +00:00
  • 485cd4b9b1 Remove redundant bounds check from ExtractTar. NFCI Catherine 2025-09-30 05:19:07 +00:00
  • 277b329e2d Merge backend_observer.go into observe.go. NFC Catherine 2025-09-30 04:40:30 +00:00
  • 50e32fedb0 Add logo. Catherine 2025-09-30 04:35:06 +00:00
  • 9f24d665bc Remove Fly.io configuration. Catherine 2025-09-30 04:17:08 +00:00
  • b1ef57d32a Only cache NotFound errors from S3 backend, rather than any errors. Catherine 2025-09-30 03:44:24 +00:00
  • 764b4cd9f5 Observe blob size in GetBlob as well. Catherine 2025-09-30 02:54:53 +00:00
  • 396cabd43b Exclude metrics endpoint from observability. Catherine 2025-09-30 02:26:19 +00:00
  • 5f3ec8464f Fix Sentry sample rate calculation. Catherine 2025-09-30 01:37:26 +00:00
  • f63940b459 Submit server region and machine ID to tracing. Catherine 2025-09-30 01:48:43 +00:00
  • 161696427b Cleanup Nix flake. bin 2025-09-29 21:26:46 -04:00
  • 73df468bbb Update Nix flake. Catherine 2025-09-30 01:02:43 +00:00
  • 5f0a9ad360 Remove Honeybadger integration. Catherine 2025-09-30 00:59:14 +00:00
  • 1a0e594624 Add span based timings measurement and Sentry integration. Catherine 2025-09-30 00:56:58 +00:00
  • b1c50c10de Thread context argument through the backend interface. NFC Catherine 2025-09-29 23:10:33 +00:00
  • f533d84de9 Simplify. NFC Catherine 2025-09-29 22:16:23 +00:00
  • 217f3a9320 Switch log handling to slog. Catherine 2025-09-29 22:09:41 +00:00
  • c3575a09ca Add Sentry support. Catherine 2025-09-29 21:10:36 +00:00
  • dcabcac106 Rename feature h2c to serve-h2c. Catherine 2025-09-29 01:47:13 +00:00
  • be389329f2 Gate compression behind compress feature flag. Catherine 2025-09-29 01:45:17 +00:00
  • 25b1720940 Compress files with Zstandard. Catherine 2025-09-29 00:30:57 +00:00
  • f82cf371f6 Inline ExternalizeManifest. NFC Catherine 2025-09-28 23:46:16 +00:00
  • 79bfbb96c0 Accept repository URL in -update-site CLI option. Catherine 2025-09-29 01:16:59 +00:00
  • f9487fb8b6 Fix misleading variable name. NFC Catherine 2025-09-28 23:40:29 +00:00
  • 66e290550b Update README. Catherine 2025-09-29 00:18:13 +00:00
  • 1c7ef99359 Add manifest and blob metrics. miyuko 2025-09-22 14:33:25 +01:00
  • 98416af092 CI: use node images Christian Bardey 2025-09-26 09:39:53 +02:00
  • 94ec490ca5 Add -update-site CLI argument, for administrative updates. Catherine 2025-09-26 00:31:14 +00:00
  • 79a2933dea Build code and run linter as part of a CI job. Catherine 2025-09-26 00:01:46 +00:00
  • 7941708aad Update Nix flake. Catherine 2025-09-25 23:47:23 +00:00
  • d36bebfe4e Move repository to https://codeberg.org/git-pages/git-pages.git. Catherine 2025-09-25 02:06:35 +00:00
  • 80aa8e2901 Add Codeberg Pages v2 specific DNS authorization mechanism. Catherine 2025-09-25 01:18:47 +00:00
  • d26fe98577 Refactor authorization code to handle non-pages branches. NFC Catherine 2025-09-24 22:54:58 +00:00
  • 714e37cce8 Implement partial Netlify _redirects support. Catherine 2025-09-24 19:11:25 +00:00
  • 59eb65ff66 Fly.io: enable primary region with 1 machine always running. Catherine 2025-09-24 17:32:37 +00:00
  • c6330ccffc Don't attempt to proxy if a fallback URL hasn't been set up. Catherine 2025-09-24 11:12:00 +00:00
  • fc029ad219 [breaking-change] Remove health endpoint handler and renumber metrics. Catherine 2025-09-23 02:36:23 +00:00
  • 4c087278cb Fly.io: switch health check method to [[services.http_checks]]. Catherine 2025-09-23 01:49:33 +00:00
  • 922cc6315a Use filename, not URL path, for MIME type sniffing. Catherine 2025-09-23 00:42:16 +00:00
  • 38269c66ae Add -get-blob mode, printing contents of a blob. Catherine 2025-09-22 21:33:23 +00:00
  • b1c372ea54 All subdomains of a forbidden domain are forbidden as well. Catherine 2025-09-22 20:00:54 +00:00
  • f0b19debdc Make X-Pages-Update: no-change a reportable event. Catherine 2025-09-22 19:47:00 +00:00
  • 3701aa1800 Simplify. NFC Catherine 2025-09-22 19:46:17 +00:00
  • 9907a26397 Remove leftover comments. NFC Catherine 2025-09-22 19:43:41 +00:00
  • c11114149c Allow marking a domain as unconditionally forbidden to update. Catherine 2025-09-22 19:37:48 +00:00
  • 6a2cc5b157 Minor refactor. NFC Catherine 2025-09-22 19:13:14 +00:00
  • 1aef0288e7 Add page operation metrics and expose them in Prometheus text format. miyuko 2025-09-22 14:33:25 +01:00
  • 584957a92d Provide Allow: header when responding with 405 Method Not Allowed. Catherine 2025-09-22 17:41:03 +00:00
  • 789a5e682e [breaking-change] Use type-safe representation for time durations. Catherine 2025-09-22 17:04:41 +00:00
  • 80e3d7ff56 Turn off Caddy's admin interface and expose metrics on the same port. Catherine 2025-09-22 16:26:55 +00:00
  • e78f70626e Fly.io: enable Caddy metrics collection. Catherine 2025-09-22 08:42:35 +00:00
  • 247922a093 Fly.io: configure concurrency. Catherine 2025-09-22 08:28:19 +00:00
  • fd7b632b52 Expand Server: header to include machine ID on Fly.io. Catherine 2025-09-22 08:27:03 +00:00
  • 6dfc03c3a8 Reimplement ugly automemlimit logging at startup. Catherine 2025-09-22 06:08:21 +00:00
  • a159dba0b8 [breaking-change] Redesign environment var configuration overrides. Catherine 2025-09-22 04:28:04 +00:00
  • d81676fea0 Miscellaneous minor configuration related fixes. Catherine 2025-09-22 01:30:32 +00:00
  • bf2922f892 [breaking-change] Add default config values where appropriate. Catherine 2025-09-21 19:39:44 +00:00
  • 51606aac98 Replace hardcoded limits with a config file section. Catherine 2025-09-21 18:32:10 +00:00
  • e59699ab1a Configure Caddy to use PROXY protocol for X-Forwarded-For. Catherine 2025-09-21 14:24:25 +00:00
  • d4f5420875 Configure Caddy to use HTTP/3. Catherine 2025-09-21 09:38:23 +00:00
  • 21227ce59f Only send Access-Control-Allow-Origin: in response to a CORS request. Catherine 2025-09-21 08:19:08 +00:00
  • 2af2975713 Add tar+gzip and tar+zstd compressed archive support. Catherine 2025-09-21 06:25:10 +00:00
  • 382bee9b4e Don't send Access-Control-Max-Age: in response to GET requests. Catherine 2025-09-21 06:04:38 +00:00
  • b5ab776a23 Use Cache-Control: max-age=60, stale-while-revalidate=3600. Catherine 2025-09-21 05:31:04 +00:00
  • 5b471f6677 Add a feature flag for testing h2c:// performance. Catherine 2025-09-21 04:38:06 +00:00
  • a10e28210a Enable h2c:// (cleartext HTTP/2) protocol on all http:// sockets. Catherine 2025-09-21 03:36:14 +00:00
  • 403821a150 Return status 413 Request Entity Too Large where appropriate. Catherine 2025-09-21 03:33:00 +00:00
  • d2d4a27667 Return status 415 Unsupported Media Type in PUT handler. Catherine 2025-09-21 03:26:17 +00:00
  • 5765fa7ffa Proxy requests for unknown sites via wildcard fallback URL (if any). Catherine 2025-09-21 02:28:03 +00:00
  • d5302e4358 [breaking-change] Allow multiple wildcard domains to be configured. Catherine 2025-09-21 00:29:33 +00:00
  • acf948ac6b Remove code for migrating from v1 data layout. Catherine 2025-09-20 20:10:40 +00:00
  • 7e9cd17b70 Add a -get-manifest option for debugging. Catherine 2025-09-20 20:05:14 +00:00
  • bdc119d630 Remove leading . path segments from tar archive member filenames. Catherine 2025-09-20 15:42:06 +00:00
  • 2f525f3bb7 Strip Content-Type parameters when looking at the type. miyuko 2025-09-20 16:05:58 +01:00
  • 26647411ed Fix tar file extractor. Catherine 2025-09-20 14:57:53 +00:00
  • 960a40d736 Add Honeybadger.io observability support. Catherine 2025-09-20 14:12:55 +00:00
  • e5f1bac0ed Remove outdated comment. NFC Catherine 2025-09-20 08:38:55 +00:00
  • f5ffd70824 Rename X-Pages-Outcome response header to X-Pages-Update. Catherine 2025-09-20 08:34:56 +00:00
  • ddf0de8435 Record non-fatal problems in manifest and report them. Catherine 2025-09-20 08:21:39 +00:00
  • bd294982b2 Disallow Host: values starting with a dot. Catherine 2025-09-20 07:39:14 +00:00
  • 15b2f1ea39 Allow zip and tar archive uploads PUT request. Catherine 2025-09-20 07:05:19 +00:00
  • 95814dd3f3 Parse _redirects file and store rules in manifest. Catherine 2025-09-20 04:53:00 +00:00
  • 3acab677e0 Split up backend.go. NFC Catherine 2025-09-20 04:39:13 +00:00