Commit Graph

  • 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
  • 7178885bfb Add a dedicated error type to report missing blob or manifest. Catherine 2025-09-20 04:24:36 +00:00
  • 412c2c2e3a Fix issues found by staticcheck. NFC Catherine 2025-09-20 03:55:58 +00:00
  • 9f0e54546a CI: fix trigger list. Catherine 2025-09-20 01:18:25 +00:00
  • ed0f8e9d0d Add instructions for first-party container to README. Catherine 2025-09-20 01:12:52 +00:00
  • fa17b9c1ed Build Docker images on CI. Catherine 2025-09-20 00:11:36 +00:00
  • 9d18700834 Switch from Nix back to Docker for deployment. Catherine 2025-09-20 00:11:21 +00:00
  • da604215c1 Adapt Caddyfile during the build. Catherine 2025-09-19 21:58:38 +00:00
  • 859c4bef77 Make Fly.io health checks more aggressive. Catherine 2025-09-19 21:08:35 +00:00
  • 3d23d58fbb Make supervisord and Caddy less chatty. Catherine 2025-09-19 20:50:20 +00:00
  • 5f7e5a1271 Don't ask backend for bare IP address sites. Catherine 2025-09-19 20:27:58 +00:00
  • cbbd2bcd7e Expose Fly.io region in Server header. Catherine 2025-09-19 19:01:41 +00:00
  • 93ffee538c Precompute total site size in manifest. Catherine 2025-09-19 18:38:47 +00:00
  • e0e5a8978e Describe authorization flow for metadata retrieval. Catherine 2025-09-19 18:38:14 +00:00
  • f6982e6222 Fix inaccurate description of branch selection. Catherine 2025-09-19 18:29:45 +00:00
  • c13a82e2ed Update Nix flake. Catherine 2025-09-19 17:54:53 +00:00
  • e92b48b99f Expose site manifest to authorized clients. Catherine 2025-09-19 16:58:00 +00:00
  • dbfdd5d418 Refactor Protobuf schema. Catherine 2025-09-19 15:19:42 +00:00
  • d89f03e665 Upgrade protobuf schema to edition 2023. NFCI Catherine 2025-09-19 14:10:54 +00:00
  • 46d54503ee Fix DNS allowlist not applying to POST requests. Catherine 2025-09-19 14:10:26 +00:00
  • df6ca018a5 Unpublish site when pushing an empty repository. Catherine 2025-09-19 05:09:29 +00:00
  • da212dcb89 Aggressively optimise size of Nix built Docker images bin 2025-09-19 04:23:32 +00:00
  • 5f3edfedf9 Add DELETE method support. Catherine 2025-09-19 03:54:22 +00:00
  • 9810a346f0 Refactor authorization code. NFC Catherine 2025-09-19 03:25:16 +00:00
  • 54c9a0a77e Allow building containers using Nix. bin 2025-09-19 01:26:13 +00:00
  • 5024802fd4 Start listening before lengthy initialization. Catherine 2025-09-19 01:09:19 +00:00
  • 82bfe278bf [security] Restrict X-Pages-Branch to shared secret authorization only. Catherine 2025-09-19 00:57:54 +00:00
  • 512d5e928a Clearly indicate insecure mode at startup. Catherine 2025-09-19 00:29:03 +00:00
  • 6a67785e02 Correct inaccuracy in README. whitequark 2025-09-19 02:35:56 +02:00
  • 8c964b1afd Ignore config.toml*. Catherine 2025-09-19 00:01:26 +00:00
  • af5deb60c6 [breaking-change] Accept multiple index repository patterns. Catherine 2025-09-18 23:47:21 +00:00
  • c95a2f7f43 Mention grebedoc.dev in README. whitequark 2025-09-19 00:58:46 +02:00
  • 345602e08f Update README. Catherine 2025-09-18 22:45:49 +00:00
  • 3393c077b5 Add DNS allowlist authorization. Catherine 2025-09-18 21:48:52 +00:00
  • 929aedfd2c Use strings.Trim{Prefix,Suffix}. NFC Catherine 2025-09-18 20:05:59 +00:00
  • 877d375af7 Fold domain names to lowercase when constructing a web root. Catherine 2025-09-18 19:39:16 +00:00
  • 3c46169ba6 Refactor authentication code. Catherine 2025-09-18 19:23:59 +00:00
  • 6f932df886 Initial Nix flake bin 2025-09-18 19:14:14 +00:00
  • f99298d38b Make Caddy startup dependent on git-pages. Catherine 2025-09-18 17:28:22 +00:00
  • 2548effeb8 Unify Caddy and git-pages health checks. Catherine 2025-09-18 13:50:48 +00:00
  • 810dc9cea0 Disable swap on fly.io. Catherine 2025-09-18 13:23:35 +00:00
  • d48c754b9e Switch from hivemind to supervisord. Catherine 2025-09-18 12:15:22 +00:00
  • b85b762ba9 [breaking-change] Update Dockerfile to add Caddy and a fly.io deployment option. Catherine 2025-09-18 05:14:04 +00:00
  • 0ed4fd2fc2 Fetch repositories to /tmp, not in-memory. Catherine 2025-09-18 04:00:42 +00:00
  • 07a736382c Automatically set GOMEMLIMIT at 90% of available memory. Catherine 2025-09-18 03:31:49 +00:00
  • fb9f4a7c4a Allow configuring log format. Catherine 2025-09-18 02:00:48 +00:00