Skip to content

Conversation

@bruce-szalwinski-he
Copy link
Contributor

Adds AWS Secrets Manager and Parameter Store publish support. Works same as vault in that it uploads unencrypted results as plain text JSON.

fixes #1942, #1105

bruce-szalwinski-he and others added 8 commits September 19, 2025 22:12
Signed-off-by: bruce-szalwinski-he <[email protected]>
…ive destination validation

- Add comprehensive destination conflict validation tests for all 5 destinations
  (S3, GCS, Vault, AWS Secrets Manager, AWS Parameter Store) in config_test.go
- Add keyvalue-secrets.yaml example showing optimal format for AWS console key/value editor
- Add aws-secrets-manager-keyvalue-format.md documentation explaining JSON vs key/value formats
- Add destination-test-coverage.md documenting complete test matrix (10 conflict scenarios)

This ensures proper validation of destination conflicts and provides clear guidance
for using AWS Secrets Manager key/value format to enable the AWS console editor.

Signed-off-by: bruce-szalwinski-he <[email protected]>
Signed-off-by: bruce-szalwinski-he <[email protected]>
…tinations

- Add test to verify Upload method returns NotImplementedError
- Replace Parameter Store Upload implementation with NotImplementedError
- Ensure consistency with Vault and Secrets Manager destinations
- The publish command uses UploadUnencrypted for all structured destinations

This removes unreachable code and aligns with the current design where:
- S3/GCS: Upload encrypted files (Upload method)
- Vault/Secrets Manager/Parameter Store: Upload decrypted JSON (UploadUnencrypted method)

Test-driven fix: wrote failing test, then implemented the fix.

Signed-off-by: bruce-szalwinski-he <[email protected]>
Signed-off-by: bruce-szalwinski-he <[email protected]>
…avior

- Update TestAWSParameterStoreDestination_EncryptedFile_Integration to test NotImplementedError
- Remove test of legacy Upload functionality that's not used by publish command
- Verify Upload method now returns NotImplementedError consistently with other destinations
- All integration tests pass with real AWS credentials

The publish command uses UploadUnencrypted for Parameter Store, so Upload method
should return NotImplementedError like Vault and Secrets Manager destinations.

Signed-off-by: bruce-szalwinski-he <[email protected]>
Signed-off-by: bruce-szalwinski-he <[email protected]>
@bruce-szalwinski-he bruce-szalwinski-he force-pushed the feature/aws-publishing-support branch from 094d6c9 to 292c9b0 Compare September 20, 2025 03:14
@@ -0,0 +1,123 @@
package config
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

config_test was getting a little long, so added aws config tests as separate file.

Signed-off-by: bruce-szalwinski-he <[email protected]>
@felixfontein felixfontein requested a review from a team September 20, 2025 12:59
parameterType = "SecureString"
}

// Ensure parameter path starts with /
Copy link
Contributor Author

@bruce-szalwinski-he bruce-szalwinski-he Sep 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Signed-off-by: bruce-szalwinski-he <[email protected]>
Signed-off-by: bruce-szalwinski-he <[email protected]>
@bruce-szalwinski-he bruce-szalwinski-he force-pushed the feature/aws-publishing-support branch from ca8cf9f to 9427fab Compare September 22, 2025 14:26
@bruce-szalwinski-he
Copy link
Contributor Author

@felixfontein I see that you have been busy preparing the 3.11.0 release, so may not have had time to look at this one. Just checking in to see if there is anything else I need to provide for this PR.

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.

add support for AWS Secrets Manager

1 participant