~bigbes/sr-ht-dolt

ref: 57adcc0a8a8b4407184b95ca9b710e7ec72fe186 sr-ht-dolt/config.example.ini -rw-r--r-- 4.6 KiB
57adcc0a — Eugene Blikh doltsrht: serve /mcp on the web listener 5 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
; dolt.sr.ht configuration.
;
; In production this section is merged into the single shared instance
; config.ini (the same file every *.sr.ht service reads). Only the keys in the
; [dolt.sr.ht] section below are ours; the rest are shared keys owned by other
; services and referenced (NOT duplicated) here — they must already be present
; and consistent across the instance.
;
; Deployment prerequisite: this host must be inside meta's [meta.sr.ht::api]
; internal-ipnet, because token validation (FetchMetaProfile +
; LookupTokenRevocation) uses internal authentication against meta.

[dolt.sr.ht]
;
; The URL dolt.sr.ht is served at (protocol://domain). This is also the JWT
; audience the Bearer (dolt creds) auth flow checks against, so it must match
; the host clients pass to `dolt login --auth-endpoint`.
origin=https://dolt.srht.bigb.es
;
; PostgreSQL connection string for the dolt.sr.ht metadata database (users
; mirror, repositories, ACLs, dolt keys).
connection-string=postgresql://doltsrht@localhost/dolt.sr.ht?sslmode=disable
;
; Root directory holding the bare NBS chunk-store dirs, one per database at
; <repos>/~<user>/<name>. This is what remotesrv serves and file:// remotes use.
repos=/var/lib/dolt
;
; Address for the remotesapi listener (gRPC ChunkStoreService + HTTP chunk data
; plane, h2c-multiplexed on one port). nginx grpc_pass/proxy_pass targets this.
remotesapi-listen=127.0.0.1:5306
;
; Address for the small CredentialsService.WhoAmI gRPC listener used by the
; `dolt login` keypair flow. nginx path-routes the CredentialsService here.
credsapi-listen=127.0.0.1:5308
;
; Directory containing the built static assets (main.min.<sha>.css, logo.svg).
static-dir=/usr/share/sourcehut/dolt.sr.ht/static
;
; Set to "yes" to run brant migrations automatically on package upgrade.
migrate-on-upgrade=yes
;
; Verbosity of the daemon's structured log: debug, info, warn or error. An
; unreadable value is read as info rather than refusing to boot — a typo in a
; logging preference must not cost the service.
;
; This is the persistent setting. For one run, $LOG_LEVEL overrides it and the
; -d flag overrides both — and both apply from the first line of startup, before
; the config below has been read.
log-level=info
;
; There is deliberately no mcp-enabled key. The read-only MCP surface an agent
; calls (docs/DESIGN.mcp.md) is served at /mcp on the web listener above,
; wherever this daemon runs: a surface that is off in production and on in a
; test is a surface nobody tests. What a caller may read there is decided by the
; credential it presents and by the same visibility rules the web UI applies,
; never by a switch here. The origin above doubles as its Host allowlist, so a
; request forwarded under any other name is refused before it is parsed.

; ---------------------------------------------------------------------------
; Shared keys reused in place (owned by other services, listed for reference;
; do not duplicate their values here — they live in the shared config.ini):
;
;   [sr.ht] network-key      shared secret for internal service auth
;   [sr.ht] site-name        used to render the shared nav brand
;   [sr.ht] environment      non-"production" adds a banner to every page
;   [sr.ht] owner-name / owner-email   author of the initial empty commit
;   [webhooks] private-key    derives the offline Bearer-token HMAC key
;   [meta.sr.ht] origin       meta's URL (login redirects, profile fetch)
;   [meta.sr.ht::api] internal-ipnet   subnets allowed to use internal auth
;   [tokens.sr.ht] origin     where the instance's token daemon answers. It
;                             enables the working-token plane of /mcp: a token
;                             minted by tokens.sr.ht is verified against this
;                             address (the revocation check) and must carry the
;                             dolt:read grant. internal-origin, when set, is
;                             preferred for that check — container to container
;                             rather than out through the reverse proxy and
;                             back. Absent, this instance runs no such daemon:
;                             the daemon still starts, /mcp still answers
;                             anonymous callers and meta personal access tokens,
;                             and a working token is refused with 401 because a
;                             credential we cannot verify is refused rather than
;                             guessed at. The startup line says
;                             instance_tokens=disabled on such an instance.
; ---------------------------------------------------------------------------