Skip to content

fix: interpolate ${secret.*} tokens inside larger strings - #147

Open
rederik76 wants to merge 1 commit into
mainfrom
fix/inline-secret-substitution
Open

fix: interpolate ${secret.*} tokens inside larger strings#147
rederik76 wants to merge 1 commit into
mainfrom
fix/inline-secret-substitution

Conversation

@rederik76

Copy link
Copy Markdown
Collaborator

Summary

  • Substitute ${secret.alias} when it is embedded in a larger string, not only when it is the entire field value.
  • Keep resolved values wrapped in SecretValue so Spark still receives the real secret via str(), while logs and debug prints stay redacted via repr().
  • Document the syntax, correct the dataflowspec skill example, and bump VERSION to v0.23.9.

Test plan

  • pytest tests/unit/test_secrets_manager.py (whole-field, embedded, unknown alias, dict logging redaction)
  • Confirm a spec with embedded ${secret.*} tokens in a composite option string resolves at runtime
  • Confirm pipeline / Kafka reader debug logs show [REDACTED], not secret plaintext

Substitution previously required the entire field to be a secret
reference. Embedded tokens are now replaced, and resolved values
stay redacted in logs via SecretValue repr.
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.

[BUG]: ${secret.*} tokens are not substituted when embedded in a larger string

1 participant