appbean

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: May 25, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppDetail

type AppDetail struct {
	Metadata                 *AppMetadata                    `json:"metadata,notnull" validate:"required"`
	GitMaterials             []*GitMaterial                  `json:"gitMaterials,notnull"`
	DockerConfig             *DockerConfig                   `json:"dockerConfig"`
	GlobalDeploymentTemplate *DeploymentTemplate             `json:"globalDeploymentTemplate,notnull"`
	AppWorkflows             []*AppWorkflow                  `json:"workflows"`
	GlobalConfigMaps         []*ConfigMap                    `json:"globalConfigMaps"`
	GlobalSecrets            []*Secret                       `json:"globalSecrets"`
	EnvironmentOverrides     map[string]*EnvironmentOverride `json:"environmentOverride"`
}

type AppLabel

type AppLabel struct {
	Key   string `json:"key,notnull" validate:"required"`
	Value string `json:"value,notnull" validate:"required"`
}

type AppMetadata

type AppMetadata struct {
	AppName     string      `json:"appName" validate:"required"`
	ProjectName string      `json:"projectName" validate:"required"`
	Labels      []*AppLabel `json:"labels"`
}

type AppWorkflow

type AppWorkflow struct {
	Name        string               `json:"name"`
	CiPipeline  *CiPipelineDetails   `json:"ciPipeline"`
	CdPipelines []*CdPipelineDetails `json:"cdPipelines"`
}

type BuildScript

type BuildScript struct {
	Index               int    `json:"index"`
	Name                string `json:"name"`
	Script              string `json:"script"`
	ReportDirectoryPath string `json:"reportDirectoryPath"`
}

type CdPipelineDetails

type CdPipelineDetails struct {
	Name                          string                            `json:"name"` //pipelineName
	EnvironmentName               string                            `json:"environmentName" `
	TriggerType                   pipelineConfig.TriggerType        `json:"triggerType" validate:"required"`
	DeploymentType                pipelineConfig.DeploymentTemplate `json:"deploymentType,omitempty" validate:"oneof=BLUE-GREEN ROLLING CANARY RECREATE"` //
	DeploymentStrategies          []*DeploymentStrategy             `json:"deploymentStrategies"`
	PreStage                      *CdStage                          `json:"preStage"`
	PostStage                     *CdStage                          `json:"postStage"`
	PreStageConfigMapSecretNames  *CdStageConfigMapSecretNames      `json:"preStageConfigMapSecretNames"`
	PostStageConfigMapSecretNames *CdStageConfigMapSecretNames      `json:"postStageConfigMapSecretNames"`
	RunPreStageInEnv              bool                              `json:"runPreStageInEnv"`
	RunPostStageInEnv             bool                              `json:"runPostStageInEnv"`
	IsClusterCdActive             bool                              `json:"isClusterCdActive"`
}

type CdStage

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

type CdStageConfigMapSecretNames

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

type CiPipelineDetails

type CiPipelineDetails struct {
	Name                      string                      `json:"name" validate:"required"` //name suffix of corresponding pipeline
	IsManual                  bool                        `json:"isManual" validate:"required"`
	CiPipelineMaterialsConfig []*CiPipelineMaterialConfig `json:"ciPipelineMaterialsConfig"`
	DockerBuildArgs           map[string]string           `json:"dockerBuildArgs"`
	BeforeDockerBuildScripts  []*BuildScript              `json:"beforeDockerBuildScripts"`
	AfterDockerBuildScripts   []*BuildScript              `json:"afterDockerBuildScripts"`
	VulnerabilityScanEnabled  bool                        `json:"vulnerabilitiesScanEnabled"`
	IsExternal                bool                        `json:"isExternal"` // true for linked and external
}

type CiPipelineMaterialConfig

type CiPipelineMaterialConfig struct {
	Type         pipelineConfig.SourceType `json:"type,omitempty" validate:"oneof=SOURCE_TYPE_BRANCH_FIXED WEBHOOK"`
	Value        string                    `json:"value,omitempty" `
	CheckoutPath string                    `json:"checkoutPath"`
}

type ConfigMap

type ConfigMap struct {
	Name                  string                                `json:"name,notnull" validate:"required"`
	IsExternal            bool                                  `json:"isExternal"`
	UsageType             string                                `json:"usageType,omitempty" validate:"oneof=environment volume"`
	Data                  map[string]interface{}                `json:"data"`
	DataVolumeUsageConfig *ConfigMapSecretDataVolumeUsageConfig `json:"dataVolumeUsageConfig"`
}

type ConfigMapSecretDataVolumeUsageConfig

type ConfigMapSecretDataVolumeUsageConfig struct {
	MountPath      string `json:"mountPath"`
	SubPath        bool   `json:"subPath"`
	FilePermission string `json:"filePermission"`
}

type DeploymentStrategy

type DeploymentStrategy struct {
	DeploymentType pipelineConfig.DeploymentTemplate `json:"deploymentType,omitempty" validate:"oneof=BLUE-GREEN ROLLING CANARY RECREATE"` //
	Config         map[string]interface{}            `json:"config,omitempty" validate:"string"`
	IsDefault      bool                              `json:"isDefault" validate:"required"`
}

type DeploymentTemplate

type DeploymentTemplate struct {
	ChartRefId     int                    `json:"chartRefId,notnull" validate:"required"`
	Template       map[string]interface{} `json:"template,notnull" validate:"required"`
	ShowAppMetrics bool                   `json:"showAppMetrics"`
	IsOverride     bool                   `json:"isOverride"`
}

type DockerBuildConfig

type DockerBuildConfig struct {
	GitCheckoutPath        string            `json:"gitCheckoutPath,omitempty" validate:"required"`
	DockerfileRelativePath string            `json:"dockerfileRelativePath,omitempty" validate:"required"`
	Args                   map[string]string `json:"args,omitempty"`
}

type DockerConfig

type DockerConfig struct {
	DockerRegistry   string             `json:"dockerRegistry" validate:"required"`
	DockerRepository string             `json:"dockerRepository" validate:"required"`
	BuildConfig      *DockerBuildConfig `json:"dockerBuildConfig"`
}

type EnvironmentOverride

type EnvironmentOverride struct {
	DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate"`
	ConfigMaps         []*ConfigMap        `json:"configMaps"`
	Secrets            []*Secret           `json:"secrets"`
}

type ExternalSecret

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

type GitMaterial

type GitMaterial struct {
	GitProviderUrl  string `json:"gitProviderUrl,notnull" validate:"required"`
	GitRepoUrl      string `json:"gitRepoUrl,notnull" validate:"required"`
	CheckoutPath    string `json:"checkoutPath,notnull" validate:"required"`
	FetchSubmodules bool   `json:"fetchSubmodules"`
}

type Secret

type Secret struct {
	Name                  string                                `json:"name,notnull" validate:"required"`
	IsExternal            bool                                  `json:"isExternal"`
	ExternalType          string                                `json:"externalType,omitempty"`
	UsageType             string                                `json:"usageType,omitempty" validate:"oneof=environment volume"`
	Data                  map[string]interface{}                `json:"data"`
	DataVolumeUsageConfig *ConfigMapSecretDataVolumeUsageConfig `json:"dataVolumeUsageConfig"`
	RoleArn               string                                `json:"roleArn"`
	ExternalSecretData    []*ExternalSecret                     `json:"externalSecretData"`
}

Jump to

Keyboard shortcuts

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