Documentation ¶
Index ¶
- Constants
- func CompareResourcePath(first, second *ResourcePath) bool
- type App
- type BlueGreenStrategy
- type Build
- type BuildMaterial
- type CanaryStrategy
- type Component
- type ConfigMaps
- type DataHolder
- type Deployment
- type DeploymentStrategy
- type DeploymentTemplate
- func (o *DeploymentTemplate) CompareDestination(with *ResourcePath) error
- func (o *DeploymentTemplate) CompareSource(with *ResourcePath) error
- func (o *DeploymentTemplate) GetOperation() Operation
- func (o *DeploymentTemplate) GetProps() InheritedProps
- func (o *DeploymentTemplate) UpdateMissingProps(props InheritedProps) error
- type DockerConfig
- type InheritedProps
- type Operation
- type Pipeline
- type PipelineRequest
- type PostBuild
- type PostDeployment
- type PreBuild
- type PreDeployment
- type RecreateStrategy
- type Repo
- type ResourcePath
- type RollingStrategy
- type Secrets
- type Stage
- type Task
- type Trigger
- type Workflow
Constants ¶
const ( Clone Operation = "clone" Create Operation = "create" Delete Operation = "delete" Edit Operation = "edit" Append Operation = "append" Undefined Operation = "undefined" Automatic Trigger = "automatic" Manual Trigger = "manual" Secret string = "secret" ConfigMap string = "configmap" BranchFixed string = "BranchFixed" BranchRegex string = "BranchRegex" TagAny string = "TagAny" Webhook string = "Webhook" OperationUndefinedError string = "undefined operator for %s" OperationUnimplementedError string = "unimplemented operator %s for %s" UnsupportedVersion string = "unsupported version %s for %s" SourceNotSame string = "source not same for %s and %s" DestinationNotSame string = "destination not same for %s and %s" SourceNotUnique string = "source not unique for %s" DestinationNotUnique string = "destination not unique for %s" SourceDestinationSame string = "source and destination cannot be same for %s clone" NameEmpty string = "name of %s cannot be empty" EnvironmentEmpty string = "environment cannot be empty for %s %s" DataEmpty string = "data cannot be empty for %s %s" StagesMissing string = "task size cannot be zero" ScriptMissing string = "script is mandatory" )
Variables ¶
This section is empty.
Functions ¶
func CompareResourcePath ¶
func CompareResourcePath(first, second *ResourcePath) bool
Types ¶
type App ¶
type App struct { // API version of this configuration ApiVersion string `json:"apiVersion"` ConfigMaps []DataHolder `json:"configMaps"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` DockerConfig DockerConfig `json:"dockerConfig"` DockerRegistry string `json:"dockerRegistry"` DockerRepo string `json:"dockerRepo"` // Action to be taken on the component Operation Operation `json:"operation"` Repo []Repo `json:"repo"` Secrets []DataHolder `json:"secrets"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` Team string `json:"team"` // Workflow for app Workflow *[]Workflow `json:"workflow,omitempty"` }
App defines model for app .
type BlueGreenStrategy ¶
type BlueGreenStrategy struct { AutoPromotionEnabled bool `json:"autoPromotionEnabled"` AutoPromotionSeconds int32 `json:"autoPromotionSeconds"` PreviewReplicaCount int32 `json:"previewReplicaCount"` ScaleDownDelaySeconds int32 `json:"scaleDownDelaySeconds"` }
BlueGreenStrategy defines model for blueGreenStrategy.
type Build ¶
type Build struct { AccessKey *string `json:"accessKey,omitempty"` // API version of this configuration ApiVersion string `json:"apiVersion"` BuildMaterials []BuildMaterial `json:"buildMaterials"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` DockerArguments map[string]interface{} `json:"dockerArguments"` NextPipeline *Pipeline `json:"nextPipeline,omitempty"` // Action to be taken on the component Operation Operation `json:"operation"` Payload *string `json:"payload,omitempty"` PostBuild *Task `json:"postBuild,omitempty"` PreBuild *Task `json:"preBuild,omitempty"` Repo []Repo `json:"repo"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` // How will this action be initiated Trigger Trigger `json:"trigger"` WebHookUrl *string `json:"webHookUrl,omitempty"` }
Build defines model for build.
func (*Build) GetOperation ¶
func (*Build) GetProps ¶
func (o *Build) GetProps() InheritedProps
func (*Build) UpdateMissingProps ¶
func (o *Build) UpdateMissingProps(props InheritedProps) error
type BuildMaterial ¶
type BuildMaterial struct { GitMaterialUrl string `json:"gitMaterialUrl"` Source struct { Type string `json:"type"` Value string `json:"value"` Regex string `json:"regex"` } `json:"source"` }
BuildMaterial defines model for buildMaterial.
type CanaryStrategy ¶
type CanaryStrategy struct { MaxSurge string `json:"maxSurge"` Steps []interface{} `json:"steps"` }
CanaryStrategy defines model for canaryStrategy.
type Component ¶
type Component interface { GetOperation() Operation GetProps() InheritedProps UpdateMissingProps(props InheritedProps) error CompareSource(path *ResourcePath) error CompareDestination(path *ResourcePath) error }
type DataHolder ¶
type DataHolder struct { // API version of this configuration ApiVersion string `json:"apiVersion"` // If operation is clone, leaving value empty results in deletion of key in destination. Data map[string]interface{} `json:"data"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` External bool `json:"external"` ExternalType string `json:"externalType"` Global bool `json:"global"` MountPath string `json:"mountPath"` // Action to be taken on the component Operation Operation `json:"operation"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` Type string `json:"type"` }
DataHolder defines model for dataHolder.
func (*DataHolder) GetOperation ¶
func (o *DataHolder) GetOperation() Operation
func (*DataHolder) GetProps ¶
func (o *DataHolder) GetProps() InheritedProps
func (*DataHolder) UpdateMissingProps ¶
func (o *DataHolder) UpdateMissingProps(props InheritedProps) error
type Deployment ¶
type Deployment struct { // API version of this configuration ApiVersion string `json:"apiVersion"` // These are applied for environment ConfigMaps []DataHolder `json:"configMaps"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` NextPipeline *Pipeline `json:"nextPipeline,omitempty"` // Action to be taken on the component Operation Operation `json:"operation"` PostDeployment *Task `json:"postDeployment,omitempty"` PreDeployment *Task `json:"preDeployment,omitempty"` PreviousPipeline *Pipeline `json:"previousPipeline,omitempty"` RunPostStageInEnv bool `json:"runPostStageInEnv"` RunPreStageInEnv bool `json:"runPreStageInEnv"` // These are applied for environment Secrets []DataHolder `json:"secrets"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` // Strategy as defined by devtron template, this overrides at environment level Strategy DeploymentStrategy `json:"strategy"` Template *DeploymentTemplate `json:"template,omitempty"` // How will this action be initiated Trigger *Trigger `json:"trigger,omitempty"` }
Deployment defines model for deployment.
func (*Deployment) CompareDestination ¶
func (o *Deployment) CompareDestination(with *ResourcePath) error
func (*Deployment) CompareSource ¶
func (o *Deployment) CompareSource(with *ResourcePath) error
func (*Deployment) GetOperation ¶
func (o *Deployment) GetOperation() Operation
func (*Deployment) GetProps ¶
func (o *Deployment) GetProps() InheritedProps
func (*Deployment) UpdateMissingProps ¶
func (o *Deployment) UpdateMissingProps(props InheritedProps) error
type DeploymentStrategy ¶
type DeploymentStrategy struct { BlueGreen *BlueGreenStrategy `json:"blueGreen,omitempty"` Canary *CanaryStrategy `json:"canary,omitempty"` Default string `json:"default"` Recreate *RecreateStrategy `json:"recreate,omitempty"` Rolling *RollingStrategy `json:"rolling,omitempty"` }
DeploymentStrategy defines model for deploymentStrategy.
type DeploymentTemplate ¶
type DeploymentTemplate struct { // API version of this configuration ApiVersion string `json:"apiVersion"` ChartRefId int32 `json:"chartRefId"` DefaultAppOverride map[string]interface{} `json:"defaultAppOverride"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` IsAppMetricsEnabled bool `json:"isAppMetricsEnabled"` // Action to be taken on the component Operation Operation `json:"operation"` RefChartTemplate string `json:"refChartTemplate"` RefChartTemplateVersion string `json:"refChartTemplateVersion"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` ValuesOverride map[string]interface{} `json:"valuesOverride"` }
DeploymentTemplate defines model for deploymentTemplate.
func (*DeploymentTemplate) CompareDestination ¶
func (o *DeploymentTemplate) CompareDestination(with *ResourcePath) error
func (*DeploymentTemplate) CompareSource ¶
func (o *DeploymentTemplate) CompareSource(with *ResourcePath) error
func (*DeploymentTemplate) GetOperation ¶
func (o *DeploymentTemplate) GetOperation() Operation
func (*DeploymentTemplate) GetProps ¶
func (o *DeploymentTemplate) GetProps() InheritedProps
func (*DeploymentTemplate) UpdateMissingProps ¶
func (o *DeploymentTemplate) UpdateMissingProps(props InheritedProps) error
type DockerConfig ¶
type DockerConfig struct { Args map[string]interface{} `json:"args"` DockerFilePath string `json:"dockerFilePath"` DockerFileRelativePath string `json:"dockerFileRelativePath"` DockerFileRepository string `json:"dockerFileRepository"` GitMaterial string `json:"gitMaterial"` }
DockerConfig defines model for dockerConfig.
type InheritedProps ¶
type InheritedProps struct { // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` // Action to be taken on the component Operation Operation `json:"operation"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` }
InheritedProps defines model for inheritedProps.
type Pipeline ¶
type Pipeline struct { Build *Build `json:"build,omitempty"` Deployment *Deployment `json:"deployment,omitempty"` }
Pipeline defines model for pipeline.
type PipelineRequest ¶
type PipelineRequest struct { // API version of this configuration ApiVersion string `json:"apiVersion"` // Entries can be of type build or deployment Pipelines []Pipeline `json:"pipelines"` }
PipelineRequest defines model for pipelineRequest.
type RecreateStrategy ¶
type RecreateStrategy map[string]interface{}
RecreateStrategy defines model for recreateStrategy.
type Repo ¶
type Repo struct { // branch to build Branch *string `json:"branch,omitempty"` // path to checkout Path *string `json:"path,omitempty"` // git url Url *string `json:"url,omitempty"` }
Repo defines model for repo.
type ResourcePath ¶
type ResourcePath struct { App *string `json:"app,omitempty"` ConfigMap *string `json:"configMap,omitempty"` Environment *string `json:"environment,omitempty"` Pipeline *string `json:"pipeline,omitempty"` Secret *string `json:"secret,omitempty"` Uid *string `json:"uid,omitempty"` Workflow *string `json:"workflow,omitempty"` }
ResourcePath defines model for resourcePath.
type RollingStrategy ¶
type RollingStrategy struct { MaxSurge string `json:"maxSurge"` }
RollingStrategy defines model for rollingStrategy.
type Stage ¶
type Stage struct { Name string `json:"name"` // Action to be taken on the component Operation Operation `json:"operation"` OutputLocation *string `json:"outputLocation,omitempty"` Position *int32 `json:"position,omitempty"` Script *string `json:"script,omitempty"` }
Stage defines model for stage.
type Task ¶
type Task struct { // API version of this configuration ApiVersion string `json:"apiVersion"` ConfigMaps []string `json:"configMaps"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` // Action to be taken on the component Operation Operation `json:"operation"` Secrets []string `json:"secrets"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` // Different stages in this step Stages []Stage `json:"stages"` // How will this action be initiated Trigger *Trigger `json:"trigger,omitempty"` }
Task defines model for task.
func (*Task) CompareDestination ¶
func (o *Task) CompareDestination(with *ResourcePath) error
func (*Task) CompareSource ¶
func (o *Task) CompareSource(with *ResourcePath) error
func (*Task) GetOperation ¶
func (*Task) GetProps ¶
func (o *Task) GetProps() InheritedProps
func (*Task) UpdateMissingProps ¶
func (o *Task) UpdateMissingProps(props InheritedProps) error
type Workflow ¶
type Workflow struct { // API version of this configuration ApiVersion string `json:"apiVersion"` // Unique identification of resource Destination *ResourcePath `json:"destination,omitempty"` // Action to be taken on the component Operation Operation `json:"operation"` // Entries can be of type build or deployment Pipelines *[]Pipeline `json:"pipelines,omitempty"` // Unique identification of resource Source *ResourcePath `json:"source,omitempty"` }
Workflow defines model for workflow.
func (*Workflow) CompareDestination ¶
func (o *Workflow) CompareDestination(with *ResourcePath) error
func (*Workflow) CompareSource ¶
func (o *Workflow) CompareSource(with *ResourcePath) error
func (*Workflow) GetOperation ¶
func (*Workflow) GetProps ¶
func (o *Workflow) GetProps() InheritedProps
func (*Workflow) UpdateMissingProps ¶
func (o *Workflow) UpdateMissingProps(props InheritedProps) error