Files
git-pages/conf/config.example.toml
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

46 lines
1.0 KiB
TOML

# Unless otherwise noted, every value in this file is the same
# as the intrinsic default value.
log-format = "datetime+message"
[server]
# Use "-" to disable the handler.
pages = "tcp/:3000"
caddy = "tcp/:3001"
health = "tcp/:3002"
[[wildcard]] # non-default section
domain = "codeberg.page"
clone-url = "https://codeberg.org/<user>/<project>.git"
index-repos = ["<user>.codeberg.page", "pages"]
fallback-proxy-to = "https://codeberg.page"
[storage]
type = "fs"
[storage.fs]
root = "./data"
[storage.s3] # non-default bucket configuration
endpoint = "play.min.io"
access-key-id = "Q3AM3UQ867SPQQA43P2F"
secret-access-key = "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"
region = "us-east-1"
bucket = "git-pages-demo"
[storage.s3.blob-cache]
max-size = "256MB"
[storage.s3.site-cache]
max-size = "16MB"
max-age = 60 # seconds
[limits]
max-site-size = "128M"
max-manifest-size = "1M"
max-inline-file-size = "256B"
git-large-object-threshold = "1M"
max-symlink-depth = 16
update-timeout = 60 # seconds
max-heap-size-ratio = 0.5 # * RAM_size