pkg/controller/jenkins_folder/chain/factory.go (51 lines of code) (raw):

package chain import ( "fmt" "k8s.io/apimachinery/pkg/runtime" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" jenkinsApi "github.com/epam/edp-jenkins-operator/v2/pkg/apis/v2/v1" "github.com/epam/edp-jenkins-operator/v2/pkg/controller/helper" "github.com/epam/edp-jenkins-operator/v2/pkg/controller/jenkins_folder/chain/handler" "github.com/epam/edp-jenkins-operator/v2/pkg/service/platform" ) var log = ctrl.Log.WithName("jenkins-folder-chain") func CreateCDPipelineFolderChain(s *runtime.Scheme, c client.Client) (handler.JenkinsFolderHandler, error) { pt, err := helper.GetPlatformTypeEnv() if err != nil { return nil, fmt.Errorf("failed to GetPlatformTypeEnv: %w", err) } ps, err := platform.NewPlatformService(pt, s, c) if err != nil { return nil, fmt.Errorf("failed to create new PlatformService: %w", err) } return PutCDPipelineJenkinsFolder{ client: c, ps: ps, scheme: s, }, nil } func CreateTriggerBuildProvisionChain(s *runtime.Scheme, c client.Client) (handler.JenkinsFolderHandler, error) { pt, err := helper.GetPlatformTypeEnv() if err != nil { return nil, fmt.Errorf("failed to get PlatformTypeEnv: %w", err) } ps, err := platform.NewPlatformService(pt, s, c) if err != nil { return nil, fmt.Errorf("failed to create new PlatformService: %w", err) } return TriggerBuildJobProvision{ client: c, ps: ps, }, nil } func nextServeOrNil(next handler.JenkinsFolderHandler, jf *jenkinsApi.JenkinsFolder) error { if next == nil { log.Info("handling of jenkins job has been finished", "name", jf.Name) return nil } if err := next.ServeRequest(jf); err != nil { return fmt.Errorf("failed to serve next request: %w", err) } return nil }