mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 19:32:17 +00:00
Stalwart v1.0.0 rejects unknown JMAP properties ("Invalid property" ->
notCreated/notUpdated), validates OIDC tokens more strictly and refuses to
open a data store from before 1.0. Port the role and protect existing
installs:
- Milter: hostname/timeoutConnect/timeoutCommand/timeoutData become
host/connectTimeout/commandTimeout/dataTimeout; the existing milter is
looked up by host.
- Onion relay route: address becomes host.
- OIDC directory: requireAudience is gone. Set skipAudienceValidation and
unscopedTokens=interoperable on create and update, so Keycloak tokens
(no Stalwart audience, no mail scope) keep working for the WebUI and
Roundcube XOAUTH2.
- WebUI: send oauthClientId only with SSO enabled; without SSO the WebUI
falls back to its own client metadata document.
- Store guard: before anything changes, a running Stalwart whose table u
still has the 0.16 bigint layout stops the deploy and points to the
stalwart-migrate steps, which the README now documents under
"Upgrading from 0.16".
- Updater: pin the WebUI git_tags source to v2.* to match server 1.x.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
445 B
Django/Jinja
13 lines
445 B
Django/Jinja
{
|
|
"using": ["urn:ietf:params:jmap:core", "urn:stalwart:jmap"],
|
|
"methodCalls": [["x:MtaRoute/set", {"create": { {{ STALWART_ONION_ROUTE_NAME | to_json }}: {
|
|
"@type": "Relay",
|
|
"name": {{ STALWART_ONION_ROUTE_NAME | to_json }},
|
|
"host": {{ STALWART_ONION_RELAY_HOST | to_json }},
|
|
"port": {{ STALWART_ONION_RELAY_PORT | int }},
|
|
"protocol": "smtp",
|
|
"implicitTls": false,
|
|
"authSecret": {"@type": "None"}
|
|
}}}, "c0"]]
|
|
}
|