Skip to content
Merged
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions pkg/pipeline/CdHandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ import (
"github.com/go-pg/pg"
"go.opentelemetry.io/otel"
"go.uber.org/zap"
"k8s.io/client-go/rest"
"os"
"path/filepath"
"strconv"
Expand Down Expand Up @@ -118,6 +119,7 @@ type CdHandlerImpl struct {
k8sUtil *k8s.K8sUtil
workflowService WorkflowService
config *CdConfig
restConfig *rest.Config
}

func NewCdHandlerImpl(Logger *zap.SugaredLogger, userService user.UserService, cdWorkflowRepository pipelineConfig.CdWorkflowRepository, ciLogService CiLogService, ciArtifactRepository repository.CiArtifactRepository, ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository, pipelineRepository pipelineConfig.PipelineRepository, envRepository repository2.EnvironmentRepository, ciWorkflowRepository pipelineConfig.CiWorkflowRepository, helmAppService client.HelmAppService, pipelineOverrideRepository chartConfig.PipelineOverrideRepository, workflowDagExecutor WorkflowDagExecutor, appListingService app.AppListingService, appListingRepository repository.AppListingRepository, pipelineStatusTimelineRepository pipelineConfig.PipelineStatusTimelineRepository, application application.ServiceClient, argoUserService argo.ArgoUserService, deploymentEventHandler app.DeploymentEventHandler, eventClient client2.EventClient, pipelineStatusTimelineResourcesService status.PipelineStatusTimelineResourcesService, pipelineStatusSyncDetailService status.PipelineStatusSyncDetailService, pipelineStatusTimelineService status.PipelineStatusTimelineService, appService app.AppService, appStatusService app_status.AppStatusService, enforcerUtil rbac.EnforcerUtil, installedAppRepository repository3.InstalledAppRepository, installedAppVersionHistoryRepository repository3.InstalledAppVersionHistoryRepository, appRepository app2.AppRepository, resourceGroupService resourceGroup2.ResourceGroupService, imageTaggingService ImageTaggingService, k8sUtil *k8s.K8sUtil, workflowService WorkflowService) *CdHandlerImpl {
Expand Down Expand Up @@ -160,6 +162,12 @@ func NewCdHandlerImpl(Logger *zap.SugaredLogger, userService user.UserService, c
return nil
}
cdh.config = config
restConfig, err := k8sUtil.GetK8sInClusterRestConfig()
if err != nil {
Logger.Errorw("error in getting in cluster rest config", "err", err)
return nil
}
cdh.restConfig = restConfig
return cdh
}

Expand Down Expand Up @@ -600,10 +608,13 @@ func (impl *CdHandlerImpl) CancelStage(workflowRunnerId int, userId int32) (int,
} else if workflowRunner.WorkflowType == POST {
isExtCluster = pipeline.RunPostStageInEnv
}
restConfig, err := impl.k8sUtil.GetRestConfigByCluster(clusterConfig)
if err != nil {
impl.Logger.Errorw("error in getting rest config by cluster id", "err", err)
return 0, err
restConfig := impl.restConfig
if isExtCluster {
restConfig, err = impl.k8sUtil.GetRestConfigByCluster(clusterConfig)
if err != nil {
impl.Logger.Errorw("error in getting rest config by cluster id", "err", err)
return 0, err
}
}
// Terminate workflow
err = impl.workflowService.TerminateWorkflow(workflowRunner.ExecutorType, workflowRunner.Name, workflowRunner.Namespace, restConfig, isExtCluster, nil)
Expand Down