Skip to content

fix: correct console component source fields for projctl SSA - #577

Merged
osmman merged 1 commit into
mainfrom
tturek/add-console-nudge-to-operator
Aug 4, 2026
Merged

fix: correct console component source fields for projctl SSA#577
osmman merged 1 commit into
mainfrom
tturek/add-console-nudge-to-operator

Conversation

@osmman

@osmman osmman commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Why

The vcomponent.kb.io admission webhook rejects SSA updates when template source fields don't match the live component, silently preventing build-nudges-ref from being applied.

What

  • rhtas-console: dockerfileUrlDockerfile.rh
  • rhtas-console-ui: dockerfileUrlDockerfile

Breaking changes

After merge, delete rhtas-console-ui and rhtas-console components (main + v1-4) so projctl recreates them with correct source fields.

@qodo-for-securesign

Copy link
Copy Markdown

PR Summary by Qodo

Fix console component git source fields to unblock projctl SSA applies

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Correct console component template dockerfileUrl values to match upstream repos.
• Align rhtas-console-ui git source shape (URL trailing slash + context) with live state.
• Prevent vcomponent.kb.io webhook from rejecting SSA updates due to source-field drift.
Diagram

graph TD
  T["Console templates"] --> P["projctl (SSA apply)"] --> W{{"vcomponent.kb.io webhook"}} --> K["Kubernetes API"]
  T --> C1["rhtas-console component"] --> W
  T --> C2["rhtas-console-ui component"] --> W
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Temporarily relax/disable source-field validation in the webhook
  • ➕ Would allow in-place SSA updates without deleting/recreating components
  • ➕ Reduces operational coordination needed immediately after merge
  • ➖ Higher risk: weakens an admission control that likely prevents unintended supply-chain/source drift
  • ➖ Requires separate change/approval in the webhook deployment and careful rollback
2. One-time scripted delete/recreate as part of the rollout (automation)
  • ➕ Makes the required delete/recreate step repeatable and less error-prone
  • ➕ Ensures both main and v1-4 streams are handled consistently
  • ➖ Adds operational automation work and permissions considerations
  • ➖ Still involves downtime/transition for those components during recreation
3. Out-of-band imperative update (non-SSA) if supported by policy
  • ➕ Could avoid delete/recreate if the webhook only blocks SSA-specific paths
  • ➕ May be faster for a one-off fix
  • ➖ Often still blocked by the same admission policy if it checks object diffs, not apply mode
  • ➖ Creates a divergence from the desired declarative workflow (projctl/SSA)

Recommendation: The PR’s approach (fix template source fields to match reality and live state) is the correct long-term solution because it restores deterministic, declarative SSA updates going forward. Given the webhook’s behavior, plan a coordinated post-merge delete/recreate (ideally scripted) for both rhtas-console and rhtas-console-ui across main and v1-4 so projctl can recreate them with corrected source fields and build-nudges-ref.

Files changed (1) +4 / -3

Bug fix (1) +4 / -3
rhtas-console.yamlAlign console component git source fields with upstream Dockerfile paths +4/-3

Align console component git source fields with upstream Dockerfile paths

• Fixes 'rhtas-console' 'dockerfileUrl' to 'Dockerfile.rh' to match the securesign/rhtas-console repo. Updates 'rhtas-console-ui' source to match live component expectations by adding 'context: "./"', switching 'dockerfileUrl' to 'Dockerfile', and normalizing the git URL with a trailing slash to avoid SSA/webhook source-field drift.

konflux-configs/base/project/overlay/rhtas-console/patch/rhtas-console.yaml

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Configuration Diff

2 document(s) impacted:

+ 0 added
- 0 removed
! 2 modified
Diff
@@ spec.resources.appstudio.redhat.com/v1alpha1/Component/rhtas-console{{.nameSuffix}}.spec.source.git.dockerfileUrl @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/rhtas-console-template
! ± value change
- Dockerfile.rhtas-console.rh
+ Dockerfile.rh

@@ spec.resources.appstudio.redhat.com/v1alpha1/Component/rhtas-console-ui{{.nameSuffix}}.spec.source.git.dockerfileUrl @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/rhtas-console-template
! ± value change
- Dockerfile.rhtas-console-ui.rh
+ Dockerfile

📦 Artifacts: base-output.yaml, head-output.yaml, dyff-output.txt

@qodo-for-securesign

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

- rhtas-console: Dockerfile.rhtas-console.rh → Dockerfile.rh
- rhtas-console-ui: Dockerfile.rhtas-console-ui.rh → Dockerfile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@osmman
osmman force-pushed the tturek/add-console-nudge-to-operator branch from 83bc59a to 592b4ab Compare August 4, 2026 11:58
@osmman
osmman requested a review from fghanmi August 4, 2026 11:59
@osmman
osmman merged commit 312570c into main Aug 4, 2026
4 checks passed
@osmman
osmman deleted the tturek/add-console-nudge-to-operator branch August 4, 2026 12:14
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.

2 participants