Skip to main content
← Back to list
01Issue
FeatureShippedExtensions
Assigneesstack72

Relationships

#1534 vault put: pass tags through to extension provider CreateSecret/setSecret calls

Opened by stack72 · 8/5/2026· Shipped 8/6/2026

Context

swamp-club/swamp#1529 added --tag key=value support to swamp vault put. Tags are stored via the annotation system (putAnnotation) after put() succeeds.

However, for customers with strict IAM tag-on-create policies (AWS aws:RequestTag condition keys, Azure RBAC tag conditions), the CreateSecret call itself is denied without required tags. The put() call fails before annotations can be applied.

What needs to change

Each vault extension provider needs to accept optional tags in put() and include them in the native create call:

AWS Secrets Manager (vault/aws-sm)

  • Add Tags parameter to CreateSecretCommand in put() (line ~323 of aws_sm.ts)
  • The CreateSecretCommand already supports Tags: [{Key, Value}] in the AWS SDK

Azure Key Vault (vault/azure-kv)

  • Pass tags in the setSecret() options (line ~312 of azure_kv.ts)
  • The Azure SDK setSecret() already accepts { tags } as a third argument

1Password (vault/1password)

  • Pass tags via op item create arguments
  • Lower priority since 1Password IAM policies don't typically block tagless creates

Interface change

The VaultProvider.put() interface needs an optional third parameter:

put(secretKey: string, secretValue: string, options?: { tags?: Record<string, string> }): Promise<void>;

This is backward-compatible — existing providers that implement put(key, value) continue to work.

Linked issue

Closes follow-up from swamp-club/swamp#1529


Automoved by swampadmin from https://github.com/swamp-club/swamp/issues/2076

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 4 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

8/6/2026, 12:43:13 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack728/5/2026, 9:54:03 PM

Sign in to post a ripple.