Files
agent-identity-provisioning/docker-compose.yml
T
TSYS Group COO 2d01a9f962 feat: Discourse SSO + User API key extraction working
Discourse SSO flow: Cloudron login -> click "Log In" -> click OpenID
Connect button -> complete signup (enter username) -> logged in.

User API key generated via Discourse RSA-based flow:
1. Generate RSA keypair, submit public key
2. Authorize request on Discourse
3. Capture encrypted payload from POST response
4. Decrypt with PKCS1v15 padding (Discourse uses this, not OAEP)
5. Parse JSON to extract the key field

API key verified working: User-Api-Key header returns 30 topics from
/latest.json. Key stored in Bitwarden as "vp-techops Discourse".

Redmine SSO is blocked: Cloudron returns "You do not have access" --
the vp-techops user needs app access granted by Cloudron admin.

Also added cryptography==44.0.1 to requirements for RSA operations.
2026-08-13 21:25:29 -05:00

23 lines
971 B
YAML

services:
provision:
build: .
container_name: tsys-agent-provisioner
env_file:
- ${BW_ENV_FILE:-${HOME}/.config/bw/env}
user: "provision"
volumes:
- ./agents.yaml:/app/agents.yaml:ro
- ./state:/app/state
- ./bw-state:/home/provision/.config/Bitwarden CLI
- ./bw_helper.py:/app/bw_helper.py:ro
- ./provision-agent.py:/app/provision-agent.py:ro
- ./test_bw_helper.py:/app/test_bw_helper.py:ro
- ./test_bw_persistence.py:/app/test_bw_persistence.py:ro
- ./dump-cloudron-dom.py:/app/dump-cloudron-dom.py:ro
- ./enable-cloudron-2fa.py:/app/enable-cloudron-2fa.py:ro
- ./verify-cloudron-2fa.py:/app/verify-cloudron-2fa.py:ro
- ./investigate-2fa-login.py:/app/investigate-2fa-login.py:ro
- ./dump-sso-flows.py:/app/dump-sso-flows.py:ro
- ./provision-discourse.py:/app/provision-discourse.py:ro
- ./provision-discourse-apikey.py:/app/provision-discourse-apikey.py:ro