v1beta1

package
v1.5.8 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the env v1beta1 API group +kubebuilder:object:generate=true +groupName=env.samsahai.io

Index

Constants

View Source
const (
	// QueueType
	//
	// QueueTypeUpgrade
	QueueTypeUpgrade QueueType = "upgrade"

	// QueueTypeReverify we will deploy last stable to check is there any environment issue
	QueueTypeReverify QueueType = "reverify"

	// QueueTypePreActive
	QueueTypePreActive QueueType = "pre-active"

	// QueueTypePromoteToActive
	QueueTypePromoteToActive QueueType = "promote-to-active"

	// QueueTypeDemoteFromActive components will deploy with latest stable + `tmp` env config
	QueueTypeDemoteFromActive QueueType = "demote-from-active"

	// QueueState
	//
	// Waiting waiting in queues
	Waiting QueueState = "waiting"

	// CleaningBefore cleans before running
	CleaningBefore QueueState = "cleaning_before"

	// DetectingImageMissing detects image missing before running
	DetectingImageMissing QueueState = "detecting_image_missing"

	// Creating the environment is creating for test this queue
	Creating QueueState = "creating"

	// Testing the test is running for testing this queue
	Testing QueueState = "testing"

	// CleaningBefore cleans after running
	CleaningAfter QueueState = "cleaning_after"

	// Collecting collecting the result from testing
	Collecting QueueState = "collecting"

	// Deleting queue is being removed
	Deleting QueueState = "deleting"

	// Cancelling queue is being cancelled (deleted by user)
	Cancelling QueueState = "cancelling"

	// Finished queue is in finished state, waiting for next process (for preActive, promoteToActive)
	Finished QueueState = "finished"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "env.samsahai.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func SortComponentsByOutdatedDuration

func SortComponentsByOutdatedDuration(components []OutdatedComponent)

SortComponentsByOutdatedDuration sorts components by outdated days descending order

Types

type ActivePromotion

type ActivePromotion struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ActivePromotionSpec   `json:"spec,omitempty"`
	Status ActivePromotionStatus `json:"status,omitempty"`
}

ActivePromotion is the Schema for the activepromotions API

func (*ActivePromotion) DeepCopy

func (in *ActivePromotion) DeepCopy() *ActivePromotion

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotion.

func (*ActivePromotion) DeepCopyInto

func (in *ActivePromotion) DeepCopyInto(out *ActivePromotion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotion) DeepCopyObject

func (in *ActivePromotion) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ActivePromotion) IsActivePromotionCanceled

func (a *ActivePromotion) IsActivePromotionCanceled() bool

func (*ActivePromotion) IsActivePromotionFailure

func (a *ActivePromotion) IsActivePromotionFailure() bool

func (*ActivePromotion) IsActivePromotionSuccess

func (a *ActivePromotion) IsActivePromotionSuccess() bool

func (*ActivePromotion) SetState

func (a *ActivePromotion) SetState(state ActivePromotionState, message string)

type ActivePromotionByCreatedTimeASC

type ActivePromotionByCreatedTimeASC []ActivePromotion

func (ActivePromotionByCreatedTimeASC) Len

func (ActivePromotionByCreatedTimeASC) Less

func (ActivePromotionByCreatedTimeASC) Swap

func (a ActivePromotionByCreatedTimeASC) Swap(i, j int)

type ActivePromotionCondition

type ActivePromotionCondition struct {
	Type   ActivePromotionConditionType `json:"type"`
	Status v1.ConditionStatus           `json:"status"`
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// +optional
	Reason string `json:"reason,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
}

func (*ActivePromotionCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionCondition.

func (*ActivePromotionCondition) DeepCopyInto

func (in *ActivePromotionCondition) DeepCopyInto(out *ActivePromotionCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActivePromotionConditionType

type ActivePromotionConditionType string
const (
	// ActivePromotionCondStarted means the active promotion process has been started
	ActivePromotionCondStarted ActivePromotionConditionType = "ActivePromotionStarted"
	// ActivePromotionPreActiveCreated means the pre-active environment was created
	ActivePromotionCondPreActiveCreated ActivePromotionConditionType = "PreActiveCreated"
	// ActivePromotionCondVerificationStarted means start verifying pre-active environment
	ActivePromotionCondVerificationStarted ActivePromotionConditionType = "PreActiveVerificationStarted"
	// ActivePromotionCondVerified means the pre-active environment has been verified
	ActivePromotionCondVerified ActivePromotionConditionType = "PreActiveVerified"
	// ActivePromotionCondResultCollected means the result of active promotion has been collected
	ActivePromotionCondResultCollected ActivePromotionConditionType = "ResultCollected"
	// ActivePromotionCondActiveDemotionStarted means start demoting a previous active namespace
	ActivePromotionCondActiveDemotionStarted ActivePromotionConditionType = "ActiveDemotionStarted"
	// ActivePromotionCondActiveDemotionFinished means a previous active environment has been demoted
	ActivePromotionCondActiveDemoted ActivePromotionConditionType = "ActiveDemoted"

	// ActivePromotionCondActivePromoted means the pre-active namespace has been promoted to be a new active
	// In case of successful promoting
	ActivePromotionCondActivePromoted ActivePromotionConditionType = "ActivePromoted"
	// ActivePromotionCondPreviousActiveDestroyed means previous active namespace has been destroyed
	// In case of successful promoting
	ActivePromotionCondPreviousActiveDestroyed ActivePromotionConditionType = "PreviousActiveDestroyed"
	// ActivePromotionCondPreActiveDestroyed means the pre-active namespace has been destroyed
	// In case of failed promoting
	ActivePromotionCondPreActiveDestroyed ActivePromotionConditionType = "PreActiveDestroyed"

	// ActivePromotionCondFinished means the active promotion process has been finished
	ActivePromotionCondFinished ActivePromotionConditionType = "Finished"

	// ActivePromotionCondRollbackStarted means the rollback process has been started
	ActivePromotionCondRollbackStarted ActivePromotionConditionType = "Rollback"
)

type ActivePromotionDemotionStatus

type ActivePromotionDemotionStatus string

ActivePromotionDemotionStatus represents the active demotion status

const (
	ActivePromotionDemotionSuccess ActivePromotionDemotionStatus = "Success"
	ActivePromotionDemotionFailure ActivePromotionDemotionStatus = "Failure"
)

type ActivePromotionHistory

type ActivePromotionHistory struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ActivePromotionHistorySpec   `json:"spec,omitempty"`
	Status ActivePromotionHistoryStatus `json:"status,omitempty"`
}

ActivePromotionHistory is the Schema for the activepromotionhistories API

func (*ActivePromotionHistory) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionHistory.

func (*ActivePromotionHistory) DeepCopyInto

func (in *ActivePromotionHistory) DeepCopyInto(out *ActivePromotionHistory)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotionHistory) DeepCopyObject

func (in *ActivePromotionHistory) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ActivePromotionHistoryByCreatedTimeDESC

type ActivePromotionHistoryByCreatedTimeDESC []ActivePromotionHistory

func (ActivePromotionHistoryByCreatedTimeDESC) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionHistoryByCreatedTimeDESC.

func (ActivePromotionHistoryByCreatedTimeDESC) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ActivePromotionHistoryByCreatedTimeDESC) Len

func (ActivePromotionHistoryByCreatedTimeDESC) Less

func (ActivePromotionHistoryByCreatedTimeDESC) Swap

type ActivePromotionHistoryList

type ActivePromotionHistoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ActivePromotionHistory `json:"items"`
}

ActivePromotionHistoryList contains a list of ActivePromotionHistory

func (*ActivePromotionHistoryList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionHistoryList.

func (*ActivePromotionHistoryList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotionHistoryList) DeepCopyObject

func (in *ActivePromotionHistoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ActivePromotionHistoryList) SortDESC

func (al *ActivePromotionHistoryList) SortDESC()

sort ActivePromotion by timestamp DESC

type ActivePromotionHistorySpec

type ActivePromotionHistorySpec struct {
	TeamName        string           `json:"teamName,omitempty"`
	ActivePromotion *ActivePromotion `json:"activePromotion,omitempty"`
	IsSuccess       bool             `json:"isSuccess,omitempty"`

	// TODO: store values file of all components
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`
}

ActivePromotionHistorySpec defines the desired state of ActivePromotionHistory

func (*ActivePromotionHistorySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionHistorySpec.

func (*ActivePromotionHistorySpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActivePromotionHistoryStatus

type ActivePromotionHistoryStatus struct {
}

ActivePromotionHistoryStatus defines the observed state of ActivePromotionHistory

func (*ActivePromotionHistoryStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionHistoryStatus.

func (*ActivePromotionHistoryStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ActivePromotionList

type ActivePromotionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ActivePromotion `json:"items"`
}

ActivePromotionList contains a list of ActivePromotion

func (*ActivePromotionList) DeepCopy

func (in *ActivePromotionList) DeepCopy() *ActivePromotionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionList.

func (*ActivePromotionList) DeepCopyInto

func (in *ActivePromotionList) DeepCopyInto(out *ActivePromotionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotionList) DeepCopyObject

func (in *ActivePromotionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ActivePromotionList) SortASC

func (al *ActivePromotionList) SortASC()

sort ActivePromotion by timestamp ASC

type ActivePromotionResult

type ActivePromotionResult string

ActivePromotionResult represents the result status of an active promotion

const (
	ActivePromotionCanceled ActivePromotionResult = "Canceled"
	ActivePromotionSuccess  ActivePromotionResult = "Success"
	ActivePromotionFailure  ActivePromotionResult = "Failure"
)

type ActivePromotionRollbackStatus

type ActivePromotionRollbackStatus string

ActivePromotionRollbackStatus represents the rollback status of an active promotion

const (
	ActivePromotionRollbackSuccess ActivePromotionRollbackStatus = "Success"
	ActivePromotionRollbackFailure ActivePromotionRollbackStatus = "Failure"
)

type ActivePromotionSpec

type ActivePromotionSpec struct {
	// TearDownDuration represents duration before tear down the previous active namespace
	// +optional
	TearDownDuration *metav1.Duration `json:"tearDownDuration,omitempty"`

	// SkipTestRunner represents a flag for skipping running pre-active test
	// +optional
	SkipTestRunner bool `json:"skipTestRunner,omitempty"`

	// PromotedBy represents a person who promoted the ActivePromotion
	// +optional
	PromotedBy string `json:"promotedBy,omitempty"`
}

ActivePromotionSpec defines the desired state of ActivePromotion

func (*ActivePromotionSpec) DeepCopy

func (in *ActivePromotionSpec) DeepCopy() *ActivePromotionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionSpec.

func (*ActivePromotionSpec) DeepCopyInto

func (in *ActivePromotionSpec) DeepCopyInto(out *ActivePromotionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotionSpec) SetTearDownDuration

func (s *ActivePromotionSpec) SetTearDownDuration(d metav1.Duration)

type ActivePromotionState

type ActivePromotionState string

ActivePromotionState holds a possible state of an active promotion Only one of its members may be specified

const (
	ActivePromotionWaiting                   ActivePromotionState = "Waiting"
	ActivePromotionCreatingPreActive         ActivePromotionState = "CreatingPreActiveEnvironment"
	ActivePromotionDeployingComponents       ActivePromotionState = "DeployingStableComponents"
	ActivePromotionTestingPreActive          ActivePromotionState = "TestingPreActiveEnvironment"
	ActivePromotionCollectingPreActiveResult ActivePromotionState = "CollectingPreActiveResult"
	ActivePromotionDemoting                  ActivePromotionState = "DemotingActiveEnvironment"
	ActivePromotionActiveEnvironment         ActivePromotionState = "PromotingActiveEnvironment"
	ActivePromotionDestroyingPreviousActive  ActivePromotionState = "DestroyingPreviousActiveEnvironment"
	ActivePromotionDestroyingPreActive       ActivePromotionState = "DestroyingPreActiveEnvironment"
	ActivePromotionFinished                  ActivePromotionState = "Finished"
	ActivePromotionRollback                  ActivePromotionState = "Rollback"
)

type ActivePromotionStatus

type ActivePromotionStatus struct {
	// ActivePromotionState represents a current state of the active promotion
	// +optional
	State ActivePromotionState `json:"state,omitempty"`
	// Message defines details about why the active promotion is in this condition
	// +optional
	Message string `json:"message,omitempty"`
	// StartedAt represents time at which the active promotion started
	// +optional
	StartedAt *metav1.Time `json:"startedAt,omitempty"`
	// UpdatedAt represents time at which the active promotion finished
	// +optional
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`
	// TargetNamespace represents a pre-active namespace
	// +optional
	TargetNamespace string `json:"targetNamespace,omitempty"`
	// PreviousActiveNamespace represents an active namespace before promoting
	// +optional
	PreviousActiveNamespace string `json:"previousActiveNamespace,omitempty"`
	// Result represents a result of the active promotion
	// +optional
	Result ActivePromotionResult `json:"result,omitempty"`
	// DestroyedTime represents time at which the previous active namespace will be destroyed
	// +optional
	DestroyedTime *metav1.Time `json:"destroyedTime,omitempty"`
	// ActivePromotionHistoryName represents created ActivePromotionHistoryName name
	// +optional
	ActivePromotionHistoryName string `json:"activePromotionHistoryName,omitempty"`
	// HasOutdatedComponent defines whether current active promotion has outdated component or not
	// +optional
	HasOutdatedComponent bool `json:"hasOutdatedComponent,omitempty"`
	// IsTimeout defines whether the active promotion has been timeout or not
	// +optional
	IsTimeout bool `json:"isTimeout,omitempty"`
	// ActiveComponents represents a list of promoted active components
	// +optional
	ActiveComponents map[string]StableComponent `json:"activeComponents,omitempty"`
	// OutdatedComponents represents map of outdated components
	// +optional
	OutdatedComponents map[string]OutdatedComponent `json:"outdatedComponents,omitempty"`
	// RollbackStatus represents a status of the rollback process
	// +optional
	RollbackStatus ActivePromotionRollbackStatus `json:"rollbackStatus,omitempty"`
	// DemotionStatus represents a status of the active demotion
	// +optional
	DemotionStatus ActivePromotionDemotionStatus `json:"demotionStatus,omitempty"`
	// PreActiveQueue represents a pre-active queue status
	// +optional
	PreActiveQueue QueueStatus `json:"preActiveQueue,omitempty"`

	// Conditions contains observations of the resource's state e.g.,
	// Queue deployed, being tested
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []ActivePromotionCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ActivePromotionStatus defines the observed state of ActivePromotion

func (*ActivePromotionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivePromotionStatus.

func (*ActivePromotionStatus) DeepCopyInto

func (in *ActivePromotionStatus) DeepCopyInto(out *ActivePromotionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivePromotionStatus) GetConditionLatestTime

func (s *ActivePromotionStatus) GetConditionLatestTime(cond ActivePromotionConditionType) *metav1.Time

func (*ActivePromotionStatus) IsConditionTrue

func (s *ActivePromotionStatus) IsConditionTrue(cond ActivePromotionConditionType) bool

func (*ActivePromotionStatus) SetActiveComponents

func (s *ActivePromotionStatus) SetActiveComponents(comps []StableComponent)

func (*ActivePromotionStatus) SetActivePromotionHistoryName

func (s *ActivePromotionStatus) SetActivePromotionHistoryName(atpHistName string)

func (*ActivePromotionStatus) SetCondition

func (s *ActivePromotionStatus) SetCondition(cond ActivePromotionConditionType, status v1.ConditionStatus, message string)

func (*ActivePromotionStatus) SetDemotionStatus

func (s *ActivePromotionStatus) SetDemotionStatus(status ActivePromotionDemotionStatus)

func (*ActivePromotionStatus) SetDestroyedTime

func (s *ActivePromotionStatus) SetDestroyedTime(destroyedTime metav1.Time)

func (*ActivePromotionStatus) SetIsTimeout

func (s *ActivePromotionStatus) SetIsTimeout()

func (*ActivePromotionStatus) SetNamespace

func (s *ActivePromotionStatus) SetNamespace(targetNs, currentActiveNs string)

func (*ActivePromotionStatus) SetPreActiveQueue

func (s *ActivePromotionStatus) SetPreActiveQueue(qs QueueStatus)

func (*ActivePromotionStatus) SetResult

func (s *ActivePromotionStatus) SetResult(res ActivePromotionResult)

func (*ActivePromotionStatus) SetRollbackStatus

func (s *ActivePromotionStatus) SetRollbackStatus(status ActivePromotionRollbackStatus)

type ChartValuesURLs added in v1.1.0

type ChartValuesURLs map[string][]string

ChartValuesURLs represents values file URL of each chart

func (ChartValuesURLs) DeepCopy added in v1.1.0

func (in ChartValuesURLs) DeepCopy() ChartValuesURLs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartValuesURLs.

func (ChartValuesURLs) DeepCopyInto added in v1.1.0

func (in ChartValuesURLs) DeepCopyInto(out *ChartValuesURLs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CommandAndArgs added in v1.1.0

type CommandAndArgs struct {
	Command []string `json:"command"`
	// +optional
	Args []string `json:"args,omitempty"`
}

CommandAndArgs defines commands and args

func (*CommandAndArgs) DeepCopy added in v1.1.0

func (in *CommandAndArgs) DeepCopy() *CommandAndArgs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommandAndArgs.

func (*CommandAndArgs) DeepCopyInto added in v1.1.0

func (in *CommandAndArgs) DeepCopyInto(out *CommandAndArgs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Component added in v1.1.0

type Component struct {
	// +optional
	Parent string         `json:"parent,omitempty"`
	Name   string         `json:"name"`
	Chart  ComponentChart `json:"chart"`
	Image  ComponentImage `json:"image,omitempty"`
	// +optional
	Values ComponentValues `json:"values,omitempty"`
	// +optional
	Source *UpdatingSource `json:"source,omitempty"`
	// +optional
	Dependencies []*Component `json:"dependencies,omitempty"`
	// +optional
	Schedules []string `json:"schedules,omitempty"`
}

Component represents a chart of component and it's dependencies

func (*Component) DeepCopy added in v1.1.0

func (in *Component) DeepCopy() *Component

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.

func (*Component) DeepCopyInto added in v1.1.0

func (in *Component) DeepCopyInto(out *Component)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentByName added in v1.4.0

type ComponentByName []*QueueComponent

func (ComponentByName) DeepCopy added in v1.4.0

func (in ComponentByName) DeepCopy() ComponentByName

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentByName.

func (ComponentByName) DeepCopyInto added in v1.4.0

func (in ComponentByName) DeepCopyInto(out *ComponentByName)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ComponentByName) Len added in v1.4.0

func (q ComponentByName) Len() int

func (ComponentByName) Less added in v1.4.0

func (q ComponentByName) Less(i, j int) bool

func (ComponentByName) Swap added in v1.4.0

func (q ComponentByName) Swap(i, j int)

type ComponentChart added in v1.1.0

type ComponentChart struct {
	Repository string `json:"repository"`
	Name       string `json:"name"`
	// +optional
	Version string `json:"version,omitempty"`
}

ComponentChart represents a chart repository, name and version

func (*ComponentChart) DeepCopy added in v1.1.0

func (in *ComponentChart) DeepCopy() *ComponentChart

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentChart.

func (*ComponentChart) DeepCopyInto added in v1.1.0

func (in *ComponentChart) DeepCopyInto(out *ComponentChart)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentImage added in v1.1.0

type ComponentImage struct {
	Repository string `json:"repository"`
	// +optional
	Tag string `json:"tag,omitempty"`
	// +optional
	Pattern string `json:"pattern,omitempty"`
}

ComponentImage represents an image repository, tag and pattern which is a regex of tag

func (*ComponentImage) DeepCopy added in v1.1.0

func (in *ComponentImage) DeepCopy() *ComponentImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentImage.

func (*ComponentImage) DeepCopyInto added in v1.1.0

func (in *ComponentImage) DeepCopyInto(out *ComponentImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentValues added in v1.1.0

type ComponentValues map[string]interface{}

+k8s:deepcopy-gen=false ComponentValues represents values of a component chart

func (*ComponentValues) DeepCopy added in v1.1.0

func (in *ComponentValues) DeepCopy() *ComponentValues

func (*ComponentValues) DeepCopyInto added in v1.1.0

func (in *ComponentValues) DeepCopyInto(out *ComponentValues)

type Config added in v1.1.0

type Config struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ConfigSpec   `json:"spec,omitempty"`
	Status ConfigStatus `json:"status,omitempty"`
}

Config is the Schema for the configs API

func (*Config) DeepCopy added in v1.1.0

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto added in v1.1.0

func (in *Config) DeepCopyInto(out *Config)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Config) DeepCopyObject added in v1.1.0

func (in *Config) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ConfigActivePromotion added in v1.1.0

type ConfigActivePromotion struct {
	// Timeout defines maximum duration for doing active promotion
	// +optional
	Timeout metav1.Duration `json:"timeout,omitempty"`

	// DemotionTimeout defines maximum duration for doing active demotion
	// +optional
	DemotionTimeout metav1.Duration `json:"demotionTimeout,omitempty"`

	// RollbackTimeout defines maximum duration for rolling back active promotion
	// +optional
	RollbackTimeout metav1.Duration `json:"rollbackTimeout,omitempty"`

	// MaxHistories defines maximum length of ActivePromotionHistory stored per team
	// +optional
	MaxHistories int `json:"maxHistories,omitempty"`

	// TearDownDuration defines duration before teardown the previous active namespace
	// +optional
	TearDownDuration metav1.Duration `json:"tearDownDuration,omitempty"`

	// OutdatedNotification defines a configuration of outdated notification
	// +optional
	OutdatedNotification *OutdatedNotification `json:"outdatedNotification,omitempty"`

	// Deployment represents configuration about deploy
	Deployment *ConfigDeploy `json:"deployment"`
}

ConfigActivePromotion represents configuration about active promotion

func (*ConfigActivePromotion) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigActivePromotion.

func (*ConfigActivePromotion) DeepCopyInto added in v1.1.0

func (in *ConfigActivePromotion) DeepCopyInto(out *ConfigActivePromotion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigBundles added in v1.4.0

type ConfigBundles map[string][]string

ConfigBundles represents a group of component for each bundle to verify a group of components of a same bundle together in staging environment

func (ConfigBundles) DeepCopy added in v1.4.0

func (in ConfigBundles) DeepCopy() ConfigBundles

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigBundles.

func (ConfigBundles) DeepCopyInto added in v1.4.0

func (in ConfigBundles) DeepCopyInto(out *ConfigBundles)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigComponentUpgrade added in v1.1.0

type ConfigComponentUpgrade struct {
	// +optional
	Interval ReporterInterval `json:"interval,omitempty"`
	// +optional
	Criteria ReporterCriteria `json:"criteria,omitempty"`
}

ConfigComponentUpgrade defines a configuration of component upgrade report

func (*ConfigComponentUpgrade) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigComponentUpgrade.

func (*ConfigComponentUpgrade) DeepCopyInto added in v1.1.0

func (in *ConfigComponentUpgrade) DeepCopyInto(out *ConfigComponentUpgrade)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigDeploy added in v1.1.0

type ConfigDeploy struct {
	// Timeout defines maximum duration for deploying environment
	// +optional
	Timeout metav1.Duration `json:"timeout,omitempty"`

	// ComponentCleanupTimeout defines timeout duration of component cleaning up
	// +optional
	ComponentCleanupTimeout metav1.Duration `json:"componentCleanupTimeout,omitempty"`

	// Engine defines method of deploying
	//
	// mock - for test only, always return success
	//
	// helm3 - deploy chart with helm3
	// +optional
	Engine *string `json:"engine,omitempty"`

	// TestRunner represents configuration about test
	// +optional
	TestRunner *ConfigTestRunner `json:"testRunner,omitempty"`
}

func (*ConfigDeploy) DeepCopy added in v1.1.0

func (in *ConfigDeploy) DeepCopy() *ConfigDeploy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigDeploy.

func (*ConfigDeploy) DeepCopyInto added in v1.1.0

func (in *ConfigDeploy) DeepCopyInto(out *ConfigDeploy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigList added in v1.1.0

type ConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Config `json:"items"`
}

ConfigList contains a list of Config

func (*ConfigList) DeepCopy added in v1.1.0

func (in *ConfigList) DeepCopy() *ConfigList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.

func (*ConfigList) DeepCopyInto added in v1.1.0

func (in *ConfigList) DeepCopyInto(out *ConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConfigList) DeepCopyObject added in v1.1.0

func (in *ConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ConfigReporter added in v1.1.0

type ConfigReporter struct {
	// +optional
	Optional []ReportOption `json:"optionals,omitempty"`
	// +optional
	Slack *Slack `json:"slack,omitempty"`
	// +optional
	MSTeams *MSTeams `json:"msTeams,omitempty"`
	// +optional
	Rest *Rest `json:"rest,omitempty"`
	// +optional
	Shell *Shell `json:"cmd,omitempty"`
	// +optional
	ReportMock bool `json:"reportMock,omitempty"`
}

ConfigReporter represents configuration about sending notification

func (*ConfigReporter) DeepCopy added in v1.1.0

func (in *ConfigReporter) DeepCopy() *ConfigReporter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigReporter.

func (*ConfigReporter) DeepCopyInto added in v1.1.0

func (in *ConfigReporter) DeepCopyInto(out *ConfigReporter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigSpec added in v1.1.0

type ConfigSpec struct {
	// Components represents all components that are managed
	Components []*Component `json:"components"`

	// Bundles represents a group of component for each bundle
	// +optional
	Bundles ConfigBundles `json:"bundles,omitempty"`

	// PriorityQueues represents a list of bundles/components' name which needs to be prioritized
	// the first one has the highest priority and the last one has the lowest priority
	// +optional
	PriorityQueues []string `json:"priorityQueues,omitempty"`

	// Staging represents configuration about staging
	Staging *ConfigStaging `json:"staging"`

	// ActivePromotion represents configuration about active promotion
	// +optional
	ActivePromotion *ConfigActivePromotion `json:"activePromotion,omitempty"`

	// Envs represents urls of values file per environments
	// ordering by less priority to high priority
	// +optional
	Envs map[EnvType]ChartValuesURLs `json:"envs,omitempty"`

	// Reporter represents configuration about reporter
	// +optional
	Reporter *ConfigReporter `json:"report,omitempty"`
}

ConfigSpec defines the desired state of Config

func (*ConfigSpec) DeepCopy added in v1.1.0

func (in *ConfigSpec) DeepCopy() *ConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.

func (*ConfigSpec) DeepCopyInto added in v1.1.0

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigStaging added in v1.1.0

type ConfigStaging struct {
	// Deployment represents configuration about deploy
	Deployment *ConfigDeploy `json:"deployment"`

	// MaxRetry defines max retry counts of component upgrade
	// +optional
	MaxRetry int `json:"maxRetry,omitempty"`

	// MaxHistoryDays defines maximum days of QueueHistory stored
	// +optional
	MaxHistoryDays int `json:"maxHistoryDays,omitempty"`
}

ConfigStaging represents configuration about staging

func (*ConfigStaging) DeepCopy added in v1.1.0

func (in *ConfigStaging) DeepCopy() *ConfigStaging

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStaging.

func (*ConfigStaging) DeepCopyInto added in v1.1.0

func (in *ConfigStaging) DeepCopyInto(out *ConfigStaging)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigStatus added in v1.1.0

type ConfigStatus struct {
}

ConfigStatus defines the observed state of Config

func (*ConfigStatus) DeepCopy added in v1.1.0

func (in *ConfigStatus) DeepCopy() *ConfigStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigStatus.

func (*ConfigStatus) DeepCopyInto added in v1.1.0

func (in *ConfigStatus) DeepCopyInto(out *ConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigTeamcity added in v1.1.0

type ConfigTeamcity struct {
	BuildTypeID string `json:"buildTypeID" yaml:"buildTypeID"`
	Branch      string `json:"branch" yaml:"branch"`
}

ConfigTeamcity defines a http rest configuration of teamcity

func (*ConfigTeamcity) DeepCopy added in v1.1.0

func (in *ConfigTeamcity) DeepCopy() *ConfigTeamcity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigTeamcity.

func (*ConfigTeamcity) DeepCopyInto added in v1.1.0

func (in *ConfigTeamcity) DeepCopyInto(out *ConfigTeamcity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigTestMock added in v1.1.0

type ConfigTestMock struct {
	Result bool `json:"result" yaml:"result"`
}

ConfigTestMock defines a result of testmock

func (*ConfigTestMock) DeepCopy added in v1.1.0

func (in *ConfigTestMock) DeepCopy() *ConfigTestMock

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigTestMock.

func (*ConfigTestMock) DeepCopyInto added in v1.1.0

func (in *ConfigTestMock) DeepCopyInto(out *ConfigTestMock)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigTestRunner added in v1.1.0

type ConfigTestRunner struct {
	// +optional
	Timeout metav1.Duration `json:"timeout,omitempty"`
	// +optional
	PollingTime metav1.Duration `json:"pollingTime,omitempty"`
	// +optional
	Teamcity *ConfigTeamcity `json:"teamcity,omitempty"`
	// +optional
	TestMock *ConfigTestMock `json:"testMock,omitempty"`
}

ConfigTestRunner represents configuration about how to test the environment

func (*ConfigTestRunner) DeepCopy added in v1.1.0

func (in *ConfigTestRunner) DeepCopy() *ConfigTestRunner

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigTestRunner.

func (*ConfigTestRunner) DeepCopyInto added in v1.1.0

func (in *ConfigTestRunner) DeepCopyInto(out *ConfigTestRunner)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Credential

type Credential struct {
	// SecretName
	SecretName string `json:"secretName,omitempty"`

	// Teamcity
	// +optional
	Teamcity *UsernamePasswordCredential `json:"teamcity,omitempty"`
}

func (*Credential) DeepCopy

func (in *Credential) DeepCopy() *Credential

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Credential.

func (*Credential) DeepCopyInto

func (in *Credential) DeepCopyInto(out *Credential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DesiredComponent

type DesiredComponent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DesiredComponentSpec   `json:"spec,omitempty"`
	Status DesiredComponentStatus `json:"status,omitempty"`
}

DesiredComponent is the Schema for the desiredcomponents API

func (*DesiredComponent) DeepCopy

func (in *DesiredComponent) DeepCopy() *DesiredComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredComponent.

func (*DesiredComponent) DeepCopyInto

func (in *DesiredComponent) DeepCopyInto(out *DesiredComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DesiredComponent) DeepCopyObject

func (in *DesiredComponent) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DesiredComponent) IsSame

func (c *DesiredComponent) IsSame(d *DesiredComponent) bool

type DesiredComponentList

type DesiredComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DesiredComponent `json:"items"`
}

DesiredComponentList contains a list of DesiredComponent

func (*DesiredComponentList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredComponentList.

func (*DesiredComponentList) DeepCopyInto

func (in *DesiredComponentList) DeepCopyInto(out *DesiredComponentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DesiredComponentList) DeepCopyObject

func (in *DesiredComponentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DesiredComponentSpec

type DesiredComponentSpec struct {
	Name       string `json:"name"`
	Version    string `json:"version"`
	Repository string `json:"repository"`

	// +Optional
	Bundle string `json:"bundle,omitempty"`
}

DesiredComponentSpec defines the desired state of DesiredComponent

func (*DesiredComponentSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredComponentSpec.

func (*DesiredComponentSpec) DeepCopyInto

func (in *DesiredComponentSpec) DeepCopyInto(out *DesiredComponentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DesiredComponentStatus

type DesiredComponentStatus struct {
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`
}

DesiredComponentStatus defines the observed state of DesiredComponent

func (*DesiredComponentStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredComponentStatus.

func (*DesiredComponentStatus) DeepCopyInto

func (in *DesiredComponentStatus) DeepCopyInto(out *DesiredComponentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DesiredImageTime

type DesiredImageTime struct {
	*Image      `json:"image"`
	CreatedTime metav1.Time `json:"createdTime"`
}

func (*DesiredImageTime) DeepCopy

func (in *DesiredImageTime) DeepCopy() *DesiredImageTime

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DesiredImageTime.

func (*DesiredImageTime) DeepCopyInto

func (in *DesiredImageTime) DeepCopyInto(out *DesiredImageTime)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Endpoint added in v1.1.0

type Endpoint struct {
	URL string `json:"url"`
}

Endpoint defines a configuration of rest endpoint

func (*Endpoint) DeepCopy added in v1.1.0

func (in *Endpoint) DeepCopy() *Endpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.

func (*Endpoint) DeepCopyInto added in v1.1.0

func (in *Endpoint) DeepCopyInto(out *Endpoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvType added in v1.1.0

type EnvType string
const (
	EnvBase      EnvType = "base"
	EnvStaging   EnvType = "staging"
	EnvPreActive EnvType = "pre-active"
	EnvActive    EnvType = "active"
	EnvDeActive  EnvType = "de-active"
)

type Image

type Image struct {
	Repository string `json:"repository"`
	Tag        string `json:"tag"`
}

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MSTeams added in v1.3.0

type MSTeams struct {
	Groups []MSTeamsGroup `json:"groups"`
	// +optional
	ComponentUpgrade *ConfigComponentUpgrade `json:"componentUpgrade,omitempty"`
}

MSTeams defines a configuration of Microsoft Teams

func (*MSTeams) DeepCopy added in v1.3.0

func (in *MSTeams) DeepCopy() *MSTeams

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSTeams.

func (*MSTeams) DeepCopyInto added in v1.3.0

func (in *MSTeams) DeepCopyInto(out *MSTeams)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MSTeamsGroup added in v1.3.0

type MSTeamsGroup struct {
	GroupNameOrID    string   `json:"groupNameOrID"`
	ChannelNameOrIDs []string `json:"channelNameOrIDs"`
}

MSTeamsGroup defines group name/id and channel name/id of Microsoft Teams

func (*MSTeamsGroup) DeepCopy added in v1.3.0

func (in *MSTeamsGroup) DeepCopy() *MSTeamsGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSTeamsGroup.

func (*MSTeamsGroup) DeepCopyInto added in v1.3.0

func (in *MSTeamsGroup) DeepCopyInto(out *MSTeamsGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutdatedComponent

type OutdatedComponent struct {
	CurrentImage     *Image        `json:"currentImage"`
	DesiredImage     *Image        `json:"desiredImage"`
	OutdatedDuration time.Duration `json:"outdatedDuration"`
}

OutdatedComponent defines properties of outdated component

func (*OutdatedComponent) DeepCopy

func (in *OutdatedComponent) DeepCopy() *OutdatedComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutdatedComponent.

func (*OutdatedComponent) DeepCopyInto

func (in *OutdatedComponent) DeepCopyInto(out *OutdatedComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OutdatedNotification added in v1.1.0

type OutdatedNotification struct {
	// +optional
	ExceedDuration metav1.Duration `json:"exceedDuration,omitempty"`
	// +optional
	ExcludeWeekendCalculation bool `json:"excludeWeekendCalculation,omitempty"`
}

OutdatedNotification defines a configuration of outdated notification

func (*OutdatedNotification) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutdatedNotification.

func (*OutdatedNotification) DeepCopyInto added in v1.1.0

func (in *OutdatedNotification) DeepCopyInto(out *OutdatedNotification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Queue

type Queue struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QueueSpec   `json:"spec,omitempty"`
	Status QueueStatus `json:"status,omitempty"`
}

Queue is the Schema for the queues API

func (*Queue) ContainSameComponent added in v1.4.0

func (q *Queue) ContainSameComponent(dName string, dComp *QueueComponent) bool

func (*Queue) DeepCopy

func (in *Queue) DeepCopy() *Queue

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Queue.

func (*Queue) DeepCopyInto

func (in *Queue) DeepCopyInto(out *Queue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Queue) DeepCopyObject

func (in *Queue) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Queue) GetEnvType

func (q *Queue) GetEnvType() string

GetEnvType returns environment type for connection based on Queue.Spec.Type

func (*Queue) GetQueueType

func (q *Queue) GetQueueType() string

GetQueueType returns queue type based on Queue.Spec.Type

func (*Queue) IsActivePromotionQueue

func (q *Queue) IsActivePromotionQueue() bool

func (*Queue) IsDeploySuccess

func (q *Queue) IsDeploySuccess() bool

func (*Queue) IsReverify

func (q *Queue) IsReverify() bool

func (*Queue) IsTestSuccess

func (q *Queue) IsTestSuccess() bool

func (*Queue) SetState

func (q *Queue) SetState(state QueueState)

type QueueByNoOfOrder added in v1.4.0

type QueueByNoOfOrder []Queue

func (QueueByNoOfOrder) DeepCopy added in v1.4.0

func (in QueueByNoOfOrder) DeepCopy() QueueByNoOfOrder

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueByNoOfOrder.

func (QueueByNoOfOrder) DeepCopyInto added in v1.4.0

func (in QueueByNoOfOrder) DeepCopyInto(out *QueueByNoOfOrder)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (QueueByNoOfOrder) Len added in v1.4.0

func (q QueueByNoOfOrder) Len() int

func (QueueByNoOfOrder) Less added in v1.4.0

func (q QueueByNoOfOrder) Less(i, j int) bool

func (QueueByNoOfOrder) Swap added in v1.4.0

func (q QueueByNoOfOrder) Swap(i, j int)

type QueueComponent added in v1.4.0

type QueueComponent struct {
	// Name represents Component name
	Name string `json:"name"`

	// Repository represents Docker image repository
	Repository string `json:"repository"`

	// Version represents Docker image tag version
	Version string `json:"version"`
}

func (*QueueComponent) DeepCopy added in v1.4.0

func (in *QueueComponent) DeepCopy() *QueueComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueComponent.

func (*QueueComponent) DeepCopyInto added in v1.4.0

func (in *QueueComponent) DeepCopyInto(out *QueueComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueComponents added in v1.4.0

type QueueComponents []*QueueComponent

func (QueueComponents) DeepCopy added in v1.4.0

func (in QueueComponents) DeepCopy() QueueComponents

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueComponents.

func (QueueComponents) DeepCopyInto added in v1.4.0

func (in QueueComponents) DeepCopyInto(out *QueueComponents)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (QueueComponents) Sort added in v1.4.0

func (qc QueueComponents) Sort()

Sort sorts component items

type QueueCondition

type QueueCondition struct {
	Type   QueueConditionType     `json:"type"`
	Status corev1.ConditionStatus `json:"status"`
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// +optional
	Reason string `json:"reason,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
}

func (*QueueCondition) DeepCopy

func (in *QueueCondition) DeepCopy() *QueueCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueCondition.

func (*QueueCondition) DeepCopyInto

func (in *QueueCondition) DeepCopyInto(out *QueueCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueConditionType

type QueueConditionType string
const (
	// QueueDeployStarted means the queue has been started
	QueueDeployStarted QueueConditionType = "QueueDeployStarted"
	// QueueDeployed means the queue has been finished deploying
	QueueDeployed QueueConditionType = "QueueDeployed"
	// QueueTestTriggered means the queue has been triggered testing
	QueueTestTriggered QueueConditionType = "QueueTestTriggered"
	// QueueTested means the queue has been finished testing
	QueueTested QueueConditionType = "QueueTested"
	// QueueCleaningBeforeStarted means cleaning namespace before running task has been started
	QueueCleaningBeforeStarted QueueConditionType = "QueueCleaningBeforeStarted"
	// QueueCleanedBefore means the namespace has been cleaned before running task
	QueueCleanedBefore QueueConditionType = "QueueCleanedBefore"
	// QueueCleaningAfterStarted means cleaning namespace after running task has been started
	QueueCleaningAfterStarted QueueConditionType = "QueueCleaningAfterStarted"
	// QueueCleanedAfter means the namespace has been cleaned after running task
	QueueCleanedAfter QueueConditionType = "QueueCleanedAfter"

	// QueueCollected means the queue has been successfully collected
	// the deploying and testing result
	QueueCollected QueueConditionType = "QueueCollected"
	// QueueFinished means the queue has been finished process
	QueueFinished QueueConditionType = "QueueFinished"
)

type QueueHistory

type QueueHistory struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QueueHistorySpec   `json:"spec,omitempty"`
	Status QueueHistoryStatus `json:"status,omitempty"`
}

QueueHistory is the Schema for the queuehistories API

func (*QueueHistory) DeepCopy

func (in *QueueHistory) DeepCopy() *QueueHistory

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueHistory.

func (*QueueHistory) DeepCopyInto

func (in *QueueHistory) DeepCopyInto(out *QueueHistory)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueueHistory) DeepCopyObject

func (in *QueueHistory) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QueueHistoryByCreatedTimeDESC

type QueueHistoryByCreatedTimeDESC []QueueHistory

func (QueueHistoryByCreatedTimeDESC) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueHistoryByCreatedTimeDESC.

func (QueueHistoryByCreatedTimeDESC) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (QueueHistoryByCreatedTimeDESC) Len

func (QueueHistoryByCreatedTimeDESC) Less

func (a QueueHistoryByCreatedTimeDESC) Less(i, j int) bool

func (QueueHistoryByCreatedTimeDESC) Swap

func (a QueueHistoryByCreatedTimeDESC) Swap(i, j int)

type QueueHistoryList

type QueueHistoryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QueueHistory `json:"items"`
}

QueueHistoryList contains a list of QueueHistory

func (*QueueHistoryList) DeepCopy

func (in *QueueHistoryList) DeepCopy() *QueueHistoryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueHistoryList.

func (*QueueHistoryList) DeepCopyInto

func (in *QueueHistoryList) DeepCopyInto(out *QueueHistoryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueueHistoryList) DeepCopyObject

func (in *QueueHistoryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*QueueHistoryList) SortDESC

func (ql *QueueHistoryList) SortDESC()

sort QueueHistory by timestamp DESC

type QueueHistorySpec

type QueueHistorySpec struct {
	Queue            *Queue            `json:"queue,omitempty"`
	AppliedValues    Values            `json:"appliedValues,omitempty"`
	StableComponents []StableComponent `json:"stableComponents,omitempty"`
	IsDeploySuccess  bool              `json:"isDeploySuccess"`
	IsTestSuccess    bool              `json:"isTestSuccess"`
	IsReverify       bool              `json:"isReverify,omitempty"`
	CreatedAt        *metav1.Time      `json:"createdAt,omitempty"`
}

QueueHistorySpec defines the desired state of QueueHistory

func (*QueueHistorySpec) DeepCopy

func (in *QueueHistorySpec) DeepCopy() *QueueHistorySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueHistorySpec.

func (*QueueHistorySpec) DeepCopyInto

func (in *QueueHistorySpec) DeepCopyInto(out *QueueHistorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueHistoryStatus

type QueueHistoryStatus struct {
}

QueueHistoryStatus defines the observed state of QueueHistory

func (*QueueHistoryStatus) DeepCopy

func (in *QueueHistoryStatus) DeepCopy() *QueueHistoryStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueHistoryStatus.

func (*QueueHistoryStatus) DeepCopyInto

func (in *QueueHistoryStatus) DeepCopyInto(out *QueueHistoryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueList

type QueueList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Queue `json:"items"`
}

QueueList contains a list of Queue

func (*QueueList) DeepCopy

func (in *QueueList) DeepCopy() *QueueList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueList.

func (*QueueList) DeepCopyInto

func (in *QueueList) DeepCopyInto(out *QueueList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueueList) DeepCopyObject

func (in *QueueList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*QueueList) First

func (ql *QueueList) First() *Queue

Sort sorts items

func (*QueueList) LastQueueOrder

func (ql *QueueList) LastQueueOrder() int

LastQueueOrder returns no of order to be last on the queue

func (*QueueList) Sort

func (ql *QueueList) Sort()

Sort sorts queue items

func (*QueueList) TopQueueOrder

func (ql *QueueList) TopQueueOrder() int

TopQueueOrder returns no of order to be first on the queue

type QueueSpec

type QueueSpec struct {
	// Name represents a Component name or bundle name if exist
	Name string `json:"name"`

	// Bundle represents a bundle name of component
	// +optional
	Bundle string `json:"bundle,omitempty"`

	// Components represents a list of components which are deployed
	// +optional
	Components QueueComponents `json:"components,omitempty"`

	// Type represents how we will process this queue
	Type QueueType `json:"type"`

	// NoOfRetry defines how many times this component has been tested
	// +optional
	NoOfRetry int `json:"noOfRetry"`

	// NoOfOrder defines the position in queue
	// lower is will be picked first
	NoOfOrder int `json:"noOfOrder"`

	// NextProcessAt represents time to wait for process this queue
	NextProcessAt *metav1.Time `json:"nextProcessAt,omitempty"`

	// TeamName represents team owner of the queue
	TeamName string `json:"teamName"`

	// SkipTestRunner represents a flag for skipping running test
	// +optional
	SkipTestRunner bool `json:"skipTestRunner,omitempty"`
}

QueueSpec defines the desired state of Queue

func (*QueueSpec) DeepCopy

func (in *QueueSpec) DeepCopy() *QueueSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSpec.

func (*QueueSpec) DeepCopyInto

func (in *QueueSpec) DeepCopyInto(out *QueueSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueueState

type QueueState string

QueueState defines state of the queue

type QueueStatus

type QueueStatus struct {
	// CreatedAt represents time when the component has been added to queue
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`

	// UpdatedAt represents time when the component was processed
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`

	// NextProcessAt represents time to wait for process this queue
	NextProcessAt *metav1.Time `json:"nextProcessAt,omitempty"`

	// StartDeployTime represents the time when this queue start deploying
	StartDeployTime *metav1.Time `json:"startDeployTime,omitempty"`

	// StartTestingTime represents the time when this queue start testing
	StartTestingTime *metav1.Time `json:"startTestingTime,omitempty"`

	// State represents current status of this queue
	State QueueState `json:"state"`

	// NoOfProcessed represents how many time that this queue had been processed
	NoOfProcessed int `json:"noOfProcessed,omitempty"`

	// Conditions contains observations of the resource's state e.g.,
	// Queue deployed, being tested
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []QueueCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// TestRunner defines the test runner
	TestRunner TestRunner `json:"testRunners,omitempty"`

	// QueueHistoryName defines name of history of this queue
	QueueHistoryName string `json:"queueHistoryName"`

	// KubeZipLog defines log of k8s resources during deployment in base64 zip format
	KubeZipLog string `json:"kubeZipLog"`

	// ImageMissingList defines image missing list
	ImageMissingList []Image `json:"imageMissingList,omitempty"`

	// DeployEngine represents engine using during installation
	DeployEngine string `json:"deployEngine,omitempty"`
}

QueueStatus defines the observed state of Queue

func (*QueueStatus) DeepCopy

func (in *QueueStatus) DeepCopy() *QueueStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatus.

func (*QueueStatus) DeepCopyInto

func (in *QueueStatus) DeepCopyInto(out *QueueStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueueStatus) GetConditionLatestTime

func (qs *QueueStatus) GetConditionLatestTime(cond QueueConditionType) *metav1.Time

func (*QueueStatus) IsConditionTrue

func (qs *QueueStatus) IsConditionTrue(cond QueueConditionType) bool

func (*QueueStatus) SetCondition

func (qs *QueueStatus) SetCondition(cond QueueConditionType, status corev1.ConditionStatus, message string)

func (*QueueStatus) SetImageMissingList

func (qs *QueueStatus) SetImageMissingList(images []Image)

type QueueType

type QueueType string

QueueType defines how to process this item

type ReportOption added in v1.1.0

type ReportOption struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

ReportOption defines an optional configuration of slack

func (*ReportOption) DeepCopy added in v1.1.0

func (in *ReportOption) DeepCopy() *ReportOption

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReportOption.

func (*ReportOption) DeepCopyInto added in v1.1.0

func (in *ReportOption) DeepCopyInto(out *ReportOption)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReporterCriteria added in v1.3.0

type ReporterCriteria string

ReporterCriteria represents a criteria of sending component upgrade notification

const (
	// CriteriaSuccess means sending slack notification when component upgrade is success only
	CriteriaSuccess ReporterCriteria = "success"
	// CriteriaFailure means sending slack notification when component upgrade is failure only
	CriteriaFailure ReporterCriteria = "failure"
	// CriteriaBoth means sending slack notification whether component upgrade is success or failure
	CriteriaBoth ReporterCriteria = "both"
)

type ReporterInterval added in v1.3.0

type ReporterInterval string

ReporterInterval represents how often of sending component upgrade notification within a retry cycle

const (
	// IntervalEveryTime means sending slack notification in every component upgrade runs
	IntervalEveryTime ReporterInterval = "everytime"
	// IntervalRetry means sending slack notification after retry only
	IntervalRetry ReporterInterval = "retry"
)

type Rest added in v1.1.0

type Rest struct {
	// +optional
	ComponentUpgrade *RestObject `json:"componentUpgrade,omitempty"`
	// +optional
	ActivePromotion *RestObject `json:"activePromotion,omitempty"`
	// +optional
	ImageMissing *RestObject `json:"imageMissing,omitempty"`
}

Rest defines a configuration of http rest

func (*Rest) DeepCopy added in v1.1.0

func (in *Rest) DeepCopy() *Rest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rest.

func (*Rest) DeepCopyInto added in v1.1.0

func (in *Rest) DeepCopyInto(out *Rest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RestObject added in v1.1.0

type RestObject struct {
	Endpoints []*Endpoint `json:"endpoints"`
}

func (*RestObject) DeepCopy added in v1.1.0

func (in *RestObject) DeepCopy() *RestObject

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestObject.

func (*RestObject) DeepCopyInto added in v1.1.0

func (in *RestObject) DeepCopyInto(out *RestObject)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Shell added in v1.1.0

type Shell struct {
	// +optional
	ComponentUpgrade *CommandAndArgs `json:"componentUpgrade,omitempty"`
	// +optional
	ActivePromotion *CommandAndArgs `json:"activePromotion,omitempty"`
	// +optional
	ImageMissing *CommandAndArgs `json:"imageMissing,omitempty"`
}

Shell defines a configuration of shell command

func (*Shell) DeepCopy added in v1.1.0

func (in *Shell) DeepCopy() *Shell

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shell.

func (*Shell) DeepCopyInto added in v1.1.0

func (in *Shell) DeepCopyInto(out *Shell)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Slack added in v1.1.0

type Slack struct {
	Channels []string `json:"channels"`
	// +optional
	ComponentUpgrade *ConfigComponentUpgrade `json:"componentUpgrade,omitempty"`
}

Slack defines a configuration of slack

func (*Slack) DeepCopy added in v1.1.0

func (in *Slack) DeepCopy() *Slack

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Slack.

func (*Slack) DeepCopyInto added in v1.1.0

func (in *Slack) DeepCopyInto(out *Slack)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StableComponent

type StableComponent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   StableComponentSpec   `json:"spec,omitempty"`
	Status StableComponentStatus `json:"status,omitempty"`
}

StableComponent is the Schema for the stablecomponents API

func (*StableComponent) DeepCopy

func (in *StableComponent) DeepCopy() *StableComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StableComponent.

func (*StableComponent) DeepCopyInto

func (in *StableComponent) DeepCopyInto(out *StableComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StableComponent) DeepCopyObject

func (in *StableComponent) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StableComponentList

type StableComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []StableComponent `json:"items"`
}

StableComponentList contains a list of StableComponent

func (*StableComponentList) DeepCopy

func (in *StableComponentList) DeepCopy() *StableComponentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StableComponentList.

func (*StableComponentList) DeepCopyInto

func (in *StableComponentList) DeepCopyInto(out *StableComponentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StableComponentList) DeepCopyObject

func (in *StableComponentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StableComponentSpec

type StableComponentSpec struct {
	// Name represents Component name
	Name string `json:"name"`

	// Repository represents Docker image repository
	Repository string `json:"repository"`

	// Version represents Docker image tag version
	Version string `json:"version"`

	// UpdatedBy represents a person who updated the StableComponent
	// +optional
	UpdatedBy string `json:"updatedBy,omitempty"`
}

StableComponentSpec defines the desired state of StableComponent

func (*StableComponentSpec) DeepCopy

func (in *StableComponentSpec) DeepCopy() *StableComponentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StableComponentSpec.

func (*StableComponentSpec) DeepCopyInto

func (in *StableComponentSpec) DeepCopyInto(out *StableComponentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StableComponentStatus

type StableComponentStatus struct {
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`
}

StableComponentStatus defines the observed state of StableComponent

func (*StableComponentStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StableComponentStatus.

func (*StableComponentStatus) DeepCopyInto

func (in *StableComponentStatus) DeepCopyInto(out *StableComponentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StagingCtrl

type StagingCtrl struct {
	// Image represents image for run staging controller.
	Image string `json:"image,omitempty"`

	// Endpoint represents the staging endpoint endpoint.
	Endpoint string `json:"endpoint,omitempty"`

	// IsDeploy represents flag to deploy staging controller or not.
	IsDeploy bool `json:"isDeploy"`

	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*StagingCtrl) DeepCopy

func (in *StagingCtrl) DeepCopy() *StagingCtrl

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StagingCtrl.

func (*StagingCtrl) DeepCopyInto

func (in *StagingCtrl) DeepCopyInto(out *StagingCtrl)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Team

type Team struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TeamSpec   `json:"spec,omitempty"`
	Status TeamStatus `json:"status,omitempty"`
}

Team is the Schema for the teams API

func (*Team) DeepCopy

func (in *Team) DeepCopy() *Team

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Team.

func (*Team) DeepCopyInto

func (in *Team) DeepCopyInto(out *Team)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Team) DeepCopyObject

func (in *Team) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TeamCondition

type TeamCondition struct {
	Type   TeamConditionType      `json:"type"`
	Status corev1.ConditionStatus `json:"status"`
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// +optional
	Reason string `json:"reason,omitempty"`
	// +optional
	Message string `json:"message,omitempty"`
}

func (*TeamCondition) DeepCopy

func (in *TeamCondition) DeepCopy() *TeamCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamCondition.

func (*TeamCondition) DeepCopyInto

func (in *TeamCondition) DeepCopyInto(out *TeamCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamConditionType

type TeamConditionType string
const (
	TeamNamespaceStagingCreated           TeamConditionType = "TeamNamespaceStagingCreated"
	TeamNamespacePreActiveCreated         TeamConditionType = "TeamNamespacePreActiveCreated"
	TeamNamespacePreviousActiveCreated    TeamConditionType = "TeamNamespacePreviousActiveCreated"
	TeamNamespaceActiveCreated            TeamConditionType = "TeamNamespaceActiveCreated"
	TeamConfigExisted                     TeamConditionType = "TeamConfigExist"
	TeamPostStagingNamespaceCreationRun   TeamConditionType = "TeamPostStagingNamespaceCreationRun"
	TeamPostPreActiveNamespaceCreationRun TeamConditionType = "TeamPostPreActiveNamespaceCreationRun"
	TeamFirstNotifyComponentChanged       TeamConditionType = "TeamFirstNotifyComponentChanged"
	TeamFirstActivePromotionRun           TeamConditionType = "TeamFirstActivePromotionRun"
)

type TeamDesiredImageTime

type TeamDesiredImageTime struct {
	Image     string
	ImageTime DesiredImageTime
}

func (*TeamDesiredImageTime) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamDesiredImageTime.

func (*TeamDesiredImageTime) DeepCopyInto

func (in *TeamDesiredImageTime) DeepCopyInto(out *TeamDesiredImageTime)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamDesiredImageTimeList

type TeamDesiredImageTimeList []TeamDesiredImageTime

func SortByCreatedTimeDESC

func SortByCreatedTimeDESC(desiredCreatedTime map[string]DesiredImageTime) TeamDesiredImageTimeList

func (TeamDesiredImageTimeList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamDesiredImageTimeList.

func (TeamDesiredImageTimeList) DeepCopyInto

func (in TeamDesiredImageTimeList) DeepCopyInto(out *TeamDesiredImageTimeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (TeamDesiredImageTimeList) Len

func (p TeamDesiredImageTimeList) Len() int

func (TeamDesiredImageTimeList) Less

func (p TeamDesiredImageTimeList) Less(i, j int) bool

func (TeamDesiredImageTimeList) Swap

func (p TeamDesiredImageTimeList) Swap(i, j int)

type TeamList

type TeamList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Team `json:"items"`
}

TeamList contains a list of Team

func (*TeamList) DeepCopy

func (in *TeamList) DeepCopy() *TeamList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamList.

func (*TeamList) DeepCopyInto

func (in *TeamList) DeepCopyInto(out *TeamList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TeamList) DeepCopyObject

func (in *TeamList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TeamNamespace

type TeamNamespace struct {
	// +optional
	Staging string `json:"staging,omitempty"`

	// +optional
	PreviousActive string `json:"previousActive,omitempty"`

	// +optional
	PreActive string `json:"preActive,omitempty"`

	// +optional
	Active string `json:"active,omitempty"`
}

func (*TeamNamespace) DeepCopy

func (in *TeamNamespace) DeepCopy() *TeamNamespace

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamNamespace.

func (*TeamNamespace) DeepCopyInto

func (in *TeamNamespace) DeepCopyInto(out *TeamNamespace)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamSpec

type TeamSpec struct {
	// Description represents description for this team
	// +optional
	Description string `json:"desc,omitempty"`

	// Owners represents contact point of this team
	// +optional
	Owners []string `json:"owners,omitempty"`

	// Resources represents how many resources per namespace for the team
	// +optional
	Resources corev1.ResourceList `json:"resources,omitempty"`

	// StagingCtrl represents configuration about the staging controller.
	// For easier for developing, debugging and testing purposes
	// +optional
	StagingCtrl *StagingCtrl `json:"stagingCtrl,omitempty"`

	// Credential
	// +optional
	Credential Credential `json:"credential,omitempty"`
}

TeamSpec defines the desired state of Team

func (*TeamSpec) DeepCopy

func (in *TeamSpec) DeepCopy() *TeamSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSpec.

func (*TeamSpec) DeepCopyInto

func (in *TeamSpec) DeepCopyInto(out *TeamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TeamStatus

type TeamStatus struct {
	// +optional
	Namespace TeamNamespace `json:"namespace,omitempty"`

	// StableComponentList represents a list of stable components
	// +optional
	StableComponents map[string]StableComponent `json:"stableComponents,omitempty"`

	// ActiveComponents represents a list of stable components in active namespace
	// +optional
	ActiveComponents map[string]StableComponent `json:"activeComponents,omitempty"`

	// Conditions contains observations of the resource's state e.g.,
	// Team namespace is created, destroyed
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []TeamCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// DesiredComponentImageCreatedTime represents mapping of desired component image and created time
	// map[componentName][repository:tag] = image and createdTime
	// +optional
	DesiredComponentImageCreatedTime map[string]map[string]DesiredImageTime `json:"desiredComponentImageCreatedTime,omitempty"`

	// ActivePromotedBy represents a person who promoted the ActivePromotion
	// +optional
	ActivePromotedBy string `json:"activePromotedBy,omitempty"`
}

TeamStatus defines the observed state of Team

func (*TeamStatus) DeepCopy

func (in *TeamStatus) DeepCopy() *TeamStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamStatus.

func (*TeamStatus) DeepCopyInto

func (in *TeamStatus) DeepCopyInto(out *TeamStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TeamStatus) GetStableComponent

func (ts *TeamStatus) GetStableComponent(stableCompName string) StableComponent

func (*TeamStatus) IsConditionTrue

func (ts *TeamStatus) IsConditionTrue(cond TeamConditionType) bool

func (*TeamStatus) RemoveDesiredComponentImageCreatedTime added in v1.1.5

func (ts *TeamStatus) RemoveDesiredComponentImageCreatedTime(compName string)

RemoveDesiredComponentImageCreatedTime removes desired component from team

func (*TeamStatus) SetActiveComponents

func (ts *TeamStatus) SetActiveComponents(comps map[string]StableComponent)

SetActiveComponents sets active components

func (*TeamStatus) SetCondition

func (ts *TeamStatus) SetCondition(cond TeamConditionType, status corev1.ConditionStatus, message string)

func (*TeamStatus) SetStableComponents

func (ts *TeamStatus) SetStableComponents(stableComp *StableComponent, isDeleted bool) (isChanged bool)

SetStableComponents sets stable components

func (*TeamStatus) UpdateDesiredComponentImageCreatedTime

func (ts *TeamStatus) UpdateDesiredComponentImageCreatedTime(compName, image string, desiredImageTime DesiredImageTime)

UpdateDesiredComponentImageCreatedTime updates desired component version and created time mapping

type Teamcity

type Teamcity struct {
	BuildID     string `json:"buildID,omitempty"`
	BuildTypeID string `json:"buildTypeID,omitempty"`
	BuildURL    string `json:"buildURL,omitempty"`
}

func (*Teamcity) DeepCopy

func (in *Teamcity) DeepCopy() *Teamcity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Teamcity.

func (*Teamcity) DeepCopyInto

func (in *Teamcity) DeepCopyInto(out *Teamcity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Teamcity) SetTeamcity

func (t *Teamcity) SetTeamcity(buildID, buildTypeID, buildURL string)

type TestRunner

type TestRunner struct {
	Teamcity Teamcity `json:"teamcity,omitempty"`
}

func (*TestRunner) DeepCopy

func (in *TestRunner) DeepCopy() *TestRunner

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestRunner.

func (*TestRunner) DeepCopyInto

func (in *TestRunner) DeepCopyInto(out *TestRunner)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenCredential

type TokenCredential struct {
	TokenRef *corev1.SecretKeySelector `json:"token"`
	Token    string                    `json:"-"`
}

func (*TokenCredential) DeepCopy

func (in *TokenCredential) DeepCopy() *TokenCredential

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenCredential.

func (*TokenCredential) DeepCopyInto

func (in *TokenCredential) DeepCopyInto(out *TokenCredential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpdatingSource added in v1.1.0

type UpdatingSource string

UpdatingSource represents source for checking desired version of components

type UsernamePasswordCredential

type UsernamePasswordCredential struct {
	UsernameRef *corev1.SecretKeySelector `json:"username"`
	PasswordRef *corev1.SecretKeySelector `json:"password"`
	Username    string                    `json:"-"`
	Password    string                    `json:"-"`
}

func (*UsernamePasswordCredential) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UsernamePasswordCredential.

func (*UsernamePasswordCredential) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Values

type Values map[string]interface{}

func (*Values) DeepCopy

func (in *Values) DeepCopy() *Values

func (*Values) DeepCopyInto

func (in *Values) DeepCopyInto(out *Values)

Jump to

Keyboard shortcuts

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