app

package
v0.6.20 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2023 License: Apache-2.0 Imports: 75 Imported by: 16

Documentation

Index

Constants

View Source
const (
	Initiate              string = "Initiate"
	ScalingReplicaSetDown string = "ScalingReplicaSetDown"
	APIVersionV1          string = "v1"
	APIVersionV2          string = "v2"
)
View Source
const (
	Success = "SUCCESS"
	Failure = "FAILURE"
)
View Source
const AcdInvalidAppErr = "invalid acd app name and env"
View Source
const HorizontalPodAutoscaler = "HorizontalPodAutoscaler"
View Source
const NotDeployed = "Not Deployed"

Variables

This section is empty.

Functions

func BuildJobListingResponse added in v0.6.15

func BuildJobListingResponse(jobContainers []*bean.JobListingContainer, JobsLastSucceededOnTime []*bean.CiPipelineLastSucceededTime) []*bean.JobContainer

func GetCIPipelineIDs added in v0.6.15

func GetCIPipelineIDs(jobContainers []*bean.JobListingContainer) []int

Types

type AppBean added in v0.6.11

type AppBean struct {
	Id     int    `json:"id"`
	Name   string `json:"name,notnull"`
	TeamId int    `json:"teamId,omitempty"`
}

type AppCrudOperationService added in v0.6.0

type AppCrudOperationService interface {
	Create(request *bean.AppLabelDto, tx *pg.Tx) (*bean.AppLabelDto, error)
	FindById(id int) (*bean.AppLabelDto, error)
	FindAll() ([]*bean.AppLabelDto, error)
	GetAppMetaInfo(appId int) (*bean.AppMetaInfoDto, error)
	GetHelmAppMetaInfo(appId string) (*bean.AppMetaInfoDto, error)
	GetLabelsByAppIdForDeployment(appId int) ([]byte, error)
	GetLabelsByAppId(appId int) (map[string]string, error)
	UpdateApp(request *bean.CreateAppDTO) (*bean.CreateAppDTO, error)
	UpdateProjectForApps(request *bean.UpdateProjectBulkAppsRequest) (*bean.UpdateProjectBulkAppsRequest, error)
	GetAppMetaInfoByAppName(appName string) (*bean.AppMetaInfoDto, error)
	GetAppListByTeamIds(teamIds []int, appType string) ([]*TeamAppBean, error)
}

type AppCrudOperationServiceImpl added in v0.6.0

type AppCrudOperationServiceImpl struct {
	// contains filtered or unexported fields
}

func NewAppCrudOperationServiceImpl added in v0.6.0

func NewAppCrudOperationServiceImpl(appLabelRepository pipelineConfig.AppLabelRepository,
	logger *zap.SugaredLogger, appRepository appRepository.AppRepository, userRepository repository.UserRepository, installedAppRepository repository2.InstalledAppRepository) *AppCrudOperationServiceImpl

func (AppCrudOperationServiceImpl) Create added in v0.6.0

func (impl AppCrudOperationServiceImpl) Create(request *bean.AppLabelDto, tx *pg.Tx) (*bean.AppLabelDto, error)

func (AppCrudOperationServiceImpl) FindAll added in v0.6.0

func (impl AppCrudOperationServiceImpl) FindAll() ([]*bean.AppLabelDto, error)

func (AppCrudOperationServiceImpl) FindById added in v0.6.0

func (impl AppCrudOperationServiceImpl) FindById(id int) (*bean.AppLabelDto, error)

func (AppCrudOperationServiceImpl) GetAppListByTeamIds added in v0.6.11

func (impl AppCrudOperationServiceImpl) GetAppListByTeamIds(teamIds []int, appType string) ([]*TeamAppBean, error)

func (AppCrudOperationServiceImpl) GetAppMetaInfo added in v0.6.0

func (impl AppCrudOperationServiceImpl) GetAppMetaInfo(appId int) (*bean.AppMetaInfoDto, error)

func (AppCrudOperationServiceImpl) GetAppMetaInfoByAppName added in v0.6.6

func (impl AppCrudOperationServiceImpl) GetAppMetaInfoByAppName(appName string) (*bean.AppMetaInfoDto, error)

func (AppCrudOperationServiceImpl) GetHelmAppMetaInfo added in v0.6.11

func (impl AppCrudOperationServiceImpl) GetHelmAppMetaInfo(appId string) (*bean.AppMetaInfoDto, error)

func (AppCrudOperationServiceImpl) GetLabelsByAppId added in v0.6.4

func (impl AppCrudOperationServiceImpl) GetLabelsByAppId(appId int) (map[string]string, error)

func (AppCrudOperationServiceImpl) GetLabelsByAppIdForDeployment added in v0.6.0

func (impl AppCrudOperationServiceImpl) GetLabelsByAppIdForDeployment(appId int) ([]byte, error)

func (AppCrudOperationServiceImpl) UpdateApp added in v0.6.0

func (impl AppCrudOperationServiceImpl) UpdateApp(request *bean.CreateAppDTO) (*bean.CreateAppDTO, error)

func (AppCrudOperationServiceImpl) UpdateLabelsInApp added in v0.6.0

func (impl AppCrudOperationServiceImpl) UpdateLabelsInApp(request *bean.CreateAppDTO, tx *pg.Tx) (*bean.CreateAppDTO, error)

func (AppCrudOperationServiceImpl) UpdateProjectForApps added in v0.6.0

type AppListingService

type AppListingService interface {
	FetchAppsByEnvironment(fetchAppListingRequest FetchAppListingRequest, w http.ResponseWriter, r *http.Request, token string, apiVersion string) ([]*bean.AppEnvironmentContainer, error)
	FetchJobs(fetchJobListingRequest FetchAppListingRequest) ([]*bean.JobContainer, error)
	FetchOverviewCiPipelines(jobId int) ([]*bean.JobListingContainer, error)
	BuildAppListingResponse(fetchAppListingRequest FetchAppListingRequest, envContainers []*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)
	BuildAppListingResponseV2(fetchAppListingRequest FetchAppListingRequest, envContainers []*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)
	FetchAllDevtronManagedApps() ([]AppNameTypeIdContainer, error)
	FetchAppDetails(ctx context.Context, appId int, envId int) (bean.AppDetailContainer, error)

	PodCountByAppLabel(appLabel string, namespace string, env string, proEndpoint string) int
	PodListByAppLabel(appLabel string, namespace string, env string, proEndpoint string) map[string]string

	// below 4 functions used for pod level cpu and memory usage
	CpuUsageGroupByPod(namespace string, env string, proEndpoint string) map[string]string
	CpuRequestGroupByPod(namespace string, env string, proEndpoint string) map[string]string
	MemoryUsageGroupByPod(namespace string, env string, proEndpoint string) map[string]string
	MemoryRequestGroupByPod(namespace string, env string, proEndpoint string) map[string]string

	//Currently not in use
	CpuUsageGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string
	CpuRequestGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string
	MemoryUsageGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string
	MemoryRequestGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string

	//Currently not in use (intent to fetch graph data from prometheus)
	CpuUsageGroupByPodGraph(podName string, namespace string, env string, proEndpoint string, r v1.Range) map[string][]interface{}
	MemoryUsageGroupByPodGraph(podName string, namespace string, env string, proEndpoint string, r v1.Range) map[string][]interface{}
	GraphAPI(appId int, envId int) error

	FetchAppTriggerView(appId int) ([]bean.TriggerView, error)
	FetchAppStageStatus(appId int, appType int) ([]bean.AppStageStatus, error)

	FetchOtherEnvironment(ctx context.Context, appId int) ([]*bean.Environment, error)
	FetchMinDetailOtherEnvironment(appId int) ([]*bean.Environment, error)
	RedirectToLinkouts(Id int, appId int, envId int, podName string, containerName string) (string, error)
	ISLastReleaseStopType(appId, envId int) (bool, error)
	ISLastReleaseStopTypeV2(pipelineIds []int) (map[int]bool, error)
	GetReleaseCount(appId, envId int) (int, error)

	FetchAppsByEnvironmentV2(fetchAppListingRequest FetchAppListingRequest, w http.ResponseWriter, r *http.Request, token string) ([]*bean.AppEnvironmentContainer, int, error)
	FetchOverviewAppsByEnvironment(envId, limit, offset int) (*OverviewAppsByEnvironmentBean, error)
}

type AppListingServiceImpl

type AppListingServiceImpl struct {
	Logger *zap.SugaredLogger
	// contains filtered or unexported fields
}

func NewAppListingServiceImpl

func NewAppListingServiceImpl(Logger *zap.SugaredLogger, appListingRepository repository.AppListingRepository,
	application application2.ServiceClient, appRepository app.AppRepository,
	appListingViewBuilder AppListingViewBuilder, pipelineRepository pipelineConfig.PipelineRepository,
	linkoutsRepository repository.LinkoutsRepository, appLevelMetricsRepository repository.AppLevelMetricsRepository,
	envLevelMetricsRepository repository.EnvLevelAppMetricsRepository, cdWorkflowRepository pipelineConfig.CdWorkflowRepository,
	pipelineOverrideRepository chartConfig.PipelineOverrideRepository, environmentRepository repository2.EnvironmentRepository,
	argoUserService argo.ArgoUserService, envOverrideRepository chartConfig.EnvConfigOverrideRepository,
	chartRepository chartRepoRepository.ChartRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository,
	dockerRegistryIpsConfigService dockerRegistry.DockerRegistryIpsConfigService) *AppListingServiceImpl

func (AppListingServiceImpl) BuildAppListingResponse

func (impl AppListingServiceImpl) BuildAppListingResponse(fetchAppListingRequest FetchAppListingRequest, envContainers []*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)

func (AppListingServiceImpl) BuildAppListingResponseV2 added in v0.6.17

func (impl AppListingServiceImpl) BuildAppListingResponseV2(fetchAppListingRequest FetchAppListingRequest, envContainers []*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)

func (AppListingServiceImpl) CpuRequestGroupByContainer deprecated

func (impl AppListingServiceImpl) CpuRequestGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string

Deprecated: Currently not in use

func (AppListingServiceImpl) CpuRequestGroupByPod

func (impl AppListingServiceImpl) CpuRequestGroupByPod(namespace string, env string, proEndpoint string) map[string]string

func (AppListingServiceImpl) CpuUsageGroupByContainer deprecated

func (impl AppListingServiceImpl) CpuUsageGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string

Deprecated: Currently not in use

func (AppListingServiceImpl) CpuUsageGroupByPod

func (impl AppListingServiceImpl) CpuUsageGroupByPod(namespace string, env string, proEndpoint string) map[string]string

func (AppListingServiceImpl) CpuUsageGroupByPodGraph deprecated

func (impl AppListingServiceImpl) CpuUsageGroupByPodGraph(podName string, namespace string, env string, proEndpoint string, r v1.Range) map[string][]interface{}

Deprecated: Currently not in use (intent to fetch graph data from prometheus)

func (AppListingServiceImpl) FetchAllDevtronManagedApps added in v0.6.9

func (impl AppListingServiceImpl) FetchAllDevtronManagedApps() ([]AppNameTypeIdContainer, error)

func (AppListingServiceImpl) FetchAppDetails

func (impl AppListingServiceImpl) FetchAppDetails(ctx context.Context, appId int, envId int) (bean.AppDetailContainer, error)

func (AppListingServiceImpl) FetchAppStageStatus

func (impl AppListingServiceImpl) FetchAppStageStatus(appId int, appType int) ([]bean.AppStageStatus, error)

func (AppListingServiceImpl) FetchAppTriggerView

func (impl AppListingServiceImpl) FetchAppTriggerView(appId int) ([]bean.TriggerView, error)

func (AppListingServiceImpl) FetchAppsByEnvironment

func (impl AppListingServiceImpl) FetchAppsByEnvironment(fetchAppListingRequest FetchAppListingRequest, w http.ResponseWriter, r *http.Request, token string, apiVersion string) ([]*bean.AppEnvironmentContainer, error)

func (AppListingServiceImpl) FetchAppsByEnvironmentV2 added in v0.6.17

func (impl AppListingServiceImpl) FetchAppsByEnvironmentV2(fetchAppListingRequest FetchAppListingRequest, w http.ResponseWriter, r *http.Request, token string) ([]*bean.AppEnvironmentContainer, int, error)

func (AppListingServiceImpl) FetchJobs added in v0.6.15

func (impl AppListingServiceImpl) FetchJobs(fetchJobListingRequest FetchAppListingRequest) ([]*bean.JobContainer, error)

func (AppListingServiceImpl) FetchMinDetailOtherEnvironment added in v0.6.17

func (impl AppListingServiceImpl) FetchMinDetailOtherEnvironment(appId int) ([]*bean.Environment, error)

func (AppListingServiceImpl) FetchOtherEnvironment

func (impl AppListingServiceImpl) FetchOtherEnvironment(ctx context.Context, appId int) ([]*bean.Environment, error)

func (AppListingServiceImpl) FetchOverviewAppsByEnvironment added in v0.6.17

func (impl AppListingServiceImpl) FetchOverviewAppsByEnvironment(envId, limit, offset int) (*OverviewAppsByEnvironmentBean, error)

func (AppListingServiceImpl) FetchOverviewCiPipelines added in v0.6.15

func (impl AppListingServiceImpl) FetchOverviewCiPipelines(jobId int) ([]*bean.JobListingContainer, error)

func (AppListingServiceImpl) GetReleaseCount

func (impl AppListingServiceImpl) GetReleaseCount(appId, envId int) (int, error)

func (AppListingServiceImpl) GraphAPI deprecated

func (impl AppListingServiceImpl) GraphAPI(appId int, envId int) error

Deprecated: Currently not in use (intent to fetch graph data from prometheus)

func (AppListingServiceImpl) ISLastReleaseStopType

func (impl AppListingServiceImpl) ISLastReleaseStopType(appId, envId int) (bool, error)

func (AppListingServiceImpl) ISLastReleaseStopTypeV2

func (impl AppListingServiceImpl) ISLastReleaseStopTypeV2(pipelineIds []int) (map[int]bool, error)

func (AppListingServiceImpl) MemoryRequestGroupByContainer deprecated

func (impl AppListingServiceImpl) MemoryRequestGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string

Deprecated: Currently not in use

func (AppListingServiceImpl) MemoryRequestGroupByPod

func (impl AppListingServiceImpl) MemoryRequestGroupByPod(namespace string, env string, proEndpoint string) map[string]string

func (AppListingServiceImpl) MemoryUsageGroupByContainer deprecated

func (impl AppListingServiceImpl) MemoryUsageGroupByContainer(podName string, namespace string, env string, proEndpoint string) map[string]string

Deprecated: Currently not in use

func (AppListingServiceImpl) MemoryUsageGroupByPod

func (impl AppListingServiceImpl) MemoryUsageGroupByPod(namespace string, env string, proEndpoint string) map[string]string

func (AppListingServiceImpl) MemoryUsageGroupByPodGraph deprecated

func (impl AppListingServiceImpl) MemoryUsageGroupByPodGraph(podName string, namespace string, env string, proEndpoint string, r v1.Range) map[string][]interface{}

Deprecated: Currently not in use (intent to fetch graph data from prometheus)

func (AppListingServiceImpl) PodCountByAppLabel

func (impl AppListingServiceImpl) PodCountByAppLabel(appLabel string, namespace string, env string, proEndpoint string) int

Return only a integer value pod count, aggregated of all the pod inside a app (includes all the pods running different cd pipeline for same app)

func (AppListingServiceImpl) PodListByAppLabel

func (impl AppListingServiceImpl) PodListByAppLabel(appLabel string, namespace string, env string, proEndpoint string) map[string]string

Returns map of running pod names

func (AppListingServiceImpl) RedirectToLinkouts

func (impl AppListingServiceImpl) RedirectToLinkouts(Id int, appId int, envId int, podName string, containerName string) (string, error)

type AppListingViewBuilder

type AppListingViewBuilder interface {
	BuildView(fetchAppListingRequest FetchAppListingRequest, appEnvMap map[string][]*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)
}

type AppListingViewBuilderImpl

type AppListingViewBuilderImpl struct {
	Logger *zap.SugaredLogger
}

func NewAppListingViewBuilderImpl

func NewAppListingViewBuilderImpl(Logger *zap.SugaredLogger) *AppListingViewBuilderImpl

func (*AppListingViewBuilderImpl) BuildView

func (impl *AppListingViewBuilderImpl) BuildView(fetchAppListingRequest FetchAppListingRequest, appEnvMap map[string][]*bean.AppEnvironmentContainer) ([]*bean.AppContainer, error)

type AppNameTypeIdContainer added in v0.6.9

type AppNameTypeIdContainer struct {
	AppName string `json:"appName"`
	Type    string `json:"type"`
	AppId   int    `json:"appId"`
}

type AppService

type AppService interface {
	TriggerRelease(overrideRequest *bean.ValuesOverrideRequest, ctx context.Context, triggeredAt time.Time, deployedBy int32) (releaseNo int, manifest []byte, err error)
	UpdateReleaseStatus(request *bean.ReleaseStatusUpdateRequest) (bool, error)
	UpdateDeploymentStatusAndCheckIsSucceeded(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, error)
	TriggerCD(artifact *repository.CiArtifact, cdWorkflowId, wfrId int, pipeline *pipelineConfig.Pipeline, triggeredAt time.Time) error
	GetConfigMapAndSecretJson(appId int, envId int, pipelineId int) ([]byte, error)
	UpdateCdWorkflowRunnerByACDObject(app *v1alpha1.Application, cdWfrId int, updateTimedOutStatus bool) error
	GetCmSecretNew(appId int, envId int) (*bean.ConfigMapJson, *bean.ConfigSecretJson, error)
	MarkImageScanDeployed(appId int, envId int, imageDigest string, clusterId int) error
	UpdateDeploymentStatusForGitOpsPipelines(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, bool, error)
	WriteCDSuccessEvent(appId int, envId int, override *chartConfig.PipelineOverride)
	GetGitOpsRepoPrefix() string
	GetValuesOverrideForTrigger(overrideRequest *bean.ValuesOverrideRequest, triggeredAt time.Time, ctx context.Context) (*ValuesOverrideResponse, error)
	GetEnvOverrideByTriggerType(overrideRequest *bean.ValuesOverrideRequest, triggeredAt time.Time, ctx context.Context) (*chartConfig.EnvConfigOverride, error)
	GetAppMetricsByTriggerType(overrideRequest *bean.ValuesOverrideRequest, ctx context.Context) (bool, error)
	GetDeploymentStrategyByTriggerType(overrideRequest *bean.ValuesOverrideRequest, ctx context.Context) (*chartConfig.PipelineStrategy, error)
	CreateGitopsRepo(app *app.App, userId int32) (gitopsRepoName string, chartGitAttr *ChartGitAttribute, err error)
	GetDeployedManifestByPipelineIdAndCDWorkflowId(appId int, envId int, cdWorkflowId int, ctx context.Context) ([]byte, error)
	SetPipelineFieldsInOverrideRequest(overrideRequest *bean.ValuesOverrideRequest, pipeline *pipelineConfig.Pipeline)
}

type AppServiceConfig added in v0.6.14

type AppServiceConfig struct {
	CdPipelineStatusCronTime            string `env:"CD_PIPELINE_STATUS_CRON_TIME" envDefault:"*/2 * * * *"`
	CdHelmPipelineStatusCronTime        string `env:"CD_HELM_PIPELINE_STATUS_CRON_TIME" envDefault:"*/2 * * * *"`
	CdPipelineStatusTimeoutDuration     string `env:"CD_PIPELINE_STATUS_TIMEOUT_DURATION" envDefault:"20"`                   //in minutes
	PipelineDegradedTime                string `env:"PIPELINE_DEGRADED_TIME" envDefault:"10"`                                //in minutes
	GetPipelineDeployedWithinHours      int    `env:"DEPLOY_STATUS_CRON_GET_PIPELINE_DEPLOYED_WITHIN_HOURS" envDefault:"12"` //in hours
	HelmPipelineStatusCheckEligibleTime string `env:"HELM_PIPELINE_STATUS_CHECK_ELIGIBLE_TIME" envDefault:"120"`             //in seconds
	ExposeCDMetrics                     bool   `env:"EXPOSE_CD_METRICS" envDefault:"false"`
}

func GetAppServiceConfig added in v0.6.14

func GetAppServiceConfig() (*AppServiceConfig, error)

type AppServiceImpl

type AppServiceImpl struct {
	ArgoK8sClient argocdServer.ArgoK8sClient

	AppStoreDeploymentService service.AppStoreDeploymentService

	GitOpsManifestPushService GitOpsPushService
	// contains filtered or unexported fields
}

func NewAppService

func NewAppService(
	environmentConfigRepository chartConfig.EnvConfigOverrideRepository,
	pipelineOverrideRepository chartConfig.PipelineOverrideRepository,
	mergeUtil *MergeUtil,
	logger *zap.SugaredLogger,
	ciArtifactRepository repository.CiArtifactRepository,
	pipelineRepository pipelineConfig.PipelineRepository,
	dbMigrationConfigRepository pipelineConfig.DbMigrationConfigRepository,
	eventClient client.EventClient,
	eventFactory client.EventFactory, acdClient application.ServiceClient,
	cache *util3.TokenCache, authConfig *util3.ACDAuthConfig,
	enforcer casbin.Enforcer, enforcerUtil rbac.EnforcerUtil, user user.UserService,
	appListingRepository repository.AppListingRepository,
	appRepository app.AppRepository,
	envRepository repository2.EnvironmentRepository,
	pipelineConfigRepository chartConfig.PipelineConfigRepository,
	configMapRepository chartConfig.ConfigMapRepository,
	appLevelMetricsRepository repository.AppLevelMetricsRepository,
	envLevelMetricsRepository repository.EnvLevelAppMetricsRepository,
	chartRepository chartRepoRepository.ChartRepository,
	ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository,
	cdWorkflowRepository pipelineConfig.CdWorkflowRepository,
	commonService commonService.CommonService,
	imageScanDeployInfoRepository security.ImageScanDeployInfoRepository,
	imageScanHistoryRepository security.ImageScanHistoryRepository,
	ArgoK8sClient argocdServer.ArgoK8sClient,
	gitFactory *GitFactory,
	pipelineStrategyHistoryService history2.PipelineStrategyHistoryService,
	configMapHistoryService history2.ConfigMapHistoryService,
	deploymentTemplateHistoryService history2.DeploymentTemplateHistoryService,
	chartTemplateService ChartTemplateService,
	refChartDir chartRepoRepository.RefChartDir,
	chartRefRepository chartRepoRepository.ChartRefRepository,
	chartService chart.ChartService,
	helmAppClient client2.HelmAppClient,
	argoUserService argo.ArgoUserService,
	cdPipelineStatusTimelineRepo pipelineConfig.PipelineStatusTimelineRepository,
	appCrudOperationService AppCrudOperationService,
	configMapHistoryRepository repository3.ConfigMapHistoryRepository,
	strategyHistoryRepository repository3.PipelineStrategyHistoryRepository,
	deploymentTemplateHistoryRepository repository3.DeploymentTemplateHistoryRepository,
	dockerRegistryIpsConfigService dockerRegistry.DockerRegistryIpsConfigService,
	pipelineStatusTimelineResourcesService status2.PipelineStatusTimelineResourcesService,
	pipelineStatusSyncDetailService status2.PipelineStatusSyncDetailService,
	pipelineStatusTimelineService status2.PipelineStatusTimelineService,
	appStatusConfig *AppServiceConfig,
	gitOpsConfigRepository repository.GitOpsConfigRepository,
	appStatusService appStatus.AppStatusService,
	installedAppRepository repository4.InstalledAppRepository,
	AppStoreDeploymentService service.AppStoreDeploymentService,
	k8sApplicationService k8s.K8sApplicationService,
	installedAppVersionHistoryRepository repository4.InstalledAppVersionHistoryRepository,
	globalEnvVariables *util2.GlobalEnvVariables, helmAppService client2.HelmAppService,
	manifestPushConfigRepository repository5.ManifestPushConfigRepository,
	GitOpsManifestPushService GitOpsPushService) *AppServiceImpl

func (*AppServiceImpl) BuildCDSuccessPayload

func (impl *AppServiceImpl) BuildCDSuccessPayload(appName string, environmentName string) *client.Payload

func (*AppServiceImpl) BuildChartAndGetPath added in v0.6.17

func (impl *AppServiceImpl) BuildChartAndGetPath(appName string, envOverride *chartConfig.EnvConfigOverride, ctx context.Context) (string, error)

func (*AppServiceImpl) BuildManifestForTrigger added in v0.6.17

func (impl *AppServiceImpl) BuildManifestForTrigger(overrideRequest *bean.ValuesOverrideRequest, triggeredAt time.Time, ctx context.Context) (valuesOverrideResponse *ValuesOverrideResponse, builtChartPath string, err error)

func (*AppServiceImpl) BuildManifestPushTemplate added in v0.6.19

func (impl *AppServiceImpl) BuildManifestPushTemplate(overrideRequest *bean.ValuesOverrideRequest, valuesOverrideResponse *ValuesOverrideResponse, builtChartPath string, manifest *[]byte) (*bean3.ManifestPushTemplate, error)

func (*AppServiceImpl) BuildPayload

func (impl *AppServiceImpl) BuildPayload(overrideRequest *bean.ValuesOverrideRequest, pipeline *pipelineConfig.Pipeline,
	envOverride *chartConfig.EnvConfigOverride, materialInfo map[string]string, artifact *repository.CiArtifact) *client.Payload

func (*AppServiceImpl) CheckIfPipelineUpdateEventIsValid added in v0.6.11

func (impl *AppServiceImpl) CheckIfPipelineUpdateEventIsValid(argoAppName, gitHash string) (bool, pipelineConfig.Pipeline, pipelineConfig.CdWorkflowRunner, *chartConfig.PipelineOverride, error)

func (*AppServiceImpl) CheckIfPipelineUpdateEventIsValidForAppStore added in v0.6.17

func (impl *AppServiceImpl) CheckIfPipelineUpdateEventIsValidForAppStore(gitOpsAppName string) (bool, *repository4.InstalledAppVersionHistory, int, int, error)

func (*AppServiceImpl) CreateGitopsRepo added in v0.6.17

func (impl *AppServiceImpl) CreateGitopsRepo(app *app.App, userId int32) (gitopsRepoName string, chartGitAttr *ChartGitAttribute, err error)

func (*AppServiceImpl) CreateHistoriesForDeploymentTrigger added in v0.3.21

func (impl *AppServiceImpl) CreateHistoriesForDeploymentTrigger(pipeline *pipelineConfig.Pipeline, strategy *chartConfig.PipelineStrategy, envOverride *chartConfig.EnvConfigOverride, deployedOn time.Time, deployedBy int32) error

func (*AppServiceImpl) DeployApp added in v0.6.17

func (impl *AppServiceImpl) DeployApp(overrideRequest *bean.ValuesOverrideRequest, valuesOverrideResponse *ValuesOverrideResponse, triggeredAt time.Time, ctx context.Context) error

func (*AppServiceImpl) DeployArgocdApp added in v0.6.17

func (impl *AppServiceImpl) DeployArgocdApp(overrideRequest *bean.ValuesOverrideRequest, valuesOverrideResponse *ValuesOverrideResponse, ctx context.Context) error

func (*AppServiceImpl) GetAppMetricsByTriggerType added in v0.6.17

func (impl *AppServiceImpl) GetAppMetricsByTriggerType(overrideRequest *bean.ValuesOverrideRequest, ctx context.Context) (bool, error)

func (*AppServiceImpl) GetCmSecretNew

func (impl *AppServiceImpl) GetCmSecretNew(appId int, envId int) (*bean.ConfigMapJson, *bean.ConfigSecretJson, error)

FIXME tmp workaround

func (*AppServiceImpl) GetConfigMapAndSecretJson

func (impl *AppServiceImpl) GetConfigMapAndSecretJson(appId int, envId int, pipelineId int) ([]byte, error)

depricated TODO remove this method

func (*AppServiceImpl) GetDeployedManifestByPipelineIdAndCDWorkflowId added in v0.6.17

func (impl *AppServiceImpl) GetDeployedManifestByPipelineIdAndCDWorkflowId(appId int, envId int, cdWorkflowId int, ctx context.Context) ([]byte, error)

func (*AppServiceImpl) GetDeploymentStrategyByTriggerType added in v0.6.17

func (impl *AppServiceImpl) GetDeploymentStrategyByTriggerType(overrideRequest *bean.ValuesOverrideRequest, ctx context.Context) (*chartConfig.PipelineStrategy, error)

func (*AppServiceImpl) GetEnvOverrideByTriggerType added in v0.6.17

func (impl *AppServiceImpl) GetEnvOverrideByTriggerType(overrideRequest *bean.ValuesOverrideRequest, triggeredAt time.Time, ctx context.Context) (*chartConfig.EnvConfigOverride, error)

func (*AppServiceImpl) GetGitOpsRepoPrefix added in v0.6.17

func (impl *AppServiceImpl) GetGitOpsRepoPrefix() string

func (*AppServiceImpl) GetHelmManifestInByte added in v0.6.17

func (impl *AppServiceImpl) GetHelmManifestInByte(overrideValues string, refChartPath string) ([]byte, error)

func (*AppServiceImpl) GetManifestPushService added in v0.6.19

func (impl *AppServiceImpl) GetManifestPushService(triggerEvent bean.TriggerEvent) ManifestPushService

func (*AppServiceImpl) GetTriggerEvent added in v0.6.19

func (impl *AppServiceImpl) GetTriggerEvent(deploymentAppType string, triggeredAt time.Time, deployedBy int32) bean.TriggerEvent

func (*AppServiceImpl) GetValuesOverrideForTrigger added in v0.6.17

func (impl *AppServiceImpl) GetValuesOverrideForTrigger(overrideRequest *bean.ValuesOverrideRequest, triggeredAt time.Time, ctx context.Context) (*ValuesOverrideResponse, error)

func (*AppServiceImpl) MarkImageScanDeployed

func (impl *AppServiceImpl) MarkImageScanDeployed(appId int, envId int, imageDigest string, clusterId int) error

func (*AppServiceImpl) SavePipelineStatusTimelineIfNotAlreadyPresent added in v0.4.28

func (impl *AppServiceImpl) SavePipelineStatusTimelineIfNotAlreadyPresent(pipelineId int, timelineStatus pipelineConfig.TimelineStatus, timeline *pipelineConfig.PipelineStatusTimeline, isAppStore bool) (latestTimeline *pipelineConfig.PipelineStatusTimeline, err error, isTimelineUpdated bool)

func (*AppServiceImpl) SetPipelineFieldsInOverrideRequest added in v0.6.17

func (impl *AppServiceImpl) SetPipelineFieldsInOverrideRequest(overrideRequest *bean.ValuesOverrideRequest, pipeline *pipelineConfig.Pipeline)

func (*AppServiceImpl) TriggerCD

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

func (*AppServiceImpl) TriggerPipeline added in v0.6.17

func (impl *AppServiceImpl) TriggerPipeline(overrideRequest *bean.ValuesOverrideRequest, triggerEvent bean.TriggerEvent, ctx context.Context) (releaseNo int, manifest []byte, err error)

write integration/unit test for each function

func (*AppServiceImpl) TriggerRelease

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

func (*AppServiceImpl) UpdateCdWorkflowRunnerByACDObject

func (impl *AppServiceImpl) UpdateCdWorkflowRunnerByACDObject(app *v1alpha1.Application, cdWfrId int, updateTimedOutStatus bool) error

func (*AppServiceImpl) UpdateDeploymentStatusAndCheckIsSucceeded added in v0.6.11

func (impl *AppServiceImpl) UpdateDeploymentStatusAndCheckIsSucceeded(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, error)

func (*AppServiceImpl) UpdateDeploymentStatusForAppStore added in v0.6.17

func (impl *AppServiceImpl) UpdateDeploymentStatusForAppStore(app *v1alpha1.Application, installedVersionHistoryId int) (bool, error)

func (*AppServiceImpl) UpdateDeploymentStatusForGitOpsPipelines added in v0.6.17

func (impl *AppServiceImpl) UpdateDeploymentStatusForGitOpsPipelines(app *v1alpha1.Application, statusTime time.Time, isAppStore bool) (bool, bool, error)

func (*AppServiceImpl) UpdateDeploymentStatusForPipeline added in v0.6.11

func (impl *AppServiceImpl) UpdateDeploymentStatusForPipeline(app *v1alpha1.Application, pipelineOverride *chartConfig.PipelineOverride, cdWfrId int) (bool, error)

func (*AppServiceImpl) UpdateInstalledAppVersionHistoryByACDObject added in v0.6.17

func (impl *AppServiceImpl) UpdateInstalledAppVersionHistoryByACDObject(app *v1alpha1.Application, installedAppVersionHistoryId int, updateTimedOutStatus bool) error

func (*AppServiceImpl) UpdatePipelineStatusTimelineForApplicationChanges added in v0.4.28

func (impl *AppServiceImpl) UpdatePipelineStatusTimelineForApplicationChanges(app *v1alpha1.Application, pipelineId int,
	statusTime time.Time, triggeredAt time.Time, statusTimeoutDuration int,
	latestTimelineBeforeUpdate *pipelineConfig.PipelineStatusTimeline, reconciledAt *metav1.Time, isAppStore bool) (isTimelineUpdated bool,
	isTimelineTimedOut bool, kubectlApplySyncedTimeline *pipelineConfig.PipelineStatusTimeline, err error)

func (*AppServiceImpl) UpdateReleaseStatus

func (impl *AppServiceImpl) UpdateReleaseStatus(updateStatusRequest *bean.ReleaseStatusUpdateRequest) (bool, error)

func (*AppServiceImpl) ValidateTriggerEvent added in v0.6.17

func (impl *AppServiceImpl) ValidateTriggerEvent(triggerEvent bean.TriggerEvent) (bool, error)

func (*AppServiceImpl) WriteCDSuccessEvent

func (impl *AppServiceImpl) WriteCDSuccessEvent(appId int, envId int, override *chartConfig.PipelineOverride)

func (*AppServiceImpl) WriteCDTriggerEvent

func (impl *AppServiceImpl) WriteCDTriggerEvent(overrideRequest *bean.ValuesOverrideRequest, artifact *repository.CiArtifact, releaseId, pipelineOverrideId int)

type DeploymentEvent

type DeploymentEvent struct {
	ApplicationId      int
	EnvironmentId      int
	ReleaseId          int
	PipelineOverrideId int
	TriggerTime        time.Time
	PipelineMaterials  []*PipelineMaterialInfo
	CiArtifactId       int
}

type DeploymentEventHandler added in v0.6.4

type DeploymentEventHandler interface {
	WriteCDDeploymentEvent(pipelineId, appId, envId int, eventType util.EventType)
}

type DeploymentEventHandlerImpl added in v0.6.4

type DeploymentEventHandlerImpl struct {
	// contains filtered or unexported fields
}

func NewDeploymentEventHandlerImpl added in v0.6.4

func NewDeploymentEventHandlerImpl(logger *zap.SugaredLogger, appListingService AppListingService, eventClient client.EventClient, eventFactory client.EventFactory) *DeploymentEventHandlerImpl

func (*DeploymentEventHandlerImpl) BuildPayload added in v0.6.4

func (impl *DeploymentEventHandlerImpl) BuildPayload(appName string, deploymentFailureTime time.Time) *client.Payload

func (*DeploymentEventHandlerImpl) WriteCDDeploymentEvent added in v0.6.4

func (impl *DeploymentEventHandlerImpl) WriteCDDeploymentEvent(pipelineId, appId, envId int, eventType util.EventType)

type EnvironmentOverride

type EnvironmentOverride struct {
	Enabled   bool        `json:"enabled"`
	EnvValues []*KeyValue `json:"envValues"`
}

type FetchAppListingRequest

type FetchAppListingRequest struct {
	Environments      []int            `json:"environments"`
	Statuses          []string         `json:"statuses"`
	Teams             []int            `json:"teams"`
	AppNameSearch     string           `json:"appNameSearch"`
	SortOrder         helper.SortOrder `json:"sortOrder"`
	SortBy            helper.SortBy    `json:"sortBy"`
	Offset            int              `json:"offset"`
	Size              int              `json:"size"`
	DeploymentGroupId int              `json:"deploymentGroupId"`
	Namespaces        []string         `json:"namespaces"` //{clusterId}_{namespace}
	AppStatuses       []string         `json:"appStatuses"`
	AppIds            []int            `json:"-"` //internal use only

}

func (FetchAppListingRequest) GetNamespaceClusterMapping added in v0.3.14

func (req FetchAppListingRequest) GetNamespaceClusterMapping() (namespaceClusterPair []*repository2.ClusterNamespacePair, clusterIds []int, err error)

type GitOpsManifestPushServiceImpl added in v0.6.19

type GitOpsManifestPushServiceImpl struct {
	// contains filtered or unexported fields
}

func NewGitOpsManifestPushServiceImpl added in v0.6.19

func NewGitOpsManifestPushServiceImpl(
	logger *zap.SugaredLogger,
	chartTemplateService util.ChartTemplateService,
	chartService chartService.ChartService,
	gitOpsConfigRepository repository.GitOpsConfigRepository,
	gitFactory *GitFactory,
	pipelineStatusTimelineService status2.PipelineStatusTimelineService,
) *GitOpsManifestPushServiceImpl

func (*GitOpsManifestPushServiceImpl) CommitValuesToGit added in v0.6.19

func (impl *GitOpsManifestPushServiceImpl) CommitValuesToGit(manifestPushTemplate *bean.ManifestPushTemplate, ctx context.Context) (commitHash string, commitTime time.Time, err error)

func (*GitOpsManifestPushServiceImpl) PushChart added in v0.6.19

func (*GitOpsManifestPushServiceImpl) PushChartToGitRepo added in v0.6.19

func (impl *GitOpsManifestPushServiceImpl) PushChartToGitRepo(manifestPushTemplate *bean.ManifestPushTemplate, ctx context.Context) error

func (*GitOpsManifestPushServiceImpl) SaveTimelineForError added in v0.6.19

func (impl *GitOpsManifestPushServiceImpl) SaveTimelineForError(manifestPushTemplate *bean.ManifestPushTemplate, gitCommitErr error)

type GitOpsPushService added in v0.6.19

type GitOpsPushService interface {
	ManifestPushService
}

type KeyValue

type KeyValue struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type ManifestPushService added in v0.6.19

type ManifestPushService interface {
	PushChart(manifestPushConfig *bean.ManifestPushTemplate, ctx context.Context) bean.ManifestPushResponse
}

type OverviewAppsByEnvironmentBean added in v0.6.17

type OverviewAppsByEnvironmentBean struct {
	EnvironmentId   int                             `json:"environmentId"`
	EnvironmentName string                          `json:"environmentName"`
	Namespace       string                          `json:"namespace"`
	ClusterName     string                          `json:"clusterName"`
	AppCount        int                             `json:"appCount"`
	Apps            []*bean.AppEnvironmentContainer `json:"apps"`
}

type PipelineMaterialInfo

type PipelineMaterialInfo struct {
	PipelineMaterialId int
	CommitHash         string
}

type ReleaseAttributes

type ReleaseAttributes struct {
	Name           string
	Tag            string
	PipelineName   string
	ReleaseVersion string
	DeploymentType string
	App            string
	Env            string
	AppMetrics     *bool
}

type ReleaseDataService

type ReleaseDataService interface {
	TriggerEventForAllRelease(appId, environmentId int) error
	GetDeploymentMetrics(request *lens.MetricRequest) (resBody []byte, resCode *lens.StatusCode, err error)
}

type ReleaseDataServiceImpl

type ReleaseDataServiceImpl struct {
	// contains filtered or unexported fields
}

func NewReleaseDataServiceImpl

func NewReleaseDataServiceImpl(
	pipelineOverrideRepository chartConfig.PipelineOverrideRepository,
	logger *zap.SugaredLogger,
	ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository,
	eventClient client.EventClient,
	lensClient lens.LensClient) *ReleaseDataServiceImpl

func (*ReleaseDataServiceImpl) GetDeploymentMetrics

func (impl *ReleaseDataServiceImpl) GetDeploymentMetrics(request *lens.MetricRequest) (resBody []byte, resCode *lens.StatusCode, err error)

func (*ReleaseDataServiceImpl) TriggerEventForAllRelease

func (impl *ReleaseDataServiceImpl) TriggerEventForAllRelease(appId, environmentId int) error

type TeamAppBean added in v0.6.11

type TeamAppBean struct {
	ProjectId   int        `json:"projectId"`
	ProjectName string     `json:"projectName"`
	AppList     []*AppBean `json:"appList"`
}

type ValuesOverrideResponse added in v0.6.17

type ValuesOverrideResponse struct {
	MergedValues        string
	ReleaseOverrideJSON string
	EnvOverride         *chartConfig.EnvConfigOverride
	PipelineStrategy    *chartConfig.PipelineStrategy
	PipelineOverride    *chartConfig.PipelineOverride
	Artifact            *repository.CiArtifact
	Pipeline            *pipelineConfig.Pipeline
	AppMetrics          bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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