feat(syncer-service): onboard syncer-service component#3198
feat(syncer-service): onboard syncer-service component#3198ab-ghosh wants to merge 1 commit intotektoncd:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
77a2861 to
0d89eb4
Compare
|
@ab-ghosh - Thanks for sharing the outcome of upgrade tests. Please includes tests to make sure that sync service behaves the expected way in hub and spoke cluster. Check the possibility incorporating tests in the following one atleast for each type : locations: https://github.com/tektoncd/operator/tree/main/test Also see the possibility of incorporating unit tests. |
| // Syncer-service is enabled when: | ||
| // 1. Multi-cluster is NOT disabled (i.e., multi-cluster is enabled) | ||
| // 2. The role is Hub | ||
| func IsSyncerServiceEnabled(scheduler *v1alpha1.Scheduler) bool { |
4014bda to
fc75dd3
Compare
|
/kind feature |
khrm
left a comment
There was a problem hiding this comment.
Looks good. But shouldn't we keep this to only OpenShift, like PAC?
|
|
||
| SyncerService custom resource allows user to install and manage [Syncer Service][SyncerService]. | ||
|
|
||
| Syncer Service is a Kubernetes controller that synchronizes secrets between manager (hub) and worker (spoke) nodes in multi-Kueue environments. It enables seamless multi-cluster pipeline execution by ensuring PipelineRuns have the necessary authentication secrets available on their target clusters. |
There was a problem hiding this comment.
can we add a doc reference to multi-Kueue environments which can provide few details about the multi-kueue/mult-kueue environments?
| "existingNamespace", installerSetTargetNamespace, | ||
| "newNamespace", ss.Spec.TargetNamespace) | ||
| err := r.operatorClientSet.OperatorV1alpha1().TektonInstallerSets(). | ||
| Delete(ctx, existingInstallerSet, metav1.DeleteOptions{}) |
There was a problem hiding this comment.
Could we move the delete operation into a separate function for better separation of concerns?
|
@khrm SyncerService follows the same pattern as TektonScheduler since it's a dependent component of the scheduler's multi-cluster Hub mode. Since TektonScheduler supports both Kubernetes and OpenShift, I kept SyncerService consistent with that. |
|
This service syncs only PAC secret afaik. @zakisk Are we syncing any thing other than this? |
fc75dd3 to
3f33ccd
Compare
3f33ccd to
f6ea252
Compare
Add conditional deployment of syncer-service based on TektonConfig: - scheduler.multi-cluster-disabled: false - scheduler.multi-cluster-role: Hub Includes CRD, controllers, reconcilers for Kubernetes and OpenShift. Signed-off-by: ab-ghosh <abghosh@redhat.com>
f6ea252 to
c835573
Compare
Yes, right it only syncs PaC secrets |
|
@khrm should make this to OpenShift only then? |
|
@ab-ghosh Yes, let's do that. |




Changes
This PR onboards the syncer-service component into the Tekton Operator with conditional deployment based on TektonConfig scheduler settings.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
make test lintbefore submitting a PRSee the contribution guide for more details.
Release Notes