The homeserver authenticates humans via Keycloak OIDC and has password login disabled, so register-matrix-bot.sh's password-login flow could never obtain a token. Rewrite it to create the bot and mint a standalone access token through Synapse's shared-secret admin API (/_synapse/admin/v1/register), which works with registration + password login turned off. - Use the claude-code identity (@claude-code:semprini.me) as the bot. - Avoid the admin "login as user" API: it returns a puppet token that Synapse revokes when the issuing admin is deactivated. - Make re-runs idempotent: reuse a still-valid token/room; only recreate the account when no valid token is on hand. - Read the registration shared secret from the running synapse container. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
915 B
JSON
31 lines
915 B
JSON
{
|
|
"repo_dir": "/home/paul/Dev/semprini-core",
|
|
"extra_dirs": ["/home/paul/Dev"],
|
|
"agent_file": "agents/stack-support.agent.md",
|
|
"runbook_file": "docs/stack-support-runbook.md",
|
|
"claude_bin": "/home/paul/.local/bin/claude",
|
|
"claude_model": null,
|
|
"claude_extra_args": [],
|
|
"agent_timeout_seconds": 1800,
|
|
|
|
"kuma_volume": "uptime-kuma-data",
|
|
"sqlite_image": "keinos/sqlite3",
|
|
|
|
"autonomy": "full",
|
|
"health_interval_seconds": 300,
|
|
"upgrade_interval_seconds": 604800,
|
|
"matrix_poll_seconds": 30,
|
|
"down_confirmations": 2,
|
|
"heartbeat_interval_seconds": 86400,
|
|
|
|
"state_file": "/home/paul/.local/state/semprini-maintainer/state.json",
|
|
|
|
"matrix": {
|
|
"homeserver": "https://matrix.semprini.me",
|
|
"user_id": "@claude-code:semprini.me",
|
|
"access_token": "FILLED_BY_register-matrix-bot.sh",
|
|
"room_id": "FILLED_BY_register-matrix-bot.sh",
|
|
"admin_user_id": "@paul:semprini.me"
|
|
}
|
|
}
|