Skip to content

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

Merged
rederik76 merged 1 commit into
mainfrom
fix/inline-secret-substitution
Aug 24, 2026
Merged

rederik76 merged 1 commit into
mainfrom
fix/inline-secret-substitution

Conversation

@rederik76

@rederik76 rederik76 commented Aug 22, 2026

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.
@rederik76 rederik76 linked an issue Aug 22, 2026 that may be closed by this pull request
1 task
@rederik76 rederik76 self-assigned this Aug 22, 2026
@rederik76
rederik76 merged commit dab8766 into main Aug 24, 2026
5 checks passed
@rederik76
rederik76 deleted the fix/inline-secret-substitution branch August 24, 2026 12:35
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