bean

package
v0.6.17 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 6 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 (
	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"

Variables

This section is empty.

Functions

func IsAcdApp added in v0.6.17

func IsAcdApp(deploymentType string) bool

func IsGitOpsWithoutDeployment added in v0.6.17

func IsGitOpsWithoutDeployment(deploymentType string) bool

func IsHelmApp added in v0.6.17

func IsHelmApp(deploymentType string) bool

func IsManifestDownload added in v0.6.17

func IsManifestDownload(deploymentType string) bool

Types

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 string    `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:"-"`
}

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"`
}

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"`
	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:"-"`
}

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"`
}

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"`
}

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"`
}

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 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:"-"`
}

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

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"`
}

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     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"`
}

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"`
}

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 string         `json:"description"`
	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 GitCommit

type GitCommit struct {
	Commit                 string //git hash
	Author                 string
	Date                   time.Time
	Message                string
	Changes                []string
	WebhookData            *WebhookData
	GitRepoUrl             string
	GitRepoName            string
	CiConfigureSourceType  pipelineConfig.SourceType
	CiConfigureSourceValue string
}

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 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"
)

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:"-"`
}

type WebhookData added in v0.2.22

type WebhookData struct {
	Id              int               `json:"id"`
	EventActionType string            `json:"eventActionType"`
	Data            map[string]string `json:"data"`
}

Jump to

Keyboard shortcuts

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