model

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package model contains definitions of model objects that are stored in the datastore.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanUpdateDeploymentStatus

func CanUpdateDeploymentStatus(cur, next DeploymentStatus) bool

CanUpdateDeploymentStatus checks whether the deployment can transit to the given status.

func CanUpdateStageStatus

func CanUpdateStageStatus(cur, next StageStatus) bool

CanUpdateStageStatus checks whether the stage can transit to the given status.

func GeneratePipedKey added in v0.1.1

func GeneratePipedKey() (key, hash string, err error)

GeneratePipedKey generates a new key for piped. This returns raw key value for used by piped and a hash value of the key for storing in datastore.

func IsCompletedDeployment

func IsCompletedDeployment(status DeploymentStatus) bool

IsCompletedDeployment checks whether the deployment is at a completion state.

func IsCompletedStage

func IsCompletedStage(status StageStatus) bool

IsCompletedStage checks whether the stage is at a completion state.

Types

type AnalysisProviderType

type AnalysisProviderType string
const (
	AnalysisProviderPrometheus  AnalysisProviderType = "PROMETHEUS"
	AnalysisProviderDatadog     AnalysisProviderType = "DATADOG"
	AnalysisProviderStackdriver AnalysisProviderType = "STACKDRIVER"
)

func (AnalysisProviderType) String

func (t AnalysisProviderType) String() string

type CloudProviderType

type CloudProviderType string
const (
	CloudProviderKubernetes CloudProviderType = "KUBERNETES"
	CloudProviderTerraform  CloudProviderType = "TERRAFORM"
	CloudProviderCloudRun   CloudProviderType = "CLOUDRUN"
	CloudProviderLambda     CloudProviderType = "LAMBDA"
)

func (CloudProviderType) String

func (t CloudProviderType) String() string

type DataStoreType

type DataStoreType string
const (
	DataStoreFirestore DataStoreType = "FIRESTORE"
	DataStoreDynamoDB  DataStoreType = "DYNAMODB"
	DataStoreMongoDB   DataStoreType = "MONGODB"
)

func (DataStoreType) String

func (t DataStoreType) String() string

type FileStoreType

type FileStoreType string
const (
	FileStoreGCS   FileStoreType = "GCS"
	FileStoreS3    FileStoreType = "S3"
	FileStoreMINIO FileStoreType = "MINIO"
)

func (FileStoreType) String

func (t FileStoreType) String() string

type ReportableCommand

type ReportableCommand struct {
	*Command
	Report func(ctx context.Context, status CommandStatus, metadata map[string]string) error
}

type Stage

type Stage string

Stage represents the middle and temporary state of application before reaching its final desired state.

const (
	// StageWait represents the waiting state for a specified period of time.
	StageWait Stage = "WAIT"
	// StageWaitApproval represents the waiting state until getting an approval
	// from one of the specified approvers.
	StageWaitApproval Stage = "WAIT_APPROVAL"
	// StageAnalysis represents the waiting state for analysing
	// the application status based on metrics, log, http request...
	StageAnalysis Stage = "ANALYSIS"

	// StageK8sSync represents the state where
	// all resources should be synced with the Git state.
	StageK8sSync Stage = "K8S_SYNC"
	// StageK8sPrimaryRollout represents the state where
	// the PRIMARY variant resources has been updated to the new version/configuration.
	StageK8sPrimaryRollout Stage = "K8S_PRIMARY_ROLLOUT"
	// StageK8sCanaryRollout represents the state where
	// the CANARY variant resources has been rolled out with the new version/configuration.
	StageK8sCanaryRollout Stage = "K8S_CANARY_ROLLOUT"
	// StageK8sCanaryClean represents the state where
	// the CANARY variant resources has been cleaned.
	StageK8sCanaryClean Stage = "K8S_CANARY_CLEAN"
	// StageK8sBaselineRollout represents the state where
	// the BASELINE variant resources has been rolled out.
	StageK8sBaselineRollout Stage = "K8S_BASELINE_ROLLOUT"
	// StageK8sBaselineClean represents the state where
	// the BASELINE variant resources has been cleaned.
	StageK8sBaselineClean Stage = "K8S_BASELINE_CLEAN"
	// StageK8sTrafficRouting represents the state where the traffic to application
	// should be splitted as the specified percentage to PRIMARY, CANARY, BASELINE variants.
	StageK8sTrafficRouting Stage = "K8S_TRAFFIC_ROUTING"

	// StageTerraformPlan shows terraform plan result.
	StageTerraformPlan Stage = "TERRAFORM_PLAN"
	// StageTerraformApply represents the state where
	// the new configuration has been applied.
	StageTerraformApply Stage = "TERRAFORM_APPLY"

	// StageCloudRunNewVersionRollout represents the state where
	// the workloads of the new version has been rolled out.
	StageCloudRunNewVersionRollout Stage = "CLOUDRUN_NEW_VERSION_ROLLOUT"
	// StageCloudRunTrafficRouting represents the state where the traffic to application
	// should be splitted as the specified percentage to previous version and new version.
	StageCloudRunTrafficRouting Stage = "CLOUDRUN_TRAFFIC_ROUTING"

	// StageLambdaNewVersionRollout represents the state where
	// the workloads of the new version has been rolled out.
	StageLambdaNewVersionRollout Stage = "LAMBDA_NEW_VERSION_ROLLOUT"
	// StageLambdaTrafficRouting represents the state where the traffic to application
	// should be splitted as the specified percentage to previous version and new version.
	StageLambdaTrafficRouting Stage = "LAMBDA_TRAFFIC_ROUTING"

	// StageRollback represents a state where
	// the all temporarily created stages will be reverted to
	// bring back the pre-deploy stage.
	// This stage is AUTOMATICALLY GENERATED and can not be used
	// to specify in configuration file.
	StageRollback Stage = "ROLLBACK"
)

func (Stage) String

func (s Stage) String() string

Jump to

Keyboard shortcuts

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