Skip to content

Add AWS Secrets Manager plugin; restructure secret providers into secret-providers/ - #84

Merged
michaelelrom merged 4 commits into
mainfrom
feat/secrets-plugin-restructure
Aug 28, 2026
Merged

Add AWS Secrets Manager plugin; restructure secret providers into secret-providers/#84
michaelelrom merged 4 commits into
mainfrom
feat/secrets-plugin-restructure

Conversation

@michaelelrom

@michaelelrom michaelelrom commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a custom secret-provider plugin for AWS Secrets Manager, with three ways to authenticate (EC2 instance role, IAM Roles Anywhere, or a static IAM user access key)
  • Restructures the existing Azure Key Vault and Delinea Secret Server plugins into a secret-providers/ subfolder (matching the device-drivers/ convention), generalizing the in-repo filename to plugin.py
  • Documents using the same alias in an Integration Model instance (not just device inventory), and broadens the caller list to include Config Manager command templates and GatewayManager tasks (runService, runCode, sendCommand, sendConfig)
  • Reworks each secret-providers/README.md to lead with a short "What This Is" before diving into setup, instead of a long intro/architecture section up front
  • Adds secret-providers as a recognized asset type in the top-level README.md (asset-type table, repository structure diagram, Getting Started steps)

Breaking change

Anyone with an existing secret-provider registered against /opt/gateway/azure-plugin.py or /opt/gateway/delinea-plugin.py should re-copy the plugin from its new path (Product/secret-providers/plugin.py) — the recommended host-side filename is unchanged, only the in-repo path moved.

Test plan

  • All three plugin.py files pass python3 -c "import ast; ast.parse(...)" syntax checks
  • AWS plugin tested end-to-end against a live AWS Secrets Manager secret using all three auth patterns (static key, IAM Roles Anywhere via aws_signing_helper, and manually-verified SigV4 signing)
  • Registered and resolved via iagctl on a live Itential Gateway 5.5 host, confirmed via secret_resolution ... outcome=success in the gateway log
  • Reviewer: sanity-check the moved Azure/Delinea content renders correctly and no relative links broke

…der; add AWS Secrets Manager plugin

Moves the Azure Key Vault and Delinea Secret Server secret-provider
plugins from flat product-root files into a secret-providers/
subfolder (matching the device-drivers/ convention), generalizing the
in-repo filename to plugin.py. Adds the AWS Secrets Manager plugin
alongside them. Documents a new "Using the Alias in an Integration
Model Instance" pattern in all three READMEs, and updates the
top-level README's asset-type table, repository structure diagram,
and Getting Started steps to include secret-providers as a
recognized asset type.

BREAKING: anyone with an existing secret-provider registered against
/opt/gateway/azure-plugin.py or /opt/gateway/delinea-plugin.py should
re-copy the plugin from its new path (Product/secret-providers/plugin.py)
before updating; the deployed host-side filename is unchanged.
…ce-first

The Architecture section previously showed only the device-inventory
flow, then bolted the Integration Model instance case on afterward as
a "but you can also" footnote. Reframed so Gateway resolving the
secret is the one constant, with device inventory and Integration
Model instances shown as two equal callers into the same alias →
provider → plugin path. Merged the two usage examples under one
"Referencing the Alias" section with matching subsections instead of
a separate standalone section.
…o Referencing the Alias

Readers configuring an alternative secrets-manager plugin want "what
this is, then how to set it up" - not an intro, a bulleted rationale,
and a diagram before Prerequisites. Replaced the verbose opening with
a short What This Is (folds in the value prop: one less credential
store, automatic rotation propagation, no VPN between SaaS Platform
and an on-prem secrets manager) and dropped the standalone Architecture
section. The diagram now lives inline in Referencing the Alias, where
it's actually needed to introduce the two worked examples, and the
caller list is broadened (not just device inventory / Integration
Model instances) to include Config Manager command templates and
GatewayManager tasks (runService, runCode, sendCommand, sendConfig),
linking to Itential's own external-secrets overview doc for the
complete list rather than inventing unverified specifics.
@michaelelrom
michaelelrom merged commit 8dc3a6c into main Aug 28, 2026
@michaelelrom
michaelelrom deleted the feat/secrets-plugin-restructure branch August 28, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants