in controllers/stage/chain/factory.go [21:63]
func CreateChain(ctx context.Context, c client.Client, stage *cdPipeApi.Stage) (handler.CdStageHandler, error) {
multiClusterCl, err := multiclusterclient.NewClientProvider(c).GetClusterClient(ctx, stage.Namespace, stage.Spec.ClusterName, client.Options{})
if err != nil {
return nil, fmt.Errorf("failed to get cluster internalClient: %w", err)
}
rbacManager := rbac.NewRbacManager(multiClusterCl, ctrl.Log.WithName("rbac-manager"))
ch := &chain{}
ch.Use(
PutCodebaseImageStream{
client: c,
},
DelegateNamespaceCreation{
client: multiClusterCl,
},
RemoveLabelsFromCodebaseDockerStreamsAfterCdPipelineUpdate{
client: c,
},
DeleteEnvironmentLabelFromCodebaseImageStreams{
client: c,
},
PutEnvironmentLabelToCodebaseImageStreams{
client: c,
},
ConfigureRegistryViewerRbac{
rbac: rbacManager,
},
ConfigureTenantAdminRbac{
rbac: rbacManager,
},
ConfigureSecretManager{
multiClusterClient: multiClusterCl,
internalClient: c,
},
AddApplicationSetGenerators{
applicationSetManager: argocd.NewArgoApplicationSetManager(c),
},
NewPutConfigMap(c),
)
return ch, nil
}