bean

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2025 License: Apache-2.0 Imports: 29 Imported by: 4

Documentation

Index

Constants

View Source
const (
	EntityNull = iota
	EntityTypeCiPipelineId
	EntityTypePreCD
	EntityTypePostCD
)
View Source
const (
	ImagePathPattern                                              = "%s/%s:%s" // dockerReg/dockerRepo:Tag
	ImageTagUnavailableMessage                                    = "Desired image tag already exists"
	REGEX_PATTERN_FOR_ENSURING_ONLY_ONE_VARIABLE_BETWEEN_BRACKETS = `\{.{2,}\}`
	REGEX_PATTERN_FOR_CHARACTER_OTHER_THEN_X_OR_x                 = `\{[^xX]|{}\}`
	REGEX_PATTERN_FOR_IMAGE_TAG                                   = `^[a-zA-Z0-9]+[a-zA-Z0-9._-]*$`
)
View Source
const (
	IMAGE_TAG_VARIABLE_NAME_X = "{X}"
	IMAGE_TAG_VARIABLE_NAME_x = "{x}"
)
View Source
const (
	ChartTypeMismatchErrorMsg    string = "" /* 154-byte string literal not displayed */
	ChartVersionNotFoundErrorMsg string = "Chart version %s not found for %s chart"
	PipelineAlreadyPresentMsg    string = "A pipeline already exist for this environment."
	HelmAppAlreadyPresentMsg     string = "A helm app already exist for this environment."
)
View Source
const (
	CI_WORKFLOW_NAME           = "ci"
	CI_WORKFLOW_WITH_STAGES    = "ci-stages-with-env"
	CiStage                    = "CI"
	JobStage                   = "JOB"
	CdStage                    = "CD"
	CD_WORKFLOW_NAME           = "cd"
	CD_WORKFLOW_WITH_STAGES    = "cd-stages-with-env"
	WorkflowGenerateNamePrefix = "devtron.ai/generate-name-prefix"
)
View Source
const (
	VULNERABILITY_SCANNING_PLUGIN string = "Vulnerability Scanning"

	NotTriggered       string = "Not Triggered"
	NotDeployed               = "Not Deployed"
	WorkflowTypeDeploy        = "DEPLOY"
	WorkflowTypePre           = "PRE"
	WorkflowTypePost          = "POST"
)
View Source
const IMAGE_SCANNER_ENDPOINT = "IMAGE_SCANNER_ENDPOINT"

Variables

View Source
var (
	ErrImagePathInUse = fmt.Errorf(ImageTagUnavailableMessage)
)

Functions

func ConvertToEncodedForm added in v0.6.18

func ConvertToEncodedForm(data map[string]string) ([]byte, error)

ConvertToEncodedForm Function to encode the values in the input map values

Types

type ApplicationMetadata added in v1.4.0

type ApplicationMetadata struct {
	Source      Source      `json:"source"`
	Destination Destination `json:"destination"`
	Status      string      `json:"status"`
}

func NewEmptyApplicationMetadata added in v1.4.0

func NewEmptyApplicationMetadata() ApplicationMetadata

func (*ApplicationMetadata) GetRequiredChartName added in v1.4.0

func (a *ApplicationMetadata) GetRequiredChartName() string

func (*ApplicationMetadata) GetRequiredChartVersion added in v1.4.0

func (a *ApplicationMetadata) GetRequiredChartVersion() string

func (*ApplicationMetadata) GetSavedChartName added in v1.4.0

func (a *ApplicationMetadata) GetSavedChartName() string

func (*ApplicationMetadata) GetTargetClusterNamespace added in v1.4.0

func (a *ApplicationMetadata) GetTargetClusterNamespace() string

func (*ApplicationMetadata) GetTargetClusterURL added in v1.4.0

func (a *ApplicationMetadata) GetTargetClusterURL() string

func (*ApplicationMetadata) UpdateApplicationSpecData added in v1.4.0

func (a *ApplicationMetadata) UpdateApplicationSpecData(argoApplicationSpec *v1alpha1.Application)

func (*ApplicationMetadata) UpdateChartRefData added in v1.4.0

func (a *ApplicationMetadata) UpdateChartRefData(chartRef *bean2.ChartRefDto)

func (*ApplicationMetadata) UpdateClusterData added in v1.4.0

func (a *ApplicationMetadata) UpdateClusterData(cluster *bean.ClusterBean)

func (*ApplicationMetadata) UpdateEnvironmentData added in v1.4.0

func (a *ApplicationMetadata) UpdateEnvironmentData(env *repository.Environment)

func (*ApplicationMetadata) UpdateHelmChartData added in v1.4.0

func (a *ApplicationMetadata) UpdateHelmChartData(chart *chart2.Chart)

func (*ApplicationMetadata) UpdateTargetClusterName added in v1.4.0

func (a *ApplicationMetadata) UpdateTargetClusterName(clusterName string)

func (*ApplicationMetadata) UpdateTargetClusterURL added in v1.4.0

func (a *ApplicationMetadata) UpdateTargetClusterURL(clusterURL string)

type ApplicationMetadataRequest added in v1.4.0

type ApplicationMetadataRequest struct {
	ApplicationObjectClusterId int    `json:"applicationObjectClusterId"`
	ApplicationObjectNamespace string `json:"applicationObjectNamespace"`
}

type BuildPrePostStepDataRequest added in v1.1.0

type BuildPrePostStepDataRequest struct {
	PipelineId int
	StageType  string
	Scope      resourceQualifiers.Scope
}

BuildPrePostStepDataRequest is a request object for func BuildPrePostAndRefPluginStepsDataForWfRequest

func NewBuildPrePostStepDataReq added in v1.1.0

func NewBuildPrePostStepDataReq(pipelineId int, stageType string, scope resourceQualifiers.Scope) *BuildPrePostStepDataRequest

NewBuildPrePostStepDataReq creates a new BuildPrePostStepDataRequest object

type BulkPatchFilter added in v0.6.22

type BulkPatchFilter struct {
	AppNameIncludes string `json:"appNameIncludes,omitempty"`
	AppNameExcludes string `json:"appNameExcludes,omitempty"`
	EnvId           int    `json:"envId,omitempty"`
}

type BulkPatchPayload added in v0.6.22

type BulkPatchPayload struct {
	AppId int `json:"appId"`
	EnvId int `json:"envId"`
}

type BulkPatchRequest added in v0.6.22

type BulkPatchRequest struct {
	Payload     []*BulkPatchPayload `json:"payload"`
	Filter      *BulkPatchFilter    `json:"filter,omitempty"`
	ProjectId   int                 `json:"projectId"`
	Global      bool                `json:"global"`
	Type        string              `json:"type"`
	Name        string              `json:"name"`
	Key         string              `json:"key"`
	Value       string              `json:"value"`
	PatchAction int                 `json:"patchAction"` // 1=add, 2=update, 0=delete
	UserId      int32               `json:"-"`
}

type CdWorkflowWithArtifact added in v1.0.0

type CdWorkflowWithArtifact struct {
	Id                     int                                         `json:"id"`
	CdWorkflowId           int                                         `json:"cd_workflow_id"`
	Name                   string                                      `json:"name"`
	Status                 string                                      `json:"status"`
	PodStatus              string                                      `json:"pod_status"`
	Message                string                                      `json:"message"`
	StartedOn              time.Time                                   `json:"started_on"`
	FinishedOn             time.Time                                   `json:"finished_on"`
	PipelineId             int                                         `json:"pipeline_id"`
	Namespace              string                                      `json:"namespace"`
	LogFilePath            string                                      `json:"log_file_path"`
	TriggeredBy            int32                                       `json:"triggered_by"`
	EmailId                string                                      `json:"email_id"`
	Image                  string                                      `json:"image"`
	TargetPlatforms        []*bean.TargetPlatform                      `json:"targetPlatforms"`
	MaterialInfo           string                                      `json:"material_info,omitempty"`
	DataSource             string                                      `json:"data_source,omitempty"`
	CiArtifactId           int                                         `json:"ci_artifact_id,omitempty"`
	IsArtifactUploaded     bool                                        `json:"isArtifactUploaded"`
	WorkflowType           string                                      `json:"workflow_type,omitempty"`
	ExecutorType           string                                      `json:"executor_type,omitempty"`
	BlobStorageEnabled     bool                                        `json:"blobStorageEnabled"`
	GitTriggers            map[int]pipelineConfig.GitCommit            `json:"gitTriggers"`
	CiMaterials            []pipelineConfig.CiPipelineMaterialResponse `json:"ciMaterials"`
	ImageReleaseTags       []*repository.ImageTag                      `json:"imageReleaseTags"`
	ImageComment           *repository.ImageComment                    `json:"imageComment"`
	RefCdWorkflowRunnerId  int                                         `json:"referenceCdWorkflowRunnerId"`
	WorkflowExecutionStage map[string][]*bean2.WorkflowStageDto        `json:"workflowExecutionStages"`
}

type ChartMetadata added in v1.4.0

type ChartMetadata struct {
	RequiredChartVersion string `json:"requiredChartVersion"`
	SavedChartName       string `json:"savedChartName"`
	ValuesFilename       string `json:"valuesFilename"`
	RequiredChartName    string `json:"requiredChartName"`
}

type CiProjectDetails added in v0.6.24

type CiProjectDetails struct {
	GitRepository   string `json:"gitRepository"`
	MaterialName    string `json:"materialName"`
	CheckoutPath    string `json:"checkoutPath"`
	FetchSubmodules bool   `json:"fetchSubmodules"`
	CommitHash      string `json:"commitHash"`
	GitTag          string `json:"gitTag"`
	CommitTime      string `json:"commitTime"`
	//Branch        string          `json:"branch"`
	Type        string               `json:"type"`
	Message     string               `json:"message"`
	Author      string               `json:"author"`
	GitOptions  GitOptions           `json:"gitOptions"`
	SourceType  constants.SourceType `json:"sourceType"`
	SourceValue string               `json:"sourceValue"`
	WebhookData pipelineConfig.WebhookData
}

type CmBlobStorageConfig added in v0.6.25

type CmBlobStorageConfig struct {
	//AWS credentials
	CloudProvider               blob_storage.BlobStorageType `json:"BLOB_STORAGE_PROVIDER"`
	S3AccessKey                 string                       `json:"BLOB_STORAGE_S3_ACCESS_KEY"`
	S3Endpoint                  string                       `json:"BLOB_STORAGE_S3_ENDPOINT"`
	S3EndpointInsecure          string                       `json:"BLOB_STORAGE_S3_ENDPOINT_INSECURE"`
	S3BucketVersioned           string                       `json:"BLOB_STORAGE_S3_BUCKET_VERSIONED"`
	CdDefaultBuildLogsBucket    string                       `json:"DEFAULT_BUILD_LOGS_BUCKET" `
	CdDefaultCdLogsBucketRegion string                       `json:"DEFAULT_CD_LOGS_BUCKET_REGION" `
	DefaultCacheBucket          string                       `json:"DEFAULT_CACHE_BUCKET"`
	DefaultCacheBucketRegion    string                       `json:"DEFAULT_CACHE_BUCKET_REGION"`

	//Azure credentials
	AzureAccountName               string `json:"AZURE_ACCOUNT_NAME"`
	AzureGatewayUrl                string `json:"AZURE_GATEWAY_URL"`
	AzureGatewayConnectionInsecure string `json:"AZURE_GATEWAY_CONNECTION_INSECURE"`
	AzureBlobContainerCiLog        string `json:"AZURE_BLOB_CONTAINER_CI_LOG"`
	AzureBlobContainerCiCache      string `json:"AZURE_BLOB_CONTAINER_CI_CACHE"`
}

func (*CmBlobStorageConfig) SetCmBlobStorageConfig added in v0.6.25

func (c *CmBlobStorageConfig) SetCmBlobStorageConfig(cm map[string]string) error

type CommandArgsMap

type CommandArgsMap struct {
	Command string   `json:"command"`
	Args    []string `json:"args"`
}

type ConditionDetailDto

type ConditionDetailDto struct {
	Id                  int                                       `json:"id"`
	ConditionOnVariable string                                    `json:"conditionOnVariable"` //name of variable on which condition is written
	ConditionType       repository.PipelineStageStepConditionType `json:"conditionType" validate:"oneof=SKIP TRIGGER FAIL PASS"`
	ConditionalOperator string                                    `json:"conditionOperator"`
	ConditionalValue    string                                    `json:"conditionalValue"`
}

type ConditionObject

type ConditionObject struct {
	ConditionType       string `json:"conditionType"`       //TRIGGER, SKIP, SUCCESS, FAIL
	ConditionOnVariable string `json:"conditionOnVariable"` //name of variable
	ConditionalOperator string `json:"conditionalOperator"`
	ConditionalValue    string `json:"conditionalValue"`
}

type ConfigData added in v0.6.22

type ConfigData struct {
	Name                  string               `json:"name"`
	Type                  string               `json:"type"`
	External              bool                 `json:"external"`
	MountPath             string               `json:"mountPath,omitempty"`
	Data                  json.RawMessage      `json:"data"`
	PatchData             json.RawMessage      `json:"patchData"`
	MergeStrategy         models.MergeStrategy `json:"mergeStrategy"`
	DefaultData           json.RawMessage      `json:"defaultData,omitempty"`
	DefaultMountPath      string               `json:"defaultMountPath,omitempty"`
	Global                bool                 `json:"global"`
	ExternalSecretType    string               `json:"externalType"`
	ESOSecretData         ESOSecretData        `json:"esoSecretData"`
	DefaultESOSecretData  ESOSecretData        `json:"defaultESOSecretData,omitempty"`
	ExternalSecret        []ExternalSecret     `json:"secretData"`
	DefaultExternalSecret []ExternalSecret     `json:"defaultSecretData,omitempty"`
	RoleARN               string               `json:"roleARN"`
	SubPath               bool                 `json:"subPath"`
	ESOSubPath            []string             `json:"esoSubPath"`
	FilePermission        string               `json:"filePermission"`
	Overridden            bool                 `json:"overridden"`
}

func (*ConfigData) IsESOExternalSecretType added in v1.0.0

func (c *ConfigData) IsESOExternalSecretType() bool

type ConfigDataRequest added in v0.6.22

type ConfigDataRequest struct {
	Id            int           `json:"id"`
	AppId         int           `json:"appId"`
	EnvironmentId int           `json:"environmentId,omitempty"`
	ConfigData    []*ConfigData `json:"configData"`
	Deletable     bool          `json:"isDeletable"`
	UserId        int32         `json:"-"`
}

type ConfigNameAndType added in v0.7.3

type ConfigNameAndType struct {
	Id   int
	Name string
	Type ResourceType
}

type ConfigsList added in v1.0.0

type ConfigsList struct {
	ConfigData []*ConfigData `json:"maps"`
}

type ContainerResources added in v0.6.24

type ContainerResources struct {
	MinCpu        string `json:"minCpu"`
	MaxCpu        string `json:"maxCpu"`
	MinStorage    string `json:"minStorage"`
	MaxStorage    string `json:"maxStorage"`
	MinEphStorage string `json:"minEphStorage"`
	MaxEphStorage string `json:"maxEphStorage"`
	MinMem        string `json:"minMem"`
	MaxMem        string `json:"maxMem"`
}

type CreateJobEnvOverridePayload added in v0.6.22

type CreateJobEnvOverridePayload struct {
	AppId  int   `json:"appId"`
	EnvId  int   `json:"envId"`
	UserId int32 `json:"-"`
}

type CustomTagArrayResponse added in v0.7.2

type CustomTagArrayResponse map[int]map[string]*repository.CustomTag

func (CustomTagArrayResponse) GetCustomTagForEntityKey added in v0.7.2

func (resp CustomTagArrayResponse) GetCustomTagForEntityKey(entityKey int, entityValue string) *repository.CustomTag

type DeploymentConfigMetadata added in v1.5.0

type DeploymentConfigMetadata struct {
	AppId        int
	EnvId        int
	ResourceName string // if base then BaseDeploymentTemplate or if at env level{envName-DeploymentTemplateOverride}
}

type Destination added in v1.4.0

type Destination struct {
	ClusterName      string `json:"clusterName"`
	ClusterServerUrl string `json:"clusterServerUrl"`
	Namespace        string `json:"namespace"`
	EnvironmentName  string `json:"environmentName"`
	EnvironmentId    int    `json:"environmentId"`
}

type ESOData added in v0.6.22

type ESOData struct {
	SecretKey string `json:"secretKey"`
	Key       string `json:"key"`
	Property  string `json:"property,omitempty"`
}

type ESOSecretData added in v0.6.22

type ESOSecretData struct {
	SecretStore     json.RawMessage `json:"secretStore,omitempty"`
	SecretStoreRef  json.RawMessage `json:"secretStoreRef,omitempty"`
	ESOData         []ESOData       `json:"esoData,omitempty"`
	RefreshInterval string          `json:"refreshInterval,omitempty"`
	ESODataFrom     json.RawMessage `json:"esoDataFrom,omitempty"`
	Template        json.RawMessage `json:"template,omitempty"`
}

type EnvironmentOverrideCreateInternalDTO added in v1.1.0

type EnvironmentOverrideCreateInternalDTO struct {
	Chart                                              *chartRepoRepository.Chart
	EnvironmentId                                      int
	UserId                                             int32
	ManualReviewed                                     bool
	ChartStatus                                        models.ChartStatus
	IsOverride, IsAppMetricsEnabled, IsBasicViewLocked bool
	Namespace                                          string
	CurrentViewEditor                                  models.ChartsViewEditorType
	MergeStrategy                                      models.MergeStrategy
}

type EnvironmentProperties added in v0.6.22

type EnvironmentProperties struct {
	Id                int                         `json:"id"`
	EnvOverrideValues json.RawMessage             `json:"envOverrideValues"`
	Status            models.ChartStatus          `json:"status" validate:"number,required"` //default new, when its ready for deployment CHARTSTATUS_SUCCESS
	ManualReviewed    bool                        `json:"manualReviewed" validate:"required"`
	Active            bool                        `json:"active" validate:"required"`
	Namespace         string                      `json:"namespace"`
	EnvironmentId     int                         `json:"environmentId"`
	EnvironmentName   string                      `json:"environmentName"`
	Latest            bool                        `json:"latest"`
	UserId            int32                       `json:"-"`
	AppMetrics        *bool                       `json:"isAppMetricsEnabled"`
	ChartRefId        int                         `json:"chartRefId,omitempty"  validate:"number"`
	IsOverride        bool                        `sql:"isOverride"`
	IsBasicViewLocked bool                        `json:"isBasicViewLocked"`
	CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor"` //default "UNDEFINED" in db
	Description       string                      `json:"description" validate:"max=40"`
	ClusterId         int                         `json:"clusterId"`
	MergeStrategy     models.MergeStrategy        `json:"mergeStrategy"`
	MigratedFrom      *bean.ExternalReleaseType   `json:"migratedFrom,omitempty"`
	AppId             int                         `json:"appId"`
}

type EnvironmentPropertiesResponse added in v0.6.22

type EnvironmentPropertiesResponse struct {
	EnvironmentConfig EnvironmentProperties `json:"environmentConfig"`
	GlobalConfig      json.RawMessage       `json:"globalConfig"`
	AppMetrics        *bool                 `json:"appMetrics"`
	IsOverride        bool                  `sql:"is_override"`
	GlobalChartRefId  int                   `json:"globalChartRefId,omitempty"  validate:"number"`
	ChartRefId        int                   `json:"chartRefId,omitempty"  validate:"number"`
	Namespace         string                `json:"namespace" validate:"name-space-component"`
	Schema            json.RawMessage       `json:"schema"`
	Readme            string                `json:"readme"`
}

type ErrorDetail added in v1.4.0

type ErrorDetail struct {
	ValidationFailedReason  LinkFailedReason `json:"validationFailedReason"`
	ValidationFailedMessage string           `json:"validationFailedMessage"`
}

type ExternalAppLinkValidationResponse added in v1.4.0

type ExternalAppLinkValidationResponse struct {
	IsLinkable          bool                `json:"isLinkable"`
	ErrorDetail         *ErrorDetail        `json:"errorDetail"`
	ApplicationMetadata ApplicationMetadata `json:"applicationMetadata"`
	HelmReleaseMetadata HelmReleaseMetadata `json:"helmReleaseMetadata"`
}

func (*ExternalAppLinkValidationResponse) SetErrorDetail added in v1.4.0

func (*ExternalAppLinkValidationResponse) SetUnknownErrorDetail added in v1.4.0

type ExternalSecret added in v0.6.22

type ExternalSecret struct {
	Key      string `json:"key"`
	Name     string `json:"name"`
	Property string `json:"property,omitempty"`
	IsBinary bool   `json:"isBinary"`
}

type GitOptions added in v0.6.24

type GitOptions struct {
	UserName              string             `json:"userName"`
	Password              string             `json:"password"`
	SshPrivateKey         string             `json:"sshPrivateKey"`
	AccessToken           string             `json:"accessToken"`
	AuthMode              constants.AuthMode `json:"authMode"`
	TlsKey                string             `json:"tlsKey"`
	TlsCert               string             `json:"tlsCert"`
	CaCert                string             `json:"caCert"`
	EnableTLSVerification bool               `json:"enableTLSVerification"`
}

type GlobalCMCSDto added in v0.6.17

type GlobalCMCSDto struct {
	Id         int    `json:"id"`
	ConfigType string `json:"configType" validate:"oneof=CONFIGMAP SECRET"`
	Name       string `json:"name"  validate:"required"`
	Type       string `json:"type" validate:"oneof=environment volume"`
	//map of key:value, example: '{ "a" : "b", "c" : "d"}'
	Data               map[string]string `json:"data"  validate:"required"`
	MountPath          string            `json:"mountPath"`
	Deleted            bool              `json:"deleted"`
	UserId             int32             `json:"-"`
	SecretIngestionFor string            `json:"SecretIngestionFor"` // value can be one of [ci, cd, ci/cd]
}

func (GlobalCMCSDto) ConvertToConfigSecretMap added in v0.6.17

func (dto GlobalCMCSDto) ConvertToConfigSecretMap() (bean.ConfigSecretMap, error)

type HelmReleaseChart added in v1.4.0

type HelmReleaseChart struct {
	HelmReleaseChartMetadata HelmReleaseChartMetadata `json:"metadata"`
}

type HelmReleaseChartMetadata added in v1.4.0

type HelmReleaseChartMetadata struct {
	RequiredChartName    string `json:"requiredChartName"`
	SavedChartName       string `json:"savedChartName"`
	Home                 string `json:"home"`
	RequiredChartVersion string `json:"requiredChartVersion"`
	Icon                 string `json:"icon"`
	ApiVersion           string `json:"apiVersion"`
	Deprecated           bool   `json:"deprecated"`
}

type HelmReleaseInfo added in v1.4.0

type HelmReleaseInfo struct {
	Status string `json:"status"`
}

type HelmReleaseMetadata added in v1.4.0

type HelmReleaseMetadata struct {
	Name        string           `json:"name"`
	Info        HelmReleaseInfo  `json:"info"`
	Chart       HelmReleaseChart `json:"chart"`
	Destination Destination      `json:"destination"`
}

func (*HelmReleaseMetadata) UpdateChartRefData added in v1.4.0

func (r *HelmReleaseMetadata) UpdateChartRefData(chartRef *bean2.ChartRefDto)

func (*HelmReleaseMetadata) UpdateClusterData added in v1.4.0

func (r *HelmReleaseMetadata) UpdateClusterData(cluster *bean.ClusterBean)

func (*HelmReleaseMetadata) UpdateEnvironmentMetadata added in v1.4.0

func (r *HelmReleaseMetadata) UpdateEnvironmentMetadata(environment *repository.Environment)

func (*HelmReleaseMetadata) UpdateReleaseData added in v1.4.0

func (r *HelmReleaseMetadata) UpdateReleaseData(release *gRPC.DeployedAppDetail)

type HelmReleaseMetadataRequest added in v1.4.0

type HelmReleaseMetadataRequest struct {
	ReleaseClusterId int    `json:"releaseClusterId"`
	ReleaseNamespace string `json:"releaseNamespace"`
}

type InlineStepDetailDto

type InlineStepDetailDto struct {
	ScriptType               repository2.ScriptType                `json:"scriptType" validate:"omitempty,oneof=SHELL DOCKERFILE CONTAINER_IMAGE"`
	Script                   string                                `json:"script"`
	StoreScriptAt            string                                `json:"storeScriptAt"`
	DockerfileExists         bool                                  `json:"dockerfileExists,omitempty"`
	MountPath                string                                `json:"mountPath,omitempty"`
	MountCodeToContainer     bool                                  `json:"mountCodeToContainer,omitempty"`
	MountCodeToContainerPath string                                `json:"mountCodeToContainerPath,omitempty"`
	MountDirectoryFromHost   bool                                  `json:"mountDirectoryFromHost"`
	ContainerImagePath       string                                `json:"containerImagePath,omitempty"`
	ImagePullSecretType      repository2.ScriptImagePullSecretType `json:"imagePullSecretType,omitempty" validate:"omitempty,oneof=CONTAINER_REGISTRY SECRET_PATH"`
	ImagePullSecret          string                                `json:"imagePullSecret,omitempty"`
	MountPathMap             []*MountPathMap                       `json:"mountPathMap,omitempty" validate:"omitempty,dive"`
	CommandArgsMap           []*CommandArgsMap                     `json:"commandArgsMap,omitempty" validate:"omitempty,dive"`
	PortMap                  []*PortMap                            `json:"portMap,omitempty" validate:"omitempty,dive"`
	InputVariables           []*StepVariableDto                    `json:"inputVariables" validate:"dive"`
	OutputVariables          []*StepVariableDto                    `json:"outputVariables" validate:"dive"`
	ConditionDetails         []*ConditionDetailDto                 `json:"conditionDetails" validate:"dive"`
}

type JobEnvOverrideResponse added in v0.6.22

type JobEnvOverrideResponse struct {
	Id              int    `json:"id"`
	AppId           int    `json:"appId"`
	EnvironmentId   int    `json:"environmentId,omitempty"`
	EnvironmentName string `json:"environmentName,omitempty"`
}

type LimitReqCpuMem added in v0.6.24

type LimitReqCpuMem struct {
	LimitCpu string
	LimitMem string
	ReqCpu   string
	ReqMem   string
}

type LinkFailedError added in v1.4.0

type LinkFailedError struct {
	Reason      LinkFailedReason
	UserMessage string
}

func (LinkFailedError) Error added in v1.4.0

func (l LinkFailedError) Error() string

type LinkFailedReason added in v1.4.0

type LinkFailedReason string
const (
	ClusterNotFound                      LinkFailedReason = "ClusterNotFound"
	EnvironmentNotFound                  LinkFailedReason = "EnvironmentNotFound"
	ApplicationAlreadyPresent            LinkFailedReason = "ApplicationAlreadyPresent"
	UnsupportedApplicationSpec           LinkFailedReason = "UnsupportedApplicationSpec"
	ChartTypeMismatch                    LinkFailedReason = "ChartTypeMismatch"
	ChartVersionNotFound                 LinkFailedReason = "ChartVersionNotFound"
	GitOpsNotFound                       LinkFailedReason = "GitOpsNotFound"
	GitOpsOrganisationMismatch           LinkFailedReason = "GitOpsOrganisationMismatch"
	GitOpsRepoUrlAlreadyUsedInAnotherApp LinkFailedReason = "GitOpsRepoUrlAlreadyUsedInAnotherApp"
	InternalServerError                  LinkFailedReason = "InternalServerError"
	EnvironmentAlreadyPresent            LinkFailedReason = "EnvironmentAlreadyPresent"
	EnforcedPolicyViolation              LinkFailedReason = "EnforcedPolicyViolation"
)

type MigrateReleaseValidationRequest added in v1.4.0

type MigrateReleaseValidationRequest struct {
	AppId                      int                        `json:"appId"`
	DeploymentAppName          string                     `json:"deploymentAppName"`
	DeploymentAppType          string                     `json:"deploymentAppType"`
	ApplicationMetadataRequest ApplicationMetadataRequest `json:"applicationMetadata"`
	HelmReleaseMetadataRequest HelmReleaseMetadataRequest `json:"helmReleaseMetadata"`
}

func (MigrateReleaseValidationRequest) GetReleaseClusterId added in v1.4.0

func (h MigrateReleaseValidationRequest) GetReleaseClusterId() int

func (MigrateReleaseValidationRequest) GetReleaseNamespace added in v1.4.0

func (h MigrateReleaseValidationRequest) GetReleaseNamespace() string

type MountPath

type MountPath struct {
	SourcePath      string `json:"sourcePath"`
	DestinationPath string `json:"destinationPath"`
}

type MountPathMap

type MountPathMap struct {
	FilePathOnDisk      string `json:"filePathOnDisk"`
	FilePathOnContainer string `json:"filePathOnContainer"`
}

type NodeConstraints added in v0.6.24

type NodeConstraints struct {
	ServiceAccount   string
	TaintKey         string
	TaintValue       string
	NodeLabel        map[string]string
	SkipNodeSelector bool
}

type PipelineStageDto

type PipelineStageDto struct {
	Id          int                          `json:"id"`
	Name        string                       `json:"name,omitempty"`
	Description string                       `json:"description,omitempty"`
	Type        repository.PipelineStageType `json:"type,omitempty" validate:"omitempty,oneof=PRE_CI POST_CI PRE_CD POST_CD"`
	Steps       []*PipelineStageStepDto      `json:"steps"`
	TriggerType pipelineConfig.TriggerType   `json:"triggerType,omitempty"`
}

type PipelineStageStepDto

type PipelineStageStepDto struct {
	Id                       int                         `json:"id"`
	Name                     string                      `json:"name" validate:"required"`
	Description              string                      `json:"description"`
	Index                    int                         `json:"index"`
	StepType                 repository.PipelineStepType `json:"stepType" validate:"omitempty,oneof=INLINE REF_PLUGIN"`
	OutputDirectoryPath      []string                    `json:"outputDirectoryPath"`
	InlineStepDetail         *InlineStepDetailDto        `json:"inlineStepDetail" validate:"omitempty,dive"`
	RefPluginStepDetail      *RefPluginStepDetailDto     `json:"pluginRefStepDetail" validate:"omitempty,dive"`
	TriggerIfParentStageFail bool                        `json:"triggerIfParentStageFail"`
}

type PortMap

type PortMap struct {
	PortOnLocal     int `json:"portOnLocal" validate:"number,gt=0"`
	PortOnContainer int `json:"portOnContainer" validate:"number,gt=0"`
}

type PrePostAndRefPluginStepsResponse added in v0.6.24

type PrePostAndRefPluginStepsResponse struct {
	PreStageSteps    []*StepObject
	PostStageSteps   []*StepObject
	RefPluginData    []*RefPluginObject
	VariableSnapshot map[string]string
}

type RefPluginObject

type RefPluginObject struct {
	Id    int           `json:"id"`
	Steps []*StepObject `json:"steps"`
}

type RefPluginStepDetailDto

type RefPluginStepDetailDto struct {
	PluginId         int                   `json:"pluginId"`
	InputVariables   []*StepVariableDto    `json:"inputVariables"`
	OutputVariables  []*StepVariableDto    `json:"outputVariables"`
	ConditionDetails []*ConditionDetailDto `json:"conditionDetails"`
}

type ResolvedCmCsRequest added in v1.2.2

type ResolvedCmCsRequest struct {
	Scope resourceQualifiers.Scope
	AppId int
	EnvId int
	IsJob bool
}

func NewResolvedCmCsRequest added in v1.2.2

func NewResolvedCmCsRequest(scope resourceQualifiers.Scope) *ResolvedCmCsRequest

func (*ResolvedCmCsRequest) ForJob added in v1.2.2

func (r *ResolvedCmCsRequest) ForJob(isJob bool) *ResolvedCmCsRequest

func (*ResolvedCmCsRequest) WithAppId added in v1.2.2

func (r *ResolvedCmCsRequest) WithAppId(appId int) *ResolvedCmCsRequest

func (*ResolvedCmCsRequest) WithEnvId added in v1.2.2

func (r *ResolvedCmCsRequest) WithEnvId(envId int) *ResolvedCmCsRequest

type ResourceType added in v0.7.3

type ResourceType string
const (
	CM                 ResourceType = "ConfigMap"
	CS                 ResourceType = "Secret"
	DeploymentTemplate ResourceType = "Deployment Template"
	PipelineStrategy   ResourceType = "Pipeline Strategy"
)

func (ResourceType) IsCM added in v1.5.0

func (r ResourceType) IsCM() bool

func (ResourceType) IsCS added in v1.5.0

func (r ResourceType) IsCS() bool

func (ResourceType) ToString added in v0.7.3

func (r ResourceType) ToString() string

type SecretBlobStorageConfig added in v0.6.25

type SecretBlobStorageConfig struct {
	//aws
	S3SecretKey string `json:"BLOB_STORAGE_S3_SECRET_KEY"`
	//gcp
	GcpBlobStorageCredentialJson string `json:"BLOB_STORAGE_GCP_CREDENTIALS_JSON"`
	//azure
	AzureAccountKey string `json:"AZURE_ACCOUNT_KEY"`
}

func (*SecretBlobStorageConfig) SetSecretBlobStorageConfig added in v0.6.25

func (s *SecretBlobStorageConfig) SetSecretBlobStorageConfig(secret map[string][]byte) error

input secret data contains encoded bytes

type SecretsList added in v0.6.26

type SecretsList struct {
	ConfigData []*ConfigData `json:"secrets"`
}

type Source added in v1.4.0

type Source struct {
	RepoURL       string        `json:"repoURL"`
	ChartPath     string        `json:"chartPath"`
	ChartMetadata ChartMetadata `json:"chartMetadata"`
}

type StepObject

type StepObject struct {
	Name                     string                       `json:"name"`
	Index                    int                          `json:"index"`
	StepType                 string                       `json:"stepType"`               // REF_PLUGIN or INLINE
	ExecutorType             string                       `json:"executorType,omitempty"` //SHELL, DOCKERFILE, CONTAINER_IMAGE
	RefPluginId              int                          `json:"refPluginId,omitempty"`
	Script                   string                       `json:"script,omitempty"`
	InputVars                []*commonBean.VariableObject `json:"inputVars"`
	ExposedPorts             map[int]int                  `json:"exposedPorts"` //map of host:container
	OutputVars               []*commonBean.VariableObject `json:"outputVars"`
	TriggerSkipConditions    []*ConditionObject           `json:"triggerSkipConditions"`
	SuccessFailureConditions []*ConditionObject           `json:"successFailureConditions"`
	DockerImage              string                       `json:"dockerImage"`
	Command                  string                       `json:"command"`
	Args                     []string                     `json:"args"`
	CustomScriptMount        *MountPath                   `json:"customScriptMount"` // destination path - storeScriptAt
	SourceCodeMount          *MountPath                   `json:"sourceCodeMount"`   // destination path - mountCodeToContainerPath
	ExtraVolumeMounts        []*MountPath                 `json:"extraVolumeMounts"` // filePathMapping
	ArtifactPaths            []string                     `json:"artifactPaths"`
	TriggerIfParentStageFail bool                         `json:"triggerIfParentStageFail"`
}

type StepVariableDto

type StepVariableDto struct {
	Id              int                                            `json:"id"`
	Name            string                                         `json:"name" validate:"required"`
	Format          repository.PipelineStageStepVariableFormatType `json:"format" validate:"oneof=STRING NUMBER BOOL DATE FILE"`
	Description     string                                         `json:"description"`
	AllowEmptyValue bool                                           `json:"allowEmptyValue,omitempty"`
	DefaultValue    string                                         `json:"defaultValue,omitempty"`
	Value           string                                         `json:"value"`
	// ValueType – Ideally it should have json tag `valueType` instead of `variableType`
	ValueType                 repository.PipelineStageStepVariableValueType `json:"variableType,omitempty" validate:"oneof=NEW FROM_PREVIOUS_STEP GLOBAL"`
	PreviousStepIndex         int                                           `json:"refVariableStepIndex,omitempty"`
	ReferenceVariableName     string                                        `json:"refVariableName,omitempty"`
	VariableStepIndexInPlugin int                                           `json:"variableStepIndexInPlugin,omitempty"`
	ReferenceVariableStage    repository.PipelineStageType                  `json:"refVariableStage,omitempty" validate:"omitempty,oneof=PRE_CI POST_CI PRE_CD POST_CD"`
	StepVariableEntDto
}

StepVariableDto is used to define the input/output variables for a step TODO: duplicate definition found - bean.PluginVariableDto. Have multiple conflicting fields with bean.PluginVariableDto.

func (*StepVariableDto) GetValue added in v1.1.0

func (s *StepVariableDto) GetValue() string

func (*StepVariableDto) IsEmptyValue added in v1.1.0

func (s *StepVariableDto) IsEmptyValue() bool

func (*StepVariableDto) IsEmptyValueAllowed added in v1.1.0

func (s *StepVariableDto) IsEmptyValueAllowed(isTriggerStage bool) bool

type StepVariableEntDto added in v1.1.0

type StepVariableEntDto struct {
}

type VariableAndConditionDataForStep added in v1.1.0

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

func NewVariableAndConditionDataForStep added in v1.1.0

func NewVariableAndConditionDataForStep() *VariableAndConditionDataForStep

func (*VariableAndConditionDataForStep) AddInputVariable added in v1.1.0

func (*VariableAndConditionDataForStep) AddOutputVariable added in v1.1.0

func (*VariableAndConditionDataForStep) AddSuccessFailureCondition added in v1.1.0

func (v *VariableAndConditionDataForStep) AddSuccessFailureCondition(condition *ConditionObject) *VariableAndConditionDataForStep

func (*VariableAndConditionDataForStep) AddTriggerSkipCondition added in v1.1.0

func (*VariableAndConditionDataForStep) GetInputVariables added in v1.1.0

func (v *VariableAndConditionDataForStep) GetInputVariables() []*commonBean.VariableObject

func (*VariableAndConditionDataForStep) GetOutputVariables added in v1.1.0

func (v *VariableAndConditionDataForStep) GetOutputVariables() []*commonBean.VariableObject

func (*VariableAndConditionDataForStep) GetSuccessFailureConditions added in v1.1.0

func (v *VariableAndConditionDataForStep) GetSuccessFailureConditions() []*ConditionObject

func (*VariableAndConditionDataForStep) GetTriggerSkipConditions added in v1.1.0

func (v *VariableAndConditionDataForStep) GetTriggerSkipConditions() []*ConditionObject

type WorkflowPipelineType added in v0.6.24

type WorkflowPipelineType string
const (
	CI_WORKFLOW_PIPELINE_TYPE  WorkflowPipelineType = "CI"
	CD_WORKFLOW_PIPELINE_TYPE  WorkflowPipelineType = "CD"
	JOB_WORKFLOW_PIPELINE_TYPE WorkflowPipelineType = "JOB"
)

type WorkflowTemplate added in v0.6.17

type WorkflowTemplate struct {
	WorkflowId       int
	WorkflowRunnerId int
	v1.PodSpec
	ConfigMaps             []bean.ConfigSecretMap
	Secrets                []bean.ConfigSecretMap
	TTLValue               *int32
	WorkflowRequestJson    string
	WorkflowNamePrefix     string
	WfControllerInstanceID string
	ClusterConfig          *rest.Config
	Namespace              string
	ArchiveLogs            bool
	BlobStorageConfigured  bool
	BlobStorageS3Config    *blob_storage.BlobStorageS3Config
	CloudProvider          blob_storage.BlobStorageType
	AzureBlobConfig        *blob_storage.AzureBlobConfig
	GcpBlobConfig          *blob_storage.GcpBlobConfig
	CloudStorageKey        string
	PrePostDeploySteps     []*StepObject
	RefPlugins             []*RefPluginObject
	TerminationGracePeriod int
	WorkflowType           string
}

func (*WorkflowTemplate) CreateObjectMetadata added in v0.6.24

func (workflowTemplate *WorkflowTemplate) CreateObjectMetadata() *v12.ObjectMeta

func (*WorkflowTemplate) GetEntrypoint added in v0.6.24

func (workflowTemplate *WorkflowTemplate) GetEntrypoint() string

func (*WorkflowTemplate) SetActiveDeadlineSeconds added in v1.2.1

func (workflowTemplate *WorkflowTemplate) SetActiveDeadlineSeconds(timeout int64)

Jump to

Keyboard shortcuts

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