Log in to your harness - The Modern Software Delivery Platform® account to give feedback

Feature Requests

Anonymous

Feature Requests for Harness. Select 'Category' based on the module you are requesting the feature for.
Make SCS SBOM Attestation secret handling consistent with STO/CI (support secret expressions & secret values)
Current Behavior In SCS SBOM Orchestration → SBOM Attestation (Private Key / Password / Public Key fields): * The UI allows: * Fixed value * Runtime input ( <+input> ) * Expression However, these fields only accept secret identifiers*** in practice, such as: * mySecret * org.mySecret * account.mySecret If a user supplies an expression that resolves to a secret value (for example a Secret-type variable or \<+secrets.getValue("id")> ), the pipeline fails validation with errors like: > Invalid Secret Reference. Valid references must be one of the following formats [ id, org.id, account.id ] for scope [ project, organisation, account ] respectively This means SCS effectively treats these fields as “identifier-only”, even though the UI advertises Expression and Runtime input as options. --- Problem This behavior is: * Inconsistent with STO and other CI steps , which generally: * Accept secret values , * Support Secret-type variables and secrets.getValue(...) expressions, * Handle nested expressions that resolve to secrets. * Confusing for users , because: * The UI suggests they can use expressions and secret variables the same way they do in STO/CI. * But SCS rejects those patterns and requires them to pass only identifiers. * Limiting for reuse and governance , because: * It’s harder to dynamically pick different attestation keys per environment/org/project. * Users must resort to “String variable that holds a secret identifier” patterns, which is not intuitive and feels like a workaround. This is already surfacing in real customer pipelines and is likely to affect more users as HAR + SBOM adoption grows. --- Desired Behavior Align SCS SBOM Attestation secret handling with STO/CI , so that: Private Key / Password / Public Key fields accept: * Direct secret identifiers ( id , org.id , account.id ) — as they do today. * Expressions that resolve to secret identifiers , e.g.: ```yaml <+stage.variables.sbom_private_key_id> # "cosign_pk_test" ``` * Expressions that resolve to secret values , including: * \<+secrets.getValue("mySecret")> * Pipeline/stage variables of type Secret * Nested expressions that ultimately resolve to a secret. Validation happens after expression evaluation , similar to STO: * The expression is evaluated first. * If the result is a valid secret reference or secret value, the step proceeds. * Only truly invalid values should trigger the “Invalid Secret Reference” error. Backward compatible behavior : * Existing SCS pipelines that use plain identifiers should continue to work as-is. * New pipelines can adopt the more flexible STO/CI-style patterns without surprises. --- Why This Matters * Reduces confusion and support noise by bringing SCS in line with the rest of CI/STO . * Makes it much easier to: * Reuse SBOM/attestation pipelines across multiple environments, * Follow best practices for secret management (no hard-wiring per-step), * Build dynamic, policy-driven setups (e.g., different keys per env/org). * Matches user expectations: if a field supports “Expression” and is secret-related, it should behave consistently across modules.
1
·
SSCA
·
under review
Load More