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