You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by "det101 (via GitHub)" <gi...@apache.org> on 2026/08/25 01:51:03 UTC
[I] [DSIP-105][Feature][API] Add Property.sensitive and mask values in API/UI [dolphinscheduler]
det101 opened a new issue, #18586:
URL: https://github.com/apache/dolphinscheduler/issues/18586
### Search before asking
- [x] I had searched in the [issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and found no similar feature requirement.
### Description
Subtask of #17937 (DSIP-105). Parent remains the DSIP design tracker; this issue is the first implementation slice.
Add `Property.sensitive` and mask sensitive parameter values as `******` on API/UI read paths. Keep-original merge on write/start. **No encryption** in this subtask.
#### In scope (aligned with PR #18585)
- Add `Property.sensitive` (default `false`; missing JSON field is `false`)
- Deep-copy mask on workflow / task / instance query responses and `view-variables` (never mutate shared entities in place)
- Write-path merge: only `******` means keep the DB original value
- Empty / null is a **real empty value**, not keep-original
- Reject creating a new sensitive param, or flipping `false → true`, with placeholder-only `******`
- UI: **Sensitive** checkbox on workflow global params and task `localParams`; echo `******` after reload
- Start / command path: `******` in start params is replaced with the definition value
#### Out of scope (follow-up subtasks)
- Definition-time encrypt/decrypt via `PasswordUtils` (next API subtask)
- Worker stdout dynamic redaction + cleanup (Worker subtask)
- Project parameters, Export / Import (parent out of scope)
#### Acceptance
- [ ] Marked `sensitive=true` params never return real values in external API/UI (`******` only)
- [ ] Unmarked params behave exactly as today
- [ ] Saving with `******` does not overwrite the stored secret
- [ ] Empty string persists as empty, not as keep-original
- [ ] `false → true` with only `******` is rejected
- [ ] Unit tests for mask / merge / placeholder validation
- [ ] UI checkbox works on global params and task local params
Implementation: https://github.com/apache/dolphinscheduler/pull/18585
### Use case
Users store passwords / API keys as workflow global params or task local params. After this subtask, UI and API responses must not show those values in plaintext. Persistence may still be plaintext; at-rest encryption is a later subtask.
### Related issues
- Parent DSIP: #17937
- PR: #18585
### Are you willing to submit a PR?
- [x] Yes I am willing to submit a PR!
### Code of Conduct
- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@dolphinscheduler.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] [DSIP-105][Feature][API] Add Property.sensitive and mask values in API/UI [dolphinscheduler]
Posted by "SbloodyS (via GitHub)" <gi...@apache.org>.
SbloodyS closed issue #18586: [DSIP-105][Feature][API] Add Property.sensitive and mask values in API/UI
URL: https://github.com/apache/dolphinscheduler/issues/18586
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@dolphinscheduler.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org