soma.yaml file was initially designed around a desired DX:
- Developers configure MCP integrations at development time
- These integrations often require secrets such as refresh tokens, access tokens, API Keys, client secrets, etc.
- Developers want to test these configurations locally first, many of them require an initial handshake process (e.g. OAuth2 Authorization Code Flow)
- Once configured locally, we store the encrypted values in the
soma.yamlfile - When you deploy your agent to an environment, you configure encryption key access in the environment and on start, these secrets are syned into the environment database and cached in memory (all encrypted).
- Now your agent “Just Works” (TM) in production.