Repository navigation
ADR-0004: Integrate OpenShift Builds in OpenShift Pipelines - #4
sayan-biswas wants to merge 1 commit into
Conversation
|
@vdemeester Can you please review this? |
4251c6e to
afad91a
Compare
vdemeester
left a comment
There was a problem hiding this comment.
One nit, but seems good to me !
cc @jkhelil @aThorp96 @waveywaves
afad91a to
140ee76
Compare
|
I have a few concerns here. This is reasonable as a distribution mechanism (users get Builds "for free" alongside Pipelines), but the mechanism chosen where we are stuffing an unrelated operator's Deployment into this CSV is unusual. OpenShift Builds/Shipwright is a foreign, independently-versioned upstream product with its own operator binary and its own reconciliation loop. The ADR doesn't currently explain how to resolve these:
Given these, can the Decision/Consequences section address these points please. how about the alternative of treaing Shipwright as a Pipelines component instead of embedding a foreign operator: |
waveywaves
left a comment
There was a problem hiding this comment.
how about the alternative of treaing Shipwright as a Pipelines component instead of embedding a foreign operator:
Rather than embedding openshift-builds-operator as a raw Deployment inside this CSV, why not treat Shipwright/OpenShift Builds like any other Tekton component in this repo — vendor its manifests (Deployment, RBAC, CRDs) and reconcile them through TektonInstallerSet, the same way Chains, Results, Pipelines-as-Code, Pruner, etc. are already handled?
I would like to second jawed's point here as well, also the ADR should outline the differences in Pipelines and Builds more clearly. The ADR seems like it's trying to retrofit the Builds operator in the Pipelines oeprator but maybe we need to figure out a way to deploy Shipwright right ? my knowledge on shipwright is minimal or even none right now, but isn't it Tekton a subset of Shipwright ? Maybe we need to build in a way that the components can be configured together properly then. I will have to read up and get back but these are my 2c for now.
|
One more concern: customer experience / consistency. With this approach, customers don't get to opt in to Builds installing the Pipelines operator installs the Builds operator Deployment too, whether or not they ever use it. And even for those who do want it, the experience is inconsistent with how every other component works today: Chains, Results, PAC, Pruner, Scheduler, etc. are all enabled/configured through one unified TektonConfig CR. Builds would instead need its own separate OpenShiftBuild CR with its own install flow — a second, different pattern customers have to learn. A cleaner alternative: treat Shipwright/Builds as an OpenShift-specific extension/component of the Pipelines operator (same pattern as TektonAddon — OpenShift-only, opt-in, toggled through TektonConfig), rather than a permanently co-installed foreign operator. That gives customers real opt-in, keeps one consistent install/configure UX, and avoids the CSV/OLM/lifecycle issues raised earlier. |
140ee76 to
6a69f9a
Compare
|
@jkhelil Added your points in the ADR, also added an alternative proposal through Tekton extension framewprk. PTAL. |
6a69f9a to
8726dfa
Compare
f01f9bb to
70b7183
Compare
…pelines # Changes: - ADR to integrate Shipwright Build and Shared Resource in OpenShift Pipelines Signed-off-by: Sayan Biswas <sabiswas@redhat.com>
70b7183 to
0e07ee8
Compare
|
@vdemeester Can we merge this? we are already in the implementable state. |
Changes:
WIP pull request for the changes tektoncd/operator#4130
Type
Summary
Checklist