devtronApps

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2024 License: Apache-2.0 Imports: 77 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GIT_COMMIT_HASH_PREFIX       = "GIT_COMMIT_HASH"
	GIT_SOURCE_TYPE_PREFIX       = "GIT_SOURCE_TYPE"
	GIT_SOURCE_VALUE_PREFIX      = "GIT_SOURCE_VALUE"
	GIT_SOURCE_COUNT             = "GIT_SOURCE_COUNT"
	APP_LABEL_KEY_PREFIX         = "APP_LABEL_KEY"
	APP_LABEL_VALUE_PREFIX       = "APP_LABEL_VALUE"
	APP_LABEL_COUNT              = "APP_LABEL_COUNT"
	CHILD_CD_ENV_NAME_PREFIX     = "CHILD_CD_ENV_NAME"
	CHILD_CD_CLUSTER_NAME_PREFIX = "CHILD_CD_CLUSTER_NAME"
	CHILD_CD_COUNT               = "CHILD_CD_COUNT"
)

Variables

View Source
var DevtronAppsDeployTriggerWireSet = wire.NewSet(
	NewTriggerServiceImpl,
	wire.Bind(new(TriggerService), new(*TriggerServiceImpl)),
)

Functions

func ReplaceImageTagWithDigest

func ReplaceImageTagWithDigest(image, digest string) string

Types

type FeasibilityManager added in v0.7.0

type FeasibilityManager interface {
	CheckFeasibility(triggerRequirementRequest *bean.TriggerRequirementRequestDto) error
}

type TriggerService

type TriggerService interface {
	TriggerPostStage(request bean.TriggerRequest) error
	TriggerPreStage(request bean.TriggerRequest) error

	TriggerStageForBulk(triggerRequest bean.TriggerRequest) error

	ManualCdTrigger(triggerContext bean.TriggerContext, overrideRequest *bean3.ValuesOverrideRequest) (int, error)
	TriggerAutomaticDeployment(request bean.TriggerRequest) error

	HandleCDTriggerRelease(overrideRequest *bean3.ValuesOverrideRequest, ctx context.Context,
		triggeredAt time.Time, deployedBy int32) (releaseNo int, manifest []byte, err error)

	TriggerRelease(overrideRequest *bean3.ValuesOverrideRequest, valuesOverrideResponse *app.ValuesOverrideResponse,
		builtChartPath string, ctx context.Context, triggeredAt time.Time, triggeredBy int32) (releaseNo int, manifest []byte, err error)
}

type TriggerServiceImpl

type TriggerServiceImpl struct {
	ACDConfig *argocdServer.ACDConfig

	K8sUtil *util5.K8sServiceImpl
	// contains filtered or unexported fields
}

func NewTriggerServiceImpl

func NewTriggerServiceImpl(logger *zap.SugaredLogger, cdWorkflowCommonService cd.CdWorkflowCommonService,
	gitOpsManifestPushService app.GitOpsPushService,
	gitOpsConfigReadService config.GitOpsConfigReadService,
	argoK8sClient argocdServer.ArgoK8sClient,
	ACDConfig *argocdServer.ACDConfig,
	argoClientWrapperService argocdServer.ArgoClientWrapperService,
	pipelineStatusTimelineService status.PipelineStatusTimelineService,
	chartTemplateService util.ChartTemplateService,
	chartService chartService.ChartService,
	workflowEventPublishService out.WorkflowEventPublishService,
	manifestCreationService manifest.ManifestCreationService,
	deployedConfigurationHistoryService history.DeployedConfigurationHistoryService,
	argoUserService argo.ArgoUserService,
	pipelineStageService pipeline.PipelineStageService,
	globalPluginService plugin.GlobalPluginService,
	customTagService pipeline.CustomTagService,
	pluginInputVariableParser pipeline.PluginInputVariableParser,
	prePostCdScriptHistoryService history.PrePostCdScriptHistoryService,
	scopedVariableManager variables.ScopedVariableCMCSManager,
	cdWorkflowService pipeline.WorkflowService,
	imageDigestPolicyService imageDigestPolicy.ImageDigestPolicyService,
	userService user.UserService,
	gitSensorGrpcClient gitSensorClient.Client,
	helmAppService client2.HelmAppService,
	enforcerUtil rbac.EnforcerUtil,
	helmAppClient gRPC.HelmAppClient,
	eventFactory client.EventFactory,
	eventClient client.EventClient,
	envVariables *util3.EnvironmentVariables,
	appRepository appRepository.AppRepository,
	ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository,
	imageScanHistoryRepository security.ImageScanHistoryRepository,
	imageScanDeployInfoRepository security.ImageScanDeployInfoRepository,
	pipelineRepository pipelineConfig.PipelineRepository,
	pipelineOverrideRepository chartConfig.PipelineOverrideRepository,
	manifestPushConfigRepository repository.ManifestPushConfigRepository,
	chartRepository chartRepoRepository.ChartRepository,
	envRepository repository2.EnvironmentRepository,
	cdWorkflowRepository pipelineConfig.CdWorkflowRepository,
	ciWorkflowRepository pipelineConfig.CiWorkflowRepository,
	ciArtifactRepository repository3.CiArtifactRepository,
	ciTemplateService pipeline.CiTemplateService,
	materialRepository pipelineConfig.MaterialRepository,
	appLabelRepository pipelineConfig.AppLabelRepository,
	ciPipelineRepository pipelineConfig.CiPipelineRepository,
	appWorkflowRepository appWorkflow.AppWorkflowRepository,
	dockerArtifactStoreRepository repository4.DockerArtifactStoreRepository,
	imageScanService security2.ImageScanService,
	K8sUtil *util5.K8sServiceImpl) (*TriggerServiceImpl, error)

func (*TriggerServiceImpl) CheckFeasibility added in v0.7.0

func (impl *TriggerServiceImpl) CheckFeasibility(triggerRequirementRequest *bean.TriggerRequirementRequestDto) error

func (*TriggerServiceImpl) HandleCDTriggerRelease

func (impl *TriggerServiceImpl) HandleCDTriggerRelease(overrideRequest *bean3.ValuesOverrideRequest, ctx context.Context,
	triggeredAt time.Time, deployedBy int32) (releaseNo int, manifest []byte, err error)

func (*TriggerServiceImpl) ManualCdTrigger

func (impl *TriggerServiceImpl) ManualCdTrigger(triggerContext bean.TriggerContext, overrideRequest *bean3.ValuesOverrideRequest) (int, error)

TODO: write a wrapper to handle auto and manual trigger

func (*TriggerServiceImpl) ReserveImagesGeneratedAtPlugin

func (impl *TriggerServiceImpl) ReserveImagesGeneratedAtPlugin(customTagId int, registryImageMap map[string][]string) ([]int, error)

func (*TriggerServiceImpl) SetCopyContainerImagePluginDataInWorkflowRequest

func (impl *TriggerServiceImpl) SetCopyContainerImagePluginDataInWorkflowRequest(cdStageWorkflowRequest *types.WorkflowRequest, pipelineId int, pipelineStage string, artifact *repository.CiArtifact) ([]int, error)

func (*TriggerServiceImpl) TriggerAutomaticDeployment

func (impl *TriggerServiceImpl) TriggerAutomaticDeployment(request bean.TriggerRequest) error

TODO: write a wrapper to handle auto and manual trigger

func (*TriggerServiceImpl) TriggerCD

func (impl *TriggerServiceImpl) TriggerCD(artifact *repository3.CiArtifact, cdWorkflowId, wfrId int, pipeline *pipelineConfig.Pipeline, triggeredAt time.Time) error

func (*TriggerServiceImpl) TriggerPostStage

func (impl *TriggerServiceImpl) TriggerPostStage(request bean.TriggerRequest) error

func (*TriggerServiceImpl) TriggerPreStage

func (impl *TriggerServiceImpl) TriggerPreStage(request bean.TriggerRequest) error

func (*TriggerServiceImpl) TriggerRelease

func (impl *TriggerServiceImpl) TriggerRelease(overrideRequest *bean3.ValuesOverrideRequest, valuesOverrideResponse *app.ValuesOverrideResponse,
	builtChartPath string, ctx context.Context, triggeredAt time.Time, triggeredBy int32) (releaseNo int, manifest []byte, err error)

TriggerRelease will trigger Install/Upgrade request for Devtron App releases synchronously

func (*TriggerServiceImpl) TriggerStageForBulk

func (impl *TriggerServiceImpl) TriggerStageForBulk(triggerRequest bean.TriggerRequest) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL