Secrets apply plan contract
This page defines the strict contract enforced bypllan secrets apply.
If a target does not match these rules, apply fails before mutating configuration.
Plan file shape
pllan secrets apply --from <plan.json> expects a targets array of plan targets:
Supported target scope
Plan targets are accepted for supported credential paths in:Target type behavior
General rule:target.typemust be recognized and must match the normalizedtarget.pathshape.
models.providers.apiKeyskills.entries.apiKeychannels.googlechat.serviceAccount
Path validation rules
Each target is validated with all of the following:typemust be a recognized target type.pathmust be a non-empty dot path.pathSegmentscan be omitted. If provided, it must normalize to exactly the same path aspath.- Forbidden segments are rejected:
__proto__,prototype,constructor. - The normalized path must match the registered path shape for the target type.
- If
providerIdoraccountIdis set, it must match the id encoded in the path. auth-profiles.jsontargets requireagentId.- When creating a new
auth-profiles.jsonmapping, includeauthProfileProvider.
Failure behavior
If a target fails validation, apply exits with an error like:Exec provider consent behavior
--dry-runskips exec SecretRef checks by default.- Plans containing exec SecretRefs/providers are rejected in write mode unless
--allow-execis set. - When validating/applying exec-containing plans, pass
--allow-execin both dry-run and write commands.
Runtime and audit scope notes
- Ref-only
auth-profiles.jsonentries (keyRef/tokenRef) are included in runtime resolution and audit coverage. secrets applywrites supportedpllan.jsontargets, supportedauth-profiles.jsontargets, and optional scrub targets.
Operator checks
pllan secrets configure or fix the target path to a supported shape above.