Expand description
Secrets management for the toolkit.
Resolves secrets from multiple sources behind the SecretsProvider trait.
The trait returns a SecretValue (toolkit-owned, feature-independent per
Phase 83 review R6), never a raw String or Vec<u8>. SecretValue blocks
Debug, Display, Clone, Serialize, Deserialize — trybuild
compile-fail tests at tests/compile_fail/*.rs enforce these denials at
compile time (review R5).
§Resolution Strategy
Built-in providers (call them directly or chain them via SecretsProviderChain):
- Org-level Secrets Manager (
awsfeature) — ifPMCP_SECRETS_PATHcontains/orgs/ - Per-server Secrets Manager (
awsfeature) — ifPMCP_SECRETS_PATHis set without/orgs/ - SSM Parameter Store (
awsfeature) — ifPMCP_SSM_PATHis set - Environment variables (
EnvSecrets) — always available
§Org-Level Secret Structure (pmcp.run)
For pmcp.run deployments, secrets are stored at the organization level to reduce costs. One secret per organization contains all server credentials:
{
"london-tube": {
"TFL_APP_KEY": "your-api-key"
},
"lichess": {
"LICHESS_TOKEN": "your-token"
}
}Path format: pmcp/orgs/{org_id}/credentials
Structs§
- EnvSecrets
- Environment variable secrets provider.
- OrgSecrets
Manager Provider - AWS Secrets Manager provider for org-level shared secrets.
- Secret
Value - Toolkit-owned secret newtype — NEVER returns raw bytes from
SecretsProvider. - Secrets
Manager Secrets - AWS Secrets Manager provider for per-server secrets.
- Secrets
Provider Chain - Chain multiple providers, trying each in order until one succeeds.
- SsmSecrets
- AWS SSM Parameter Store provider.
Constants§
- SECRETS_
MANAGER_ PATH_ VAR - Environment variable that specifies the Secrets Manager path
- SERVER_
ID_ VAR - Environment variable for server ID (used for org-level secrets extraction)
- SSM_
PATH_ VAR - Environment variable that specifies the SSM Parameter Store path
Traits§
- Secrets
Provider - Trait for secrets providers.
Functions§
- create_
secrets_ provider - Construct a
SecretsProviderchain based on the current environment.