Commit Graph

67 Commits

Author SHA1 Message Date
Catherine 73e47cd8d5 Significantly improve efficiency of tracing.
I thought I was being smart by using a trie to record blob existence
and sizes. I was not. The trie approach had at least ~5 times less
throughput and consumed entirely unreasonable amounts of RAM.

A hashmap works just fine here.
2026-05-05 01:57:41 +00:00
miyuko 684553ba72 Replace pelletier/go-toml with BurntSushi/toml.
Most of the code was borrowed from
https://codeberg.org/whitequark/ircv3-filehost-server.
2026-04-27 18:26:33 +01:00
David Leadbeater 021c493daa Revert "Revert "[Renovate] Update all dependencies""
This reverts commit 57dc8f8520.
2026-04-18 23:12:49 +10:00
Catherine 57dc8f8520 Revert "[Renovate] Update all dependencies"
This reverts commit 2b35996f62.
2026-04-18 12:08:07 +00:00
woodpecker-bot 2b35996f62 [Renovate] Update all dependencies 2026-04-18 11:59:05 +00:00
miyuko bbdaae7280 Add a domain cache to quickly reject non-existent domains. 2026-04-13 13:45:16 +00:00
woodpecker-bot af7657a787 [Renovate] Update all dependencies 2026-04-12 01:06:02 +00:00
woodpecker-bot 6a3372a36a [Renovate] Update all dependencies 2026-04-04 00:13:10 +00:00
woodpecker-bot 38eb8afd0e [Renovate] Update all dependencies 2026-03-29 12:06:56 +00:00
Catherine 2267ab929c Update go-toml to v2.3.0 and freeze it.
The upstream added AGENTS.md and removed all unsafe code in the same
release. I've manually reviewed the entire v2.2.4..v2.3.0 diff and
found no issues except for one potential problem with
`go-toml/errors.subsliceOffset` that would only appear with a moving
GC. This seems like a strict improvement but we don't want any more
updates.
2026-03-28 00:35:01 +00:00
Catherine 338487c048 [breaking-change] Drop Sentry support.
The upstream added AGENTS.md and I have no time to review what they're
doing with that.
2026-03-28 00:34:57 +00:00
woodpecker-bot 8711e35c8e [Renovate] Update all dependencies 2026-03-21 02:28:56 +00:00
woodpecker-bot 34985c89bf [Renovate] Update all dependencies 2026-03-14 00:11:19 +00:00
woodpecker-bot 3830af5392 [Renovate] Update all dependencies 2026-03-07 03:32:16 +00:00
woodpecker-bot 886ee2ddae [Renovate] Update all dependencies 2026-02-28 00:29:38 +00:00
woodpecker-bot ac751e23b5 [Renovate] Update module golang.org/x/net to v0.51.0 [SECURITY] 2026-02-28 00:29:01 +00:00
woodpecker-bot ebe7d07b3b [Renovate] Update all dependencies 2026-02-21 23:56:24 +00:00
woodpecker-bot 4f14c345a6 [Renovate] Update all dependencies 2026-02-14 00:15:28 +00:00
woodpecker-bot f7067b939b [Renovate] Update module github.com/go-git/go-billy/v6 to v6.0.0-20260207062542-7cf3dc9049c3 2026-02-08 00:35:21 +00:00
woodpecker-bot 6bf4200f26 [Renovate] Update all dependencies 2026-02-07 00:15:58 +00:00
woodpecker-bot d3c8db6229 [Renovate] Update all dependencies 2026-01-24 00:18:54 +00:00
woodpecker-bot 18012d46e8 [Renovate] Update all dependencies 2026-01-17 00:22:21 +00:00
woodpecker-bot 6019a64c41 [Renovate] Update all dependencies 2026-01-10 00:20:46 +00:00
woodpecker-bot 890029a98d [Renovate] Update all dependencies 2026-01-03 00:11:55 +00:00
woodpecker-bot b75c37f651 [Renovate] Update module github.com/go-git/go-git/v6 to v6.0.0-20251224103503-78aff6aa5ea9 2025-12-28 23:28:36 +00:00
Catherine c84e773df1 Update module codeberg.org/git-pages/go-headers to v1.1.1. 2025-12-28 23:22:46 +00:00
woodpecker-bot f163b9a42a chore(deps): update module github.com/maypok86/otter/v2 to v2.3.0 2025-12-23 12:48:37 +00:00
woodpecker-bot 71fd1c39df chore(deps): update all dependencies 2025-12-22 00:47:56 +00:00
woodpecker-bot 32ccb0920f chore(deps): update all dependencies 2025-12-13 05:26:59 +00:00
miyuko 325d6bedda [breaking-change] Change the format of the SYSLOG_ADDR env variable. 2025-12-07 09:52:15 +00:00
woodpecker-bot 9e0267828d chore(deps): update all dependencies 2025-12-07 00:25:53 +00:00
Catherine 82aebb70bf Add basic garbage tracer.
This isn't a concurrent GC and it cannot provide a reliable result;
the output is just an estimate.
2025-12-06 01:21:19 +00:00
woodpecker-bot 7c3b2248c9 chore(deps): update all dependencies 2025-12-06 00:45:24 +00:00
Catherine 886635ce5e Implement -audit-log option.
Also, record the principal of `git-pages -{freeze,unfreeze}-domain`
and `git-pages -update-site` as the CLI administrator.
2025-12-04 15:58:14 +00:00
Catherine 21b82f8e2c [breaking-change] Implement audit record retrieval.
This is only a breaking change if you've enabled the `audit` feature.
All past audit reports should be removed once this commit is deployed,
as both the Protobuf schema and the Snowflake epoch have changed.
2025-12-03 16:43:33 +00:00
Catherine 6e7b42b942 Implement audit notifications. 2025-12-03 06:32:07 +00:00
Catherine e226f51dd4 Implement auditing of important site lifecycle actions.
The list of audit events is:
  - `CommitManifest`
  - `DeleteManifest`
  - `FreezeDomain`
  - `UnfreezeDomain`

Currently these are the main abuse/moderation-relevant actions.
If collection is enabled, these events will be logged to `audit/...`
storage hierarchy; a way to examine audit logs will be added in
the future.

The auditing interposer backend is enabled with feature `audit`.
2025-12-03 04:19:41 +00:00
woodpecker-bot e1a2143d22 fix(deps): update all dependencies 2025-11-29 00:39:09 +00:00
Catherine f9669e1c69 Update sentry-go.
Related to 4cca8abaf0.

They've fixed it in https://github.com/getsentry/sentry-go/issues/1142
2025-11-26 03:18:47 +00:00
miyuko eda6d8b6f6 Update the go-slog-syslog dependency. 2025-11-22 14:43:38 +00:00
miyuko fcc109c315 Add the ability to send logs to a syslog daemon. 2025-11-22 14:10:26 +00:00
woodpecker-bot 4d8f6d5e9d fix(deps): update module github.com/go-git/go-git/v6 to v6.0.0-20251121083746-39fcec474970 2025-11-22 09:35:57 +00:00
woodpecker-bot eac02e5758 fix(deps): update all dependencies 2025-11-21 00:31:03 +00:00
Catherine 6db850e2c4 Allow downloading entire site via CLI or HTTP.
The HTTP endpoint is `/.git-pages/archive.tar` and it is gated behind
a feature flag `archive-site`. It serially downloads every blob and
writes it to the client in a chunked response, optionally compressed
with gzip or zstd as per `Accept-Encoding:`. It is authorized the same
as `/.git-pages/manifest.json`, for the same reasons.

The CLI operation is `-get-archive <site-name>` and it writes a tar
archive to stdout. This could be useful for an administrator to review
the contents of a site in response to a report.

Both `_headers` and `_redirects` files are present in the output,
reconstituted from the manifest.
2025-11-20 02:09:49 +00:00
Catherine 770ff5c416 Remove unused go.mod entries. 2025-11-16 19:22:20 +00:00
Catherine 26b29ec4be Add Netlify _headers support. 2025-11-11 15:36:14 +00:00
woodpecker-bot 28c1b42167 fix(deps): update all dependencies 2025-10-30 00:10:05 +00:00
woodpecker-bot b295318118 fix(deps): update all dependencies 2025-10-27 00:11:41 +00:00
woodpecker-bot f1400aaf62 fix(deps): pin dependencies 2025-10-23 00:11:27 +00:00
miyuko eda3e8a791 Add stale-while-revalidate support to the cache. 2025-10-15 23:53:12 +01:00