Operations
Deployment
Production deployment changes the transport story: use TLS, treat secrets as contracts, and verify capability scope before rollout.
Shardwire can run locally over loopback with ws://, but production deployments should assume a remote boundary.
Production defaults
- terminate TLS and expose the bridge over
wss:// - keep secrets narrow when different app consumers need different privileges
- keep bot intents minimal and deliberate
- verify strict startup in the exact deployed configuration
Deployment checklist
- bridge path is correct
- remote transport uses
wss:// - each app secret matches a configured server secret
- proxy or ingress forwards WebSocket upgrades correctly
- negotiated capabilities match the app manifest you expect
The key operational distinction
Most “the app connected but nothing happens” incidents are not transport bugs. They are usually:
- missing intents
- overly narrow secret scope
- handlers subscribed to events the connection never negotiated