bean

package
v0.6.24 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2023 License: Apache-2.0 Imports: 8 Imported by: 22

Documentation

Index

Constants

View Source
const (
	LayoutISO     = "2006-01-02 15:04:05"
	LayoutUS      = "January 2, 2006 15:04:05"
	LayoutRFC3339 = "2006-01-02T15:04:05Z07:00"
)
View Source
const (
	CASCADE_DELETE int = iota
	NON_CASCADE_DELETE
	FORCE_DELETE
)
View Source
const (
	WEBHOOK_SELECTOR_UNIQUE_ID_NAME          string = "unique id"
	WEBHOOK_SELECTOR_REPOSITORY_URL_NAME     string = "repository url"
	WEBHOOK_SELECTOR_HEADER_NAME             string = "header"
	WEBHOOK_SELECTOR_GIT_URL_NAME            string = "git url"
	WEBHOOK_SELECTOR_AUTHOR_NAME             string = "author"
	WEBHOOK_SELECTOR_DATE_NAME               string = "date"
	WEBHOOK_SELECTOR_TARGET_CHECKOUT_NAME    string = "target checkout"
	WEBHOOK_SELECTOR_SOURCE_CHECKOUT_NAME    string = "source checkout"
	WEBHOOK_SELECTOR_TARGET_BRANCH_NAME_NAME string = "target branch name"
	WEBHOOK_SELECTOR_SOURCE_BRANCH_NAME_NAME string = "source branch name"

	WEBHOOK_EVENT_MERGED_ACTION_TYPE     string = "merged"
	WEBHOOK_EVENT_NON_MERGED_ACTION_TYPE string = "non-merged"
)
View Source
const (
	EXPOSE_INTERNAL ExposeType = "clusterIp"
	EXPOSE_EXTERNAL ExposeType = "elb"
	SCHEME_HTTP     Scheme     = "http"
	SCHEME_HTTPS    Scheme     = "https"
	SCHEME_TCP      Scheme     = "tcp"
)
View Source
const CustomAutoScalingEnabledPathKey = "CUSTOM_AUTOSCALING_ENABLED_PATH"
View Source
const CustomAutoscalingMaxPathKey = "CUSTOM_AUTOSCALING_MAX_PATH"
View Source
const CustomAutoscalingMinPathKey = "CUSTOM_AUTOSCALING_MIN_PATH"
View Source
const CustomAutoscalingReplicaCountPathKey = "CUSTOM_AUTOSCALING_REPLICA_COUNT_PATH"
View Source
const NOT_FOUND = "not found"
View Source
const RELEASE_NOT_EXIST = "release not exist"

Variables

This section is empty.

Functions

func IsAcdApp added in v0.6.17

func IsAcdApp(deploymentType string) bool

func IsGitStorage added in v0.6.19

func IsGitStorage(storageType string) bool

func IsHelmApp added in v0.6.17

func IsHelmApp(deploymentType string) bool

Types

type AppDeleteResponseDTO added in v0.6.18

type AppDeleteResponseDTO struct {
	DeleteInitiated  bool   `json:"deleteInitiated"`
	ClusterReachable bool   `json:"clusterReachable"`
	ClusterName      string `json:"clusterName"`
}

type AppLabelDto added in v0.2.23

type AppLabelDto struct {
	Key       string `json:"key,notnull"`
	Value     string `json:"value,notnull"`
	Propagate bool   `json:"propagate,notnull"`
	AppId     int    `json:"appId,omitempty"`
	UserId    int32  `json:"-"`
}

type AppLabelsDto added in v0.2.23

type AppLabelsDto struct {
	Labels []*Label `json:"labels" validate:"dive"`
	AppId  int      `json:"appId"`
	UserId int32    `json:"-"`
}

type AppLabelsJsonForDeployment added in v0.5.3

type AppLabelsJsonForDeployment struct {
	Labels map[string]string `json:"appLabels"`
}

type AppMetaInfoDto added in v0.2.21

type AppMetaInfoDto struct {
	AppId       int                            `json:"appId"`
	AppName     string                         `json:"appName"`
	ProjectId   int                            `json:"projectId"`
	ProjectName string                         `json:"projectName"`
	CreatedBy   string                         `json:"createdBy"`
	CreatedOn   time.Time                      `json:"createdOn"`
	Active      bool                           `json:"active,notnull"`
	Labels      []*Label                       `json:"labels"`
	Description *bean2.GenericNoteResponseBean `json:"description"`
	UserId      int32                          `json:"-"`
}

type BuildBinaryConfig

type BuildBinaryConfig struct {
	Name   string  `json:"name"`
	Stages []Stage `json:"stages"` //stages will be executed sequentially
}

user should be able to compose multiple sequential and parallel steps for building binary.

type CDMaterialMetadata

type CDMaterialMetadata struct {
	Url    string `json:"url,omitempty"`
	Branch string `json:"branch,omitempty"`
	Tag    string `json:"tag,omitempty"`
}

--------- cd related struct ---------

type CDPatchRequest

type CDPatchRequest struct {
	Pipeline         *CDPipelineConfigObject `json:"pipeline,omitempty"`
	AppId            int                     `json:"appId,omitempty"`
	Action           CdPatchAction           `json:"action,omitempty"`
	UserId           int32                   `json:"-"`
	ForceDelete      bool                    `json:"-"`
	NonCascadeDelete bool                    `json:"-"`
}

type CDPipelineConfigObject

type CDPipelineConfigObject struct {
	Id                            int                                    `json:"id,omitempty"  validate:"number" `
	EnvironmentId                 int                                    `json:"environmentId,omitempty"  validate:"number,required" `
	EnvironmentName               string                                 `json:"environmentName,omitempty" `
	Description                   string                                 `json:"description" validate:"max=40"`
	CiPipelineId                  int                                    `json:"ciPipelineId,omitempty" validate:"number"`
	TriggerType                   pipelineConfig.TriggerType             `json:"triggerType,omitempty" validate:"oneof=AUTOMATIC MANUAL"`
	Name                          string                                 `json:"name,omitempty" validate:"name-component,max=50"` //pipelineName
	Strategies                    []Strategy                             `json:"strategies,omitempty"`
	Namespace                     string                                 `json:"namespace,omitempty"` //namespace
	AppWorkflowId                 int                                    `json:"appWorkflowId,omitempty" `
	DeploymentTemplate            chartRepoRepository.DeploymentStrategy `json:"deploymentTemplate,omitempty"` //
	PreStage                      CdStage                                `json:"preStage,omitempty"`
	PostStage                     CdStage                                `json:"postStage,omitempty"`
	PreStageConfigMapSecretNames  PreStageConfigMapSecretNames           `json:"preStageConfigMapSecretNames,omitempty"`
	PostStageConfigMapSecretNames PostStageConfigMapSecretNames          `json:"postStageConfigMapSecretNames,omitempty"`
	RunPreStageInEnv              bool                                   `json:"runPreStageInEnv,omitempty"`
	RunPostStageInEnv             bool                                   `json:"runPostStageInEnv,omitempty"`
	CdArgoSetup                   bool                                   `json:"isClusterCdActive"`
	ParentPipelineId              int                                    `json:"parentPipelineId"`
	ParentPipelineType            string                                 `json:"parentPipelineType"`
	DeploymentAppType             string                                 `json:"deploymentAppType"`
	AppName                       string                                 `json:"appName"`
	DeploymentAppDeleteRequest    bool                                   `json:"deploymentAppDeleteRequest"`
	DeploymentAppCreated          bool                                   `json:"deploymentAppCreated"`
	AppId                         int                                    `json:"appId"`
	TeamId                        int                                    `json:"-"`
	EnvironmentIdentifier         string                                 `json:"-" `
	IsVirtualEnvironment          bool                                   `json:"isVirtualEnvironment"`
	HelmPackageName               string                                 `json:"helmPackageName"`
	ChartName                     string                                 `json:"chartName"`
	ChartBaseVersion              string                                 `json:"chartBaseVersion"`
	ContainerRegistryId           int                                    `json:"containerRegistryId"`
	RepoUrl                       string                                 `json:"repoUrl"`
	ManifestStorageType           string                                 `json:"manifestStorageType"`
	PreDeployStage                *bean.PipelineStageDto                 `json:"preDeployStage,omitempty"`
	PostDeployStage               *bean.PipelineStageDto                 `json:"postDeployStage,omitempty"`
	SourceToNewPipelineId         map[int]int                            `json:"sourceToNewPipelineId,omitempty"`
	RefPipelineId                 int                                    `json:"refPipelineId,omitempty"`
	ExternalCiPipelineId          int                                    `json:"externalCiPipelineId,omitempty"`
}

type CDPipelineViewObject

type CDPipelineViewObject struct {
	Id                 int                         `json:"id"`
	PipelineCounter    int                         `json:"pipelineCounter"`
	Environment        string                      `json:"environment"`
	Downstream         []int                       `json:"downstream"` //PipelineCounter of downstream
	Status             string                      `json:"status"`
	Message            string                      `json:"message"`
	ProgressText       string                      `json:"progress_text"`
	PipelineType       pipelineConfig.PipelineType `json:"pipelineType"`
	GitDiffUrl         string                      `json:"git_diff_url"`
	PipelineHistoryUrl string                      `json:"pipeline_history_url"` //remove
	Rollback           Rollback                    `json:"rollback"`
	Name               string                      `json:"-"`
	CDSourceObject
}

type CDSourceObject

type CDSourceObject struct {
	Id          int                `json:"id"`
	DisplayName string             `json:"displayName"`
	Metadata    CDMaterialMetadata `json:"metadata"`
}

type CdBulkAction added in v0.6.4

type CdBulkAction int
const (
	CD_BULK_DELETE CdBulkAction = iota
)

type CdBulkActionRequestDto added in v0.6.4

type CdBulkActionRequestDto struct {
	Action        CdBulkAction `json:"action"`
	EnvIds        []int        `json:"envIds"`
	AppIds        []int        `json:"appIds"`
	ProjectIds    []int        `json:"projectIds"`
	ForceDelete   bool         `json:"forceDelete"`
	CascadeDelete bool         `json:"cascadeDelete"`
	UserId        int32        `json:"-"`
}

type CdBulkActionResponseDto added in v0.6.4

type CdBulkActionResponseDto struct {
	PipelineName    string `json:"pipelineName"`
	AppName         string `json:"appName"`
	EnvironmentName string `json:"environmentName"`
	DeletionResult  string `json:"deletionResult,omitempty"`
}

type CdPatchAction

type CdPatchAction int
const (
	CD_CREATE CdPatchAction = iota
	CD_DELETE               //delete this pipeline
	CD_UPDATE
	CD_DELETE_PARTIAL // Partially delete means it will only delete ACD app
)

func (CdPatchAction) String

func (a CdPatchAction) String() string

type CdPipelineTrigger added in v0.6.13

type CdPipelineTrigger struct {
	CiArtifactId int `json:"ciArtifactId"`
	PipelineId   int `json:"pipelineId"`
}

type CdPipelines

type CdPipelines struct {
	Pipelines         []*CDPipelineConfigObject `json:"pipelines,omitempty" validate:"dive"`
	AppId             int                       `json:"appId,omitempty"  validate:"number,required" `
	UserId            int32                     `json:"-"`
	AppDeleteResponse *AppDeleteResponseDTO     `json:"deleteResponse,omitempty"`
}

type CdStage

type CdStage struct {
	TriggerType pipelineConfig.TriggerType `json:"triggerType,omitempty"`
	Name        string                     `json:"name,omitempty"`
	Status      string                     `json:"status,omitempty"`
	Config      string                     `json:"config,omitempty"`
}

type CiArtifactBean

type CiArtifactBean struct {
	Id                            int                       `json:"id"`
	Image                         string                    `json:"image,notnull"`
	ImageDigest                   string                    `json:"image_digest,notnull"`
	MaterialInfo                  json.RawMessage           `json:"material_info"` //git material metadata json array string
	DataSource                    string                    `json:"data_source,notnull"`
	DeployedTime                  string                    `json:"deployed_time"`
	Deployed                      bool                      `json:"deployed,notnull"`
	Latest                        bool                      `json:"latest,notnull"`
	LastSuccessfulTriggerOnParent bool                      `json:"lastSuccessfulTriggerOnParent,notnull"`
	RunningOnParentCd             bool                      `json:"runningOnParentCd,omitempty"`
	IsVulnerable                  bool                      `json:"vulnerable,notnull"`
	ScanEnabled                   bool                      `json:"scanEnabled,notnull"`
	Scanned                       bool                      `json:"scanned,notnull"`
	WfrId                         int                       `json:"wfrId"`
	DeployedBy                    string                    `json:"deployedBy"`
	CiConfigureSourceType         pipelineConfig.SourceType `json:"ciConfigureSourceType"`
	CiConfigureSourceValue        string                    `json:"ciConfigureSourceValue"`
	ImageReleaseTags              []*repository2.ImageTag   `json:"imageReleaseTags"`
	ImageComment                  *repository2.ImageComment `json:"imageComment"`
}

type CiArtifactResponse

type CiArtifactResponse struct {
	//AppId           int      `json:"app_id"`
	CdPipelineId               int              `json:"cd_pipeline_id,notnull"`
	LatestWfArtifactId         int              `json:"latest_wf_artifact_id"`
	LatestWfArtifactStatus     string           `json:"latest_wf_artifact_status"`
	CiArtifacts                []CiArtifactBean `json:"ci_artifacts,notnull"`
	TagsEditable               bool             `json:"tagsEditable"`
	AppReleaseTagNames         []string         `json:"appReleaseTagNames"` //unique list of tags exists in the app
	HideImageTaggingHardDelete bool             `json:"hideImageTaggingHardDelete"`
}

type CiConfigRequest

type CiConfigRequest struct {
	Id                int                     `json:"id,omitempty" validate:"number"` //ciTemplateId
	AppId             int                     `json:"appId,omitempty" validate:"required,number"`
	DockerRegistry    string                  `json:"dockerRegistry,omitempty" `  //repo id example ecr mapped one-one with gocd registry entry
	DockerRepository  string                  `json:"dockerRepository,omitempty"` // example test-app-1 which is inside ecr
	CiBuildConfig     *bean.CiBuildConfigBean `json:"ciBuildConfig"`
	CiPipelines       []*CiPipeline           `json:"ciPipelines,omitempty" validate:"dive"` //a pipeline will be built for each ciMaterial
	AppName           string                  `json:"appName,omitempty"`
	Version           string                  `json:"version,omitempty"` //gocd etag used for edit purpose
	DockerRegistryUrl string                  `json:"-"`
	CiTemplateName    string                  `json:"-"`
	UserId            int32                   `json:"-"`
	Materials         []Material              `json:"materials"`
	AppWorkflowId     int                     `json:"appWorkflowId,omitempty"`
	BeforeDockerBuild []*Task                 `json:"beforeDockerBuild,omitempty" validate:"dive"`
	AfterDockerBuild  []*Task                 `json:"afterDockerBuild,omitempty" validate:"dive"`
	ScanEnabled       bool                    `json:"scanEnabled,notnull"`
	CreatedOn         time.Time               `sql:"created_on,type:timestamptz"`
	CreatedBy         int32                   `sql:"created_by,type:integer"`
	UpdatedOn         time.Time               `sql:"updated_on,type:timestamptz"`
	UpdatedBy         int32                   `sql:"updated_by,type:integer"`
	IsJob             bool                    `json:"-"`
	CiGitMaterialId   int                     `json:"ciGitConfiguredId"`
	IsCloneJob        bool                    `json:"isCloneJob,omitempty"`
}

type CiMaterial

type CiMaterial struct {
	Source          *SourceTypeConfig `json:"source,omitempty" validate:"dive,required"`   //branch for ci
	Path            string            `json:"path,omitempty"`                              // defaults to root of git repo
	CheckoutPath    string            `json:"checkoutPath,omitempty"`                      //path where code will be checked out for single source `./` default for multiSource configured by user
	GitMaterialId   int               `json:"gitMaterialId,omitempty" validate:"required"` //id stored in db GitMaterial( foreign key)
	ScmId           string            `json:"scmId,omitempty"`                             //id of gocd object
	ScmName         string            `json:"scmName,omitempty"`
	ScmVersion      string            `json:"scmVersion,omitempty"`
	Id              int               `json:"id,omitempty"`
	GitMaterialName string            `json:"gitMaterialName"`
	IsRegex         bool              `json:"isRegex"`
}

type CiMaterialBulkPatchRequest added in v0.6.24

type CiMaterialBulkPatchRequest struct {
	AppIds        []int  `json:"appIds" validate:"required"`
	EnvironmentId int    `json:"environmentId" validate:"required"`
	Value         string `json:"value,omitempty" validate:"required"`
}

type CiMaterialBulkPatchResponse added in v0.6.24

type CiMaterialBulkPatchResponse struct {
	Apps []CiMaterialPatchResponse `json:"apps"`
}

type CiMaterialPatchRequest added in v0.6.21

type CiMaterialPatchRequest struct {
	AppId         int               `json:"appId" validate:"required"`
	EnvironmentId int               `json:"environmentId" validate:"required"`
	Source        *SourceTypeConfig `json:"source" validate:"required"`
}

type CiMaterialPatchResponse added in v0.6.24

type CiMaterialPatchResponse struct {
	AppId   int            `json:"appId"`
	Status  CiPatchStatus  `json:"status"`
	Message CiPatchMessage `json:"message"`
}

type CiMaterialValuePatchRequest added in v0.6.24

type CiMaterialValuePatchRequest struct {
	AppId         int `json:"appId" validate:"required"`
	EnvironmentId int `json:"environmentId" validate:"required"`
}

type CiPatchMessage added in v0.6.24

type CiPatchMessage string
const (
	CI_PATCH_NOT_AUTHORIZED_MESSAGE CiPatchMessage = "You don't have permission to change branch"
	CI_PATCH_MULTI_GIT_ERROR        CiPatchMessage = "Build pipeline is connected to multiple git repositories"
	CI_PATCH_REGEX_ERROR            CiPatchMessage = "Provided branch does not match regex "
	CI_BRANCH_TYPE_ERROR            CiPatchMessage = "Branch cannot be changed for pipeline as source type is “Pull request or Tag”"
)

type CiPatchRequest

type CiPatchRequest struct {
	CiPipeline    *CiPipeline `json:"ciPipeline"`
	AppId         int         `json:"appId,omitempty"`
	Action        PatchAction `json:"action"`
	AppWorkflowId int         `json:"appWorkflowId,omitempty"`
	UserId        int32       `json:"-"`
	IsJob         bool        `json:"-"`
	IsCloneJob    bool        `json:"isCloneJob,omitempty"`
}

type CiPatchStatus added in v0.6.24

type CiPatchStatus string
const (
	CI_PATCH_SUCCESS        CiPatchStatus = "Succeeded"
	CI_PATCH_FAILED         CiPatchStatus = "Failed"
	CI_PATCH_NOT_AUTHORIZED CiPatchStatus = "Not authorised"
)

type CiPipeline

type CiPipeline struct {
	IsManual                 bool                   `json:"isManual"`
	DockerArgs               map[string]string      `json:"dockerArgs"`
	IsExternal               bool                   `json:"isExternal"`
	ParentCiPipeline         int                    `json:"parentCiPipeline"`
	ParentAppId              int                    `json:"parentAppId"`
	AppId                    int                    `json:"appId"`
	ExternalCiConfig         ExternalCiConfig       `json:"externalCiConfig"`
	CiMaterial               []*CiMaterial          `json:"ciMaterial,omitempty" validate:"dive,min=1"`
	Name                     string                 `json:"name,omitempty" validate:"name-component,max=100"` //name suffix of corresponding pipeline. required, unique, validation corresponding to gocd pipelineName will be applicable
	Id                       int                    `json:"id,omitempty" `
	Version                  string                 `json:"version,omitempty"` //matchIf token version in gocd . used for update request
	Active                   bool                   `json:"active,omitempty"`  //pipeline is active or not
	Deleted                  bool                   `json:"deleted,omitempty"`
	BeforeDockerBuild        []*Task                `json:"beforeDockerBuild,omitempty" validate:"dive"`
	AfterDockerBuild         []*Task                `json:"afterDockerBuild,omitempty" validate:"dive"`
	BeforeDockerBuildScripts []*CiScript            `json:"beforeDockerBuildScripts,omitempty" validate:"dive"`
	AfterDockerBuildScripts  []*CiScript            `json:"afterDockerBuildScripts,omitempty" validate:"dive"`
	LinkedCount              int                    `json:"linkedCount"`
	PipelineType             PipelineType           `json:"pipelineType,omitempty"`
	ScanEnabled              bool                   `json:"scanEnabled,notnull"`
	AppWorkflowId            int                    `json:"appWorkflowId,omitempty"`
	PreBuildStage            *bean.PipelineStageDto `json:"preBuildStage,omitempty"`
	PostBuildStage           *bean.PipelineStageDto `json:"postBuildStage,omitempty"`
	TargetPlatform           string                 `json:"targetPlatform,omitempty"`
	IsDockerConfigOverridden bool                   `json:"isDockerConfigOverridden"`
	DockerConfigOverride     DockerConfigOverride   `json:"dockerConfigOverride,omitempty"`
	EnvironmentId            int                    `json:"environmentId,omitempty"`
	LastTriggeredEnvId       int                    `json:"lastTriggeredEnvId"`
}

type CiPipelineMaterial

type CiPipelineMaterial struct {
	Id            int                      `json:"Id"`
	GitMaterialId int                      `json:"GitMaterialId"`
	Type          string                   `json:"Type"`
	Value         string                   `json:"Value"`
	Active        bool                     `json:"Active"`
	GitCommit     pipelineConfig.GitCommit `json:"GitCommit"`
	GitTag        string                   `json:"GitTag"`
}

type CiPipelineMin

type CiPipelineMin struct {
	Name             string       `json:"name,omitempty" validate:"name-component,max=100"` //name suffix of corresponding pipeline. required, unique, validation corresponding to gocd pipelineName will be applicable
	Id               int          `json:"id,omitempty" `
	Version          string       `json:"version,omitempty"` //matchIf token version in gocd . used for update request
	IsExternal       bool         `json:"isExternal,omitempty"`
	ParentCiPipeline int          `json:"parentCiPipeline"`
	ParentAppId      int          `json:"parentAppId"`
	PipelineType     PipelineType `json:"pipelineType,omitempty"`
	ScanEnabled      bool         `json:"scanEnabled,notnull"`
}

type CiPipelineMinResponse added in v0.6.17

type CiPipelineMinResponse struct {
	Id               int    `json:"id,omitempty" validate:"number"` //ciTemplateId
	AppId            int    `json:"appId,omitempty" validate:"required,number"`
	AppName          string `json:"appName,omitempty"`
	ParentCiPipeline int    `json:"parentCiPipeline"`
	ParentAppId      int    `json:"parentAppId"`
	PipelineType     string `json:"pipelineType"`
}

type CiRegexPatchRequest added in v0.4.28

type CiRegexPatchRequest struct {
	CiPipelineMaterial []*CiPipelineMaterial `json:"ciPipelineMaterial,omitempty"`
	Id                 int                   `json:"id,omitempty" `
	AppId              int                   `json:"appId,omitempty"`
	UserId             int32                 `json:"-"`
}

type CiScript

type CiScript struct {
	Id             int    `json:"id"`
	Index          int    `json:"index"`
	Name           string `json:"name" validate:"required"`
	Script         string `json:"script"`
	OutputLocation string `json:"outputLocation"`
}

type CiTrigger

type CiTrigger struct {
	CiMaterialId int    `json:"ciMaterialId"`
	CommitHash   string `json:"commitHash"`
}

type CiTriggerRequest

type CiTriggerRequest struct {
	PipelineId          int                  `json:"pipelineId"`
	CiPipelineMaterial  []CiPipelineMaterial `json:"ciPipelineMaterials" validate:"required"`
	TriggeredBy         int32                `json:"triggeredBy"`
	InvalidateCache     bool                 `json:"invalidateCache"`
	EnvironmentId       int                  `json:"environmentId"`
	PipelineType        string               `json:"pipelineType"`
	CiArtifactLastFetch time.Time            `json:"ciArtifactLastFetch"`
}

type CreateAppDTO

type CreateAppDTO struct {
	Id          int                            `json:"id,omitempty" validate:"number"`
	AppName     string                         `json:"appName" validate:"name-component,max=100"`
	UserId      int32                          `json:"-"` //not exposed to UI
	Material    []*GitMaterial                 `json:"material" validate:"dive,min=1"`
	TeamId      int                            `json:"teamId,omitempty" validate:"number,required"`
	TemplateId  int                            `json:"templateId"`
	AppLabels   []*Label                       `json:"labels,omitempty" validate:"dive"`
	Description *bean2.GenericNoteResponseBean `json:"description,omitempty"`
	AppType     helper.AppType                 `json:"appType" validate:"gt=-1,lt=3"` //TODO: Change Validation if new AppType is introduced
}

type CreateMaterialDTO

type CreateMaterialDTO struct {
	Id       int            `json:"id,omitempty" validate:"number"`
	AppId    int            `json:"appId" validate:"number"`
	Material []*GitMaterial `json:"material" validate:"dive,min=1"`
	UserId   int32          `json:"-"` //not exposed to UI
}

type DeploymentAppTypeChangeRequest added in v0.6.13

type DeploymentAppTypeChangeRequest struct {
	EnvId                 int            `json:"envId,omitempty" validate:"required"`
	DesiredDeploymentType DeploymentType `json:"desiredDeploymentType,omitempty" validate:"required"`
	ExcludeApps           []int          `json:"excludeApps"`
	IncludeApps           []int          `json:"includeApps"`
	AutoTriggerDeployment bool           `json:"autoTriggerDeployment"`
	UserId                int32          `json:"-"`
}

type DeploymentAppTypeChangeResponse added in v0.6.13

type DeploymentAppTypeChangeResponse struct {
	EnvId                 int                       `json:"envId,omitempty"`
	DesiredDeploymentType DeploymentType            `json:"desiredDeploymentType,omitempty"`
	SuccessfulPipelines   []*DeploymentChangeStatus `json:"successfulPipelines"`
	FailedPipelines       []*DeploymentChangeStatus `json:"failedPipelines"`
	TriggeredPipelines    []*CdPipelineTrigger      `json:"-"` // Disabling auto-trigger until bulk trigger API is fixed
}

type DeploymentChangeStatus added in v0.6.13

type DeploymentChangeStatus struct {
	Id      int    `json:"id,omitempty"`
	AppId   int    `json:"appId,omitempty"`
	AppName string `json:"appName,omitempty"`
	EnvId   int    `json:"envId,omitempty"`
	EnvName string `json:"envName,omitempty"`
	Error   string `json:"error,omitempty"`
	Status  Status `json:"status,omitempty"`
}

type DeploymentType added in v0.6.13

type DeploymentType = string
const (
	Helm                    DeploymentType = "helm"
	ArgoCd                  DeploymentType = "argo_cd"
	ManifestDownload        DeploymentType = "manifest_download"
	GitOpsWithoutDeployment DeploymentType = "git_ops_without_deployment"
)

type DockerConfigOverride added in v0.6.0

type DockerConfigOverride struct {
	DockerRegistry   string                  `json:"dockerRegistry,omitempty"`
	DockerRepository string                  `json:"dockerRepository,omitempty"`
	CiBuildConfig    *bean.CiBuildConfigBean `json:"ciBuildConfig,omitEmpty"`
}

type Environment

type Environment struct {
	Values string
}

set of unique attributes which corresponds to a cluster different environment of gocd and k8s cluster.

type EnvironmentGroup

type EnvironmentGroup struct {
	Name         string
	Environments []Environment
}

if Environments has multiple entries then application of them will be deployed simultaneously

type ErrorDto added in v0.6.9

type ErrorDto struct {
	Code        int    `json:"code"`
	UserMessage string `json:"userMessage"`
}

type ExampleValueDto added in v0.6.9

type ExampleValueDto struct {
	Code   int        `json:"code,omitempty"`
	Errors []ErrorDto `json:"errors,omitempty"`
	Result string     `json:"result,omitempty"`
	Status string     `json:"status,omitempty"`
}

type ExposeType

type ExposeType string

type ExternalCiConfig

type ExternalCiConfig struct {
	Id            int                    `json:"id"`
	WebhookUrl    string                 `json:"webhookUrl"`
	Payload       string                 `json:"payload"`
	AccessKey     string                 `json:"accessKey"`
	PayloadOption []PayloadOptionObject  `json:"payloadOption"`
	Schema        map[string]interface{} `json:"schema"`
	Responses     []ResponseSchemaObject `json:"responses"`
	ExternalCiConfigRole
}

type ExternalCiConfigRole added in v0.6.9

type ExternalCiConfigRole struct {
	ProjectId             int    `json:"projectId"`
	ProjectName           string `json:"projectName"`
	EnvironmentId         string `json:"environmentId"`
	EnvironmentName       string `json:"environmentName"`
	EnvironmentIdentifier string `json:"environmentIdentifier"`
	AppId                 int    `json:"appId"`
	AppName               string `json:"appName"`
	Role                  string `json:"role"`
}

type GitCiTriggerRequest

type GitCiTriggerRequest struct {
	CiPipelineMaterial        CiPipelineMaterial `json:"ciPipelineMaterial" validate:"required"`
	TriggeredBy               int32              `json:"triggeredBy"`
	ExtraEnvironmentVariables map[string]string  `json:"extraEnvironmentVariables"` // extra env variables which will be used for CI
}

type GitMaterial

type GitMaterial struct {
	Name             string   `json:"name,omitempty" ` //not null, //default format pipelineGroup.AppName + "-" + inputMaterial.Name,
	Url              string   `json:"url,omitempty"`   //url of git repo
	Id               int      `json:"id,omitempty" validate:"number"`
	GitProviderId    int      `json:"gitProviderId,omitempty" validate:"gt=0"`
	CheckoutPath     string   `json:"checkoutPath" validate:"checkout-path-component"`
	FetchSubmodules  bool     `json:"fetchSubmodules"`
	IsUsedInCiConfig bool     `json:"isUsedInCiConfig"`
	FilterPattern    []string `json:"filterPattern"`
}

type HelmConfig

type HelmConfig struct {
}

contains reference to chart and values.yaml changes for next deploy

type Job

type Job struct {
	Name  string `json:"name"`
	Tasks []Task `json:"tasks"` //task will run sequentially
}

type Label added in v0.2.23

type Label struct {
	Key       string `json:"key" validate:"required"`
	Value     string `json:"value"` // intentionally not added required tag as tag can be added without value
	Propagate bool   `json:"propagate"`
}

type ManifestStorage added in v0.6.19

type ManifestStorage = string
const (
	ManifestStorageGit ManifestStorage = "git"
)

type Material

type Material struct {
	GitMaterialId int    `json:"gitMaterialId"`
	MaterialName  string `json:"materialName"`
}

type MaterialMetadata

type MaterialMetadata struct {
	ProgrammingLang      string
	LanguageRuntime      string
	BuildTool            string
	Executables          []string
	Profiles             map[string]string // pipeline-stage, profile
	LogDirs              map[string]string //file, log pattern
	EnvironmentVariables map[string]string
	PropertiesConfig     []PropertiesConfig
	ExposeConfig         []ServiceExposeConfig //a mocroservice can be exposed in multiple ways
	MonitoringConfig     MonitoringConfig
}

type MaterialOperations

type MaterialOperations interface {
	MaterialExists(material *GitMaterial) (bool, error)
	SaveMaterial(material *GitMaterial) error
	GenerateMaterialMetaData(material *GitMaterial) (*MaterialMetadata, error)
	ValidateMaterialMetaData(material *GitMaterial, metadata *MaterialMetadata) (bool, error)
	SaveMaterialMetaData(metadata *MaterialMetadata) error
}

type MonitoringConfig

type MonitoringConfig struct {
	ReadinessProbeEndpoint string
	InitialDelaySeconds    int32
	PeriodSeconds          int32
	TimeoutSeconds         int32
	SuccessThreshold       int32
	FailureThreshold       int32
	HttpHeaders            map[string]string
	TpMonitoringConf       []ThirdPartyMonitoringConfig
	// contains filtered or unexported fields
}

type PackagingConfig

type PackagingConfig struct {
}

tag git build binary push binary to artifact store build docker image push docker image docker args

type PatchAction

type PatchAction int

-------------------

const (
	CREATE        PatchAction = iota
	UPDATE_SOURCE             //update value of SourceTypeConfig
	DELETE                    //delete this pipeline

)

func (PatchAction) String

func (a PatchAction) String() string

type PayloadOptionObject added in v0.6.9

type PayloadOptionObject struct {
	Key        string   `json:"key"`
	PayloadKey []string `json:"payloadKey"`
	Label      string   `json:"label"`
	Mandatory  bool     `json:"mandatory"`
}

type Pipeline

type Pipeline struct {
	Environment Environment
}

type PipelineCreateResponse

type PipelineCreateResponse struct {
	AppName string `json:"appName,omitempty"`
	AppId   int    `json:"appId,omitempty"`
}

type PipelineType

type PipelineType string
const (
	NORMAL   PipelineType = "NORMAL"
	LINKED   PipelineType = "LINKED"
	EXTERNAL PipelineType = "EXTERNAL"
	CI_JOB   PipelineType = "CI_JOB"
)

type PostStageConfigMapSecretNames

type PostStageConfigMapSecretNames struct {
	ConfigMaps []string `json:"configMaps"`
	Secrets    []string `json:"secrets"`
}

type PreStageConfigMapSecretNames

type PreStageConfigMapSecretNames struct {
	ConfigMaps []string `json:"configMaps"`
	Secrets    []string `json:"secrets"`
}

type PropertiesConfig

type PropertiesConfig struct {
	Name          string
	Location      string
	MountLocation string //MountLocation and Location might be same

}

type ResponseDescriptionSchemaObject added in v0.6.9

type ResponseDescriptionSchemaObject struct {
	Description  string                 `json:"description,omitempty"`
	ExampleValue ExampleValueDto        `json:"exampleValue,omitempty"`
	Schema       map[string]interface{} `json:"schema,omitempty"`
}

type ResponseSchemaObject added in v0.6.9

type ResponseSchemaObject struct {
	Description ResponseDescriptionSchemaObject `json:"description"`
	Code        string                          `json:"code"`
}

type Rollback

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

type SchemaObject added in v0.6.9

type SchemaObject struct {
	Description string      `json:"description"`
	DataType    string      `json:"dataType"`
	Example     string      `json:"example"`
	Optional    bool        `json:"optional"`
	Child       interface{} `json:"child"`
}

type Scheme

type Scheme string

type ServiceExposeConfig

type ServiceExposeConfig struct {
	ExposeType  ExposeType
	Scheme      Scheme
	Port        string
	Path        string
	BackendPath string
	Host        string
}

type SourceType

type SourceType string

type SourceTypeConfig

type SourceTypeConfig struct {
	Type  pipelineConfig.SourceType `json:"type,omitempty" validate:"oneof=SOURCE_TYPE_BRANCH_FIXED SOURCE_TYPE_BRANCH_REGEX SOURCE_TYPE_TAG_ANY WEBHOOK"`
	Value string                    `json:"value,omitempty" `
	Regex string                    `json:"regex"`
}

type Stage

type Stage struct {
	Name string `json:"name"`
	Jobs []Job  `json:"jobs"` //job will run in parallel
}

type Status added in v0.6.13

type Status string
const (
	Success         Status = "Success"
	Failed          Status = "Failed"
	INITIATED       Status = "Migration initiated"
	NOT_YET_DELETED Status = "Not yet deleted"
)

type Strategy

type Strategy struct {
	DeploymentTemplate chartRepoRepository.DeploymentStrategy `json:"deploymentTemplate,omitempty"` //
	Config             json.RawMessage                        `json:"config,omitempty" validate:"string"`
	Default            bool                                   `json:"default"`
}

type Task

type Task struct {
	Name string   `json:"name"`
	Type string   `json:"type"` //for now ignore this input
	Cmd  string   `json:"cmd"`
	Args []string `json:"args"`
}

type Test

type Test struct {
	Name    string
	Command string
}

used for automated unit and integration test

type TestExecutorImageProperties

type TestExecutorImageProperties struct {
	ImageName string `json:"imageName,omitempty"`
	Arg       string `json:"arg,omitempty"`
	ReportDir string `json:"reportDir,omitempty"`
}

type ThirdPartyMonitoringConfig

type ThirdPartyMonitoringConfig struct {
}

type TriggerViewCiConfig added in v0.6.17

type TriggerViewCiConfig struct {
	CiGitMaterialId int           `json:"ciGitConfiguredId"`
	CiPipelines     []*CiPipeline `json:"ciPipelines,omitempty" validate:"dive"` //a pipeline will be built for each ciMaterial
	Materials       []Material    `json:"materials"`
}

type UpdateMaterialDTO

type UpdateMaterialDTO struct {
	AppId    int          `json:"appId" validate:"number"`
	Material *GitMaterial `json:"material" validate:"dive,min=1"`
	UserId   int32        `json:"-"` //not exposed to UI
}

type UpdateProjectBulkAppsRequest added in v0.6.0

type UpdateProjectBulkAppsRequest struct {
	AppIds []int `json:"appIds"`
	TeamId int   `json:"teamId"`
	UserId int32 `json:"-"`
}

Jump to

Keyboard shortcuts

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