v1

package
v1.9.2 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
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"
	// ConfigUsedUpdated means the configuration used has been updated
	ConfigUsedUpdated ConfigConditionType = "ConfigUsedUpdated"
	// ConfigRequiredFieldsValidated means the required fields have been validated
	ConfigRequiredFieldsValidated ConfigConditionType = "ConfigRequiredFieldsValidated"
)
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"

	// QueueTypePullRequest
	QueueTypePullRequest QueueType = "pull-request"

	// 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: "v1"}

	// 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 ActivePromotionByStartedAtASC

type ActivePromotionByStartedAtASC []ActivePromotion

func (ActivePromotionByStartedAtASC) Len

func (ActivePromotionByStartedAtASC) Less

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

func (ActivePromotionByStartedAtASC) Swap

func (a ActivePromotionByStartedAtASC) 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"`

	// NoOfRetry represents how many times this active promotion process has been run
	// +optional
	NoOfRetry int `json:"noOfRetry"`

	// 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

type ChartValuesURLs map[string][]string

ChartValuesURLs represents values file URL of each chart

func (ChartValuesURLs) DeepCopy

func (in ChartValuesURLs) DeepCopy() ChartValuesURLs

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

func (ChartValuesURLs) DeepCopyInto

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

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

CommandAndArgs defines commands and args

func (*CommandAndArgs) DeepCopy

func (in *CommandAndArgs) DeepCopy() *CommandAndArgs

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

func (*CommandAndArgs) DeepCopyInto

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

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

Component represents a chart of component and it's dependencies

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

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

type ComponentByName []*QueueComponent

func (ComponentByName) DeepCopy

func (in ComponentByName) DeepCopy() ComponentByName

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

func (ComponentByName) DeepCopyInto

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

func (q ComponentByName) Len() int

func (ComponentByName) Less

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

func (ComponentByName) Swap

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

type ComponentChart

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

func (in *ComponentChart) DeepCopy() *ComponentChart

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

func (*ComponentChart) DeepCopyInto

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

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

func (in *ComponentImage) DeepCopy() *ComponentImage

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

func (*ComponentImage) DeepCopyInto

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

type ComponentValues map[string]interface{}

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

func (*ComponentValues) DeepCopy

func (in *ComponentValues) DeepCopy() *ComponentValues

func (*ComponentValues) DeepCopyInto

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

type Config

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

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

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster Config is the Schema for the configs API

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

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

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

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

type ConfigActivePromotion

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

	// MaxRetry defines max retry counts of active promotion process in case failure
	// +optional
	MaxRetry *int `json:"maxRetry,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
	// +optional
	Deployment *ConfigDeploy `json:"deployment,omitempty"`
}

ConfigActivePromotion represents configuration about active promotion

func (*ConfigActivePromotion) DeepCopy

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

func (*ConfigActivePromotion) DeepCopyInto

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

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

func (in ConfigBundles) DeepCopy() ConfigBundles

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

func (ConfigBundles) DeepCopyInto

func (in ConfigBundles) DeepCopyInto(out *ConfigBundles)

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

type ConfigComponentUpgradeReport

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

ConfigComponentUpgradeReport defines a configuration of component upgrade report

func (*ConfigComponentUpgradeReport) DeepCopy

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

func (*ConfigComponentUpgradeReport) DeepCopyInto

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

type ConfigCondition

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

func (*ConfigCondition) DeepCopy

func (in *ConfigCondition) DeepCopy() *ConfigCondition

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

func (*ConfigCondition) DeepCopyInto

func (in *ConfigCondition) DeepCopyInto(out *ConfigCondition)

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

type ConfigConditionType

type ConfigConditionType string

type ConfigDeploy

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

func (in *ConfigDeploy) DeepCopy() *ConfigDeploy

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

func (*ConfigDeploy) DeepCopyInto

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

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

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster ConfigList contains a list of Config

func (*ConfigList) DeepCopy

func (in *ConfigList) DeepCopy() *ConfigList

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

func (*ConfigList) DeepCopyInto

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

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

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

type ConfigPullRequest

type ConfigPullRequest struct {
	// MaxHistoryDays defines maximum days of PullRequestQueueHistory stored
	// +optional
	MaxHistoryDays int `json:"maxHistoryDays,omitempty"`
	// Trigger represents a pull request trigger configuration
	// +optional
	Trigger    PullRequestTriggerConfig `json:"trigger,omitempty"`
	Components []*PullRequestComponent  `json:"components"`
	// Concurrences defines a parallel number of pull request queue
	// +optional
	Concurrences           int `json:"concurrences,omitempty"`
	PullRequestExtraConfig `json:",inline"`
}

ConfigPullRequest defines a configuration of pull request

func (*ConfigPullRequest) DeepCopy

func (in *ConfigPullRequest) DeepCopy() *ConfigPullRequest

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

func (*ConfigPullRequest) DeepCopyInto

func (in *ConfigPullRequest) DeepCopyInto(out *ConfigPullRequest)

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

type ConfigPullRequestQueueReport

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

ConfigPullRequestQueueReport defines a configuration of pull request queues report

func (*ConfigPullRequestQueueReport) DeepCopy

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

func (*ConfigPullRequestQueueReport) DeepCopyInto

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

type ConfigPullRequestTriggerReport

type ConfigPullRequestTriggerReport struct {
	// +optional
	Criteria ReporterCriteria `json:"criteria,omitempty"`
}

ConfigPullRequestTrigger defines a configuration of pull request trigger report

func (*ConfigPullRequestTriggerReport) DeepCopy

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

func (*ConfigPullRequestTriggerReport) DeepCopyInto

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

type ConfigReporter

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

ConfigReporter represents configuration about sending notification

func (*ConfigReporter) DeepCopy

func (in *ConfigReporter) DeepCopy() *ConfigReporter

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

func (*ConfigReporter) DeepCopyInto

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

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

	// 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
	// +optional
	Staging *ConfigStaging `json:"staging,omitempty"`

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

	// PullRequest represents configuration about pull request
	// +optional
	PullRequest *ConfigPullRequest `json:"pullRequest,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"`

	// Template represents configuration's template
	// +optional
	Template string `json:"template,omitempty"`
}

ConfigSpec defines the desired state of Config

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

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

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

	// 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

func (in *ConfigStaging) DeepCopy() *ConfigStaging

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

func (*ConfigStaging) DeepCopyInto

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

type ConfigStatus struct {
	// Used represents overridden configuration specification
	// +optional
	Used ConfigSpec `json:"used,omitempty"`

	// TemplateUID represents the template update ID
	// +optional
	TemplateUID string `json:"templateUID,omitempty"`

	// SyncTemplate represents whether the configuration has been synced to the template or not
	// +optional
	SyncTemplate bool `json:"syncTemplate,omitempty"`

	// Conditions contains observations of the state
	// +optional
	Conditions []ConfigCondition `json:"conditions,omitempty"`
}

ConfigStatus defines the observed state of Config

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

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

func (*ConfigStatus) DeepCopyInto

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

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

func (*ConfigStatus) IsConditionTrue

func (cs *ConfigStatus) IsConditionTrue(cond ConfigConditionType) bool

func (*ConfigStatus) SetCondition

func (cs *ConfigStatus) SetCondition(cond ConfigConditionType, status corev1.ConditionStatus, message string)

type ConfigTeamcity

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

func (in *ConfigTeamcity) DeepCopy() *ConfigTeamcity

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

func (*ConfigTeamcity) DeepCopyInto

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

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

ConfigTestMock defines a result of testmock

func (*ConfigTestMock) DeepCopy

func (in *ConfigTestMock) DeepCopy() *ConfigTestMock

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

func (*ConfigTestMock) DeepCopyInto

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

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

func (in *ConfigTestRunner) DeepCopy() *ConfigTestRunner

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

func (*ConfigTestRunner) DeepCopyInto

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

	// Github
	// +optional
	Github *TokenCredential `json:"github,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 Dependency

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

Dependency represents a chart of dependency

func (*Dependency) DeepCopy

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto

func (in *Dependency) DeepCopyInto(out *Dependency)

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

type DeploymentIssue

type DeploymentIssue struct {
	// IssueType defines a deployment issue type
	IssueType DeploymentIssueType `json:"issueType"`
	// FailureComponents defines a list of failure components
	FailureComponents []FailureComponent `json:"failureComponents"`
}

func (*DeploymentIssue) DeepCopy

func (in *DeploymentIssue) DeepCopy() *DeploymentIssue

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

func (*DeploymentIssue) DeepCopyInto

func (in *DeploymentIssue) DeepCopyInto(out *DeploymentIssue)

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

type DeploymentIssueType

type DeploymentIssueType string

DeploymentIssueType defines a deployment issue type

const (
	// DeploymentIssueImagePullBackOff means the pod can not be started due to image not found
	DeploymentIssueImagePullBackOff DeploymentIssueType = "ImagePullBackOff"
	// DeploymentIssueCrashLoopBackOff means the pod failed to start container
	DeploymentIssueCrashLoopBackOff DeploymentIssueType = "CrashLoopBackOff"
	// DeploymentIssueReadinessProbeFailed means the pod cannot be run due to readiness probe failed (zero restart count)
	DeploymentIssueReadinessProbeFailed DeploymentIssueType = "ReadinessProbeFailed"
	// DeploymentIssueContainerCreating means the pod is being creating
	DeploymentIssueContainerCreating DeploymentIssueType = "ContainerCreating"
	// DeploymentIssuePending means the pod is waiting for assigning to node
	DeploymentIssuePending DeploymentIssueType = "Pending"
	// DeploymentIssueWaitForInitContainer means the container can not be start due to wait for finishing init container
	DeploymentIssueWaitForInitContainer DeploymentIssueType = "WaitForInitContainer"
	// DeploymentIssueJobNotComplete means the job is not completed
	DeploymentIssueJobNotComplete DeploymentIssueType = "JobNotComplete"
	// DeploymentIssueUndefined represents other issues
	DeploymentIssueUndefined DeploymentIssueType = "Undefined"
)

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

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

Endpoint defines a configuration of rest endpoint

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

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

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

type FailureComponent

type FailureComponent struct {
	// ComponentName defines a name of component
	ComponentName string `json:"componentName"`
	// FirstFailureContainerName defines a first found failure container name
	FirstFailureContainerName string `json:"firstFailureContainerName"`
	// RestartCount defines the number of times the container has been restarted
	RestartCount int32 `json:"restartCount"`
	// NodeName defines the node name of pod
	NodeName string `json:"nodeName"`
}

func (*FailureComponent) DeepCopy

func (in *FailureComponent) DeepCopy() *FailureComponent

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

func (*FailureComponent) DeepCopyInto

func (in *FailureComponent) DeepCopyInto(out *FailureComponent)

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

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 MSTeamsGroup

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

func (in *MSTeamsGroup) DeepCopy() *MSTeamsGroup

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

func (*MSTeamsGroup) DeepCopyInto

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

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

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

func (*OutdatedNotification) DeepCopyInto

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

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

type PullRequestComponent

type PullRequestComponent struct {
	// Name defines a main component name which is deployed per pull request
	Name string `json:"name"`
	// Image defines an image repository, tag and pattern of pull request component which is a regex of tag
	// +optional
	Image ComponentImage `json:"image,omitempty"`
	// Source defines a source for image repository
	// +optional
	Source *UpdatingSource `json:"source,omitempty"`
	// Deployment represents configuration about deploy
	// +optional
	Deployment *ConfigDeploy `json:"deployment,omitempty"`
	// Dependencies defines a list of components which are required to be deployed together with the main component
	// +optional
	Dependencies []string `json:"dependencies,omitempty"`
	// GitRepository represents a string of git "<owner>/<repository>" e.g., agoda-com/samsahai
	// used for publishing commit status
	// +optional
	GitRepository          string `json:"gitRepository,omitempty"`
	PullRequestExtraConfig `json:",inline"`
}

PullRequestComponent represents a pull request component configuration

func (*PullRequestComponent) DeepCopy

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

func (*PullRequestComponent) DeepCopyInto

func (in *PullRequestComponent) DeepCopyInto(out *PullRequestComponent)

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

type PullRequestExtraConfig

type PullRequestExtraConfig struct {
	// MaxRetry defines max retry counts of pull request component upgrade
	// +optional
	MaxRetry *int `json:"maxRetry,omitempty"`
	// Resources represents how many resources of pull request namespace
	// +optional
	Resources corev1.ResourceList `json:"resources,omitempty"`
}

PullRequestExtraConfig represents a pull request extra configuration

func (*PullRequestExtraConfig) DeepCopy

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

func (*PullRequestExtraConfig) DeepCopyInto

func (in *PullRequestExtraConfig) DeepCopyInto(out *PullRequestExtraConfig)

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

type PullRequestQueue

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

	Spec   PullRequestQueueSpec   `json:"spec,omitempty"`
	Status PullRequestQueueStatus `json:"status,omitempty"`
}

PullRequestQueue is the Schema for the queues API

func (*PullRequestQueue) DeepCopy

func (in *PullRequestQueue) DeepCopy() *PullRequestQueue

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

func (*PullRequestQueue) DeepCopyInto

func (in *PullRequestQueue) DeepCopyInto(out *PullRequestQueue)

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

func (*PullRequestQueue) DeepCopyObject

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

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

func (*PullRequestQueue) IsCanceled

func (prq *PullRequestQueue) IsCanceled() bool

func (*PullRequestQueue) IsFailure

func (prq *PullRequestQueue) IsFailure() bool

func (*PullRequestQueue) SetState

func (prq *PullRequestQueue) SetState(state PullRequestQueueState)

type PullRequestQueueByNoOfOrder

type PullRequestQueueByNoOfOrder []PullRequestQueue

func (PullRequestQueueByNoOfOrder) Len

func (prq PullRequestQueueByNoOfOrder) Len() int

func (PullRequestQueueByNoOfOrder) Less

func (prq PullRequestQueueByNoOfOrder) Less(i, j int) bool

func (PullRequestQueueByNoOfOrder) Swap

func (prq PullRequestQueueByNoOfOrder) Swap(i, j int)

type PullRequestQueueCondition

type PullRequestQueueCondition struct {
	Type   PullRequestQueueConditionType `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 (*PullRequestQueueCondition) DeepCopy

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

func (*PullRequestQueueCondition) DeepCopyInto

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

type PullRequestQueueConditionType

type PullRequestQueueConditionType string

PullRequestQueueConditionType represents a condition type of pull request queue

const (
	// PullRequestQueueCondStarted means the pull request queue has been started
	PullRequestQueueCondStarted PullRequestQueueConditionType = "PullRequestQueueStarted"
	// PullRequestQueueCondEnvCreated means the pull request queue environment has been created
	PullRequestQueueCondEnvCreated PullRequestQueueConditionType = "PullRequestQueueEnvCreated"
	// PullRequestQueueCondDependenciesUpdated means the pull request component dependencies have been updated
	PullRequestQueueCondDependenciesUpdated PullRequestQueueConditionType = "PullRequestQueueDependenciesUpdated"
	// PullRequestQueueCondDeployed means the pull request components have been deployed into pull request namespace
	PullRequestQueueCondDeployed PullRequestQueueConditionType = "PullRequestQueueComponentsDeployed"
	// PullRequestQueueCondTested means the pull request components have been tested
	PullRequestQueueCondTested PullRequestQueueConditionType = "PullRequestQueueComponentsTested"
	// PullRequestQueueCondResultCollected means the result of pull request queue has been collected
	PullRequestQueueCondResultCollected PullRequestQueueConditionType = "PullRequestQueueResultCollected"
	// PullRequestQueueCondEnvCreated means the pull request queue environment has been destroyed
	PullRequestQueueCondEnvDestroyed PullRequestQueueConditionType = "PullRequestQueueEnvDestroyed"
)

type PullRequestQueueHistory

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

	Spec   PullRequestQueueHistorySpec   `json:"spec,omitempty"`
	Status PullRequestQueueHistoryStatus `json:"status,omitempty"`
}

PullRequestQueueHistory is the Schema for the PullRequestQueueHistories API

func (*PullRequestQueueHistory) DeepCopy

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

func (*PullRequestQueueHistory) DeepCopyInto

func (in *PullRequestQueueHistory) DeepCopyInto(out *PullRequestQueueHistory)

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

func (*PullRequestQueueHistory) DeepCopyObject

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

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

type PullRequestQueueHistoryByCreatedTimeDESC

type PullRequestQueueHistoryByCreatedTimeDESC []PullRequestQueueHistory

func (PullRequestQueueHistoryByCreatedTimeDESC) DeepCopy

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

func (PullRequestQueueHistoryByCreatedTimeDESC) DeepCopyInto

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

func (PullRequestQueueHistoryByCreatedTimeDESC) Len

func (PullRequestQueueHistoryByCreatedTimeDESC) Less

func (PullRequestQueueHistoryByCreatedTimeDESC) Swap

type PullRequestQueueHistoryList

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

PullRequestQueueHistoryList contains a list of PullRequestQueueHistory

func (*PullRequestQueueHistoryList) DeepCopy

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

func (*PullRequestQueueHistoryList) DeepCopyInto

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

func (*PullRequestQueueHistoryList) DeepCopyObject

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

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

func (*PullRequestQueueHistoryList) SortDESC

func (prql *PullRequestQueueHistoryList) SortDESC()

sort PullRequestQueueHistory by timestamp DESC

type PullRequestQueueHistorySpec

type PullRequestQueueHistorySpec struct {
	PullRequestQueue *PullRequestQueue `json:"pullRequestQueue,omitempty"`
}

PullRequestQueueHistorySpec defines the desired state of PullRequestQueueHistory

func (*PullRequestQueueHistorySpec) DeepCopy

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

func (*PullRequestQueueHistorySpec) DeepCopyInto

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

type PullRequestQueueHistoryStatus

type PullRequestQueueHistoryStatus struct {
}

PullRequestQueueHistoryStatus defines the observed state of PullRequestQueueHistory

func (*PullRequestQueueHistoryStatus) DeepCopy

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

func (*PullRequestQueueHistoryStatus) DeepCopyInto

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

type PullRequestQueueList

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

PullRequestQueueList contains a list of PullRequestQueue

func (*PullRequestQueueList) DeepCopy

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

func (*PullRequestQueueList) DeepCopyInto

func (in *PullRequestQueueList) DeepCopyInto(out *PullRequestQueueList)

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

func (*PullRequestQueueList) DeepCopyObject

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

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

func (*PullRequestQueueList) LastQueueOrder

func (prql *PullRequestQueueList) LastQueueOrder() int

LastQueueOrder returns no of order to be last on the pull request queue

func (*PullRequestQueueList) Sort

func (prql *PullRequestQueueList) Sort()

Sort sorts pull request queue items

type PullRequestQueueResult

type PullRequestQueueResult string

PullRequestQueueResult represents the result status of a pull request queue

const (
	PullRequestQueueCanceled PullRequestQueueResult = "Canceled"
	PullRequestQueueSuccess  PullRequestQueueResult = "Success"
	PullRequestQueueFailure  PullRequestQueueResult = "Failure"
)

type PullRequestQueueSpec

type PullRequestQueueSpec struct {
	// ComponentName represents a pull request Component name
	ComponentName string `json:"componentName"`

	// PRNumber represents a pull request number
	PRNumber string `json:"prNumber"`

	// CommitSHA represents a commit SHA
	// +optional
	CommitSHA string `json:"commitSHA,omitempty"`

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

	// UpcomingCommitSHA represents an upcoming commit SHA in case queue is running
	// +optional
	UpcomingCommitSHA string `json:"upcomingCommitSHA,omitempty"`

	// UpcomingComponents represents an upcoming components which are deployed in case queue is running
	// +optional
	UpcomingComponents QueueComponents `json:"upcomingComponents,omitempty"`

	// NoOfRetry defines how many times this pull request 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"`

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

PullRequestQueueSpec defines the desired state of PullRequestQueue

func (*PullRequestQueueSpec) DeepCopy

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

func (*PullRequestQueueSpec) DeepCopyInto

func (in *PullRequestQueueSpec) DeepCopyInto(out *PullRequestQueueSpec)

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

type PullRequestQueueState

type PullRequestQueueState string

PullRequestQueueState defines state of the queue

const (
	// Waiting waiting in queues
	PullRequestQueueWaiting PullRequestQueueState = "waiting"

	// Creating the environment is creating for deploying components
	PullRequestQueueEnvCreating PullRequestQueueState = "creating"

	// Deploying the components are being deployed into pull request namespace
	PullRequestQueueDeploying PullRequestQueueState = "deploying"

	// Testing the components are being tested
	PullRequestQueueTesting PullRequestQueueState = "testing"

	// Collecting collecting the result from testing
	PullRequestQueueCollecting PullRequestQueueState = "collecting"

	// Destroying destroying the pull request namespace
	PullRequestQueueEnvDestroying PullRequestQueueState = "destroying"

	// Finished queue is in finished state, waiting for next process
	PullRequestQueueFinished PullRequestQueueState = "finished"
)

type PullRequestQueueStatus

type PullRequestQueueStatus 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"`

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

	// PullRequestNamespace represents a current pull request namespace
	PullRequestNamespace string `json:"pullRequestNamespace"`

	// PullRequestQueueHistoryName represents created PullRequestQueueHistory name
	// +optional
	PullRequestQueueHistoryName string `json:"pullRequestQueueHistoryName,omitempty"`

	// Result represents a result of the pull request queue
	// +optional
	Result PullRequestQueueResult `json:"result,omitempty"`

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

	// ComponentUpgrade defines a deployed pull request queue
	// +optional
	DeploymentQueue *Queue `json:"deploymentQueue,omitempty"`
}

PullRequestQueueStatus defines the observed state of PullRequestQueue

func (*PullRequestQueueStatus) DeepCopy

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

func (*PullRequestQueueStatus) DeepCopyInto

func (in *PullRequestQueueStatus) DeepCopyInto(out *PullRequestQueueStatus)

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

func (*PullRequestQueueStatus) IsConditionTrue

func (prqs *PullRequestQueueStatus) IsConditionTrue(cond PullRequestQueueConditionType) bool

func (*PullRequestQueueStatus) SetCondition

func (prqs *PullRequestQueueStatus) SetCondition(cond PullRequestQueueConditionType, status corev1.ConditionStatus, message string)

func (*PullRequestQueueStatus) SetDeploymentQueue

func (prqs *PullRequestQueueStatus) SetDeploymentQueue(q *Queue)

func (*PullRequestQueueStatus) SetPullRequestNamespace

func (prqs *PullRequestQueueStatus) SetPullRequestNamespace(namespace string)

func (*PullRequestQueueStatus) SetPullRequestQueueHistoryName

func (prqs *PullRequestQueueStatus) SetPullRequestQueueHistoryName(prQueueHistName string)

func (*PullRequestQueueStatus) SetResult

func (prqs *PullRequestQueueStatus) SetResult(res PullRequestQueueResult)

type PullRequestTrigger

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

	Spec   PullRequestTriggerSpec   `json:"spec,omitempty"`
	Status PullRequestTriggerStatus `json:"status,omitempty"`
}

PullRequestTrigger is the Schema for the pullrequesttriggers API

func (*PullRequestTrigger) DeepCopy

func (in *PullRequestTrigger) DeepCopy() *PullRequestTrigger

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

func (*PullRequestTrigger) DeepCopyInto

func (in *PullRequestTrigger) DeepCopyInto(out *PullRequestTrigger)

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

func (*PullRequestTrigger) DeepCopyObject

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

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

type PullRequestTriggerCondition

type PullRequestTriggerCondition struct {
	Type   PullRequestTriggerConditionType `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 (*PullRequestTriggerCondition) DeepCopy

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

func (*PullRequestTriggerCondition) DeepCopyInto

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

type PullRequestTriggerConditionType

type PullRequestTriggerConditionType string
const (
	// PullRequestTriggerCondFailed means the pull request trigger failed to retrieve the image from the registry
	PullRequestTriggerCondFailed PullRequestTriggerConditionType = "Failed"
)

type PullRequestTriggerConfig

type PullRequestTriggerConfig struct {
	// PollingTime defines a waiting duration time to re-check the pull request image in the registry
	// +optional
	PollingTime metav1.Duration `json:"pollingTime,omitempty"`
	// MaxRetry defines max retry counts of pull request trigger if cannot find image in the registry
	// +optional
	MaxRetry *int `json:"maxRetry,omitempty"`
}

PullRequestTriggerConfig represents a pull request trigger configuration

func (*PullRequestTriggerConfig) DeepCopy

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

func (*PullRequestTriggerConfig) DeepCopyInto

func (in *PullRequestTriggerConfig) DeepCopyInto(out *PullRequestTriggerConfig)

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

type PullRequestTriggerList

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

PullRequestTriggerList contains a list of PullRequestTrigger

func (*PullRequestTriggerList) DeepCopy

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

func (*PullRequestTriggerList) DeepCopyInto

func (in *PullRequestTriggerList) DeepCopyInto(out *PullRequestTriggerList)

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

func (*PullRequestTriggerList) DeepCopyObject

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

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

type PullRequestTriggerResult

type PullRequestTriggerResult string

PullRequestTriggerResult represents the result status of a pull request trigger

const (
	PullRequestTriggerSuccess PullRequestTriggerResult = "Success"
	PullRequestTriggerFailure PullRequestTriggerResult = "Failure"
)

type PullRequestTriggerSpec

type PullRequestTriggerSpec struct {
	Component string `json:"component"`
	PRNumber  string `json:"prNumber"`
	// +optional
	CommitSHA string `json:"commitSHA,omitempty"`
	// +optional
	Image *Image `json:"image,omitempty"`
	// +optional
	Pattern string `json:"pattern,omitempty"`
	// +optional
	Source UpdatingSource `json:"source,omitempty"`
}

PullRequestTriggerSpec defines the desired state of PullRequestTrigger

func (*PullRequestTriggerSpec) DeepCopy

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

func (*PullRequestTriggerSpec) DeepCopyInto

func (in *PullRequestTriggerSpec) DeepCopyInto(out *PullRequestTriggerSpec)

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

type PullRequestTriggerStatus

type PullRequestTriggerStatus struct {
	// CreatedAt represents time when pull request has been triggered firstly
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`

	// UpdatedAt represents time when pull request has been re-triggered
	UpdatedAt *metav1.Time `json:"updatedAt,omitempty"`

	// NextProcessAt represents time to re-check the image in the target registry
	// +optional
	NextProcessAt *metav1.Time `json:"nextProcessAt,omitempty"`

	// NoOfRetry defines how many times this pull request has been triggered
	// +optional
	NoOfRetry *int `json:"noOfRetry,omitempty"`

	// Result represents a result of the pull request trigger
	// +optional
	Result PullRequestTriggerResult `json:"result,omitempty"`

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

PullRequestTriggerStatus defines the observed state of PullRequestTrigger

func (*PullRequestTriggerStatus) DeepCopy

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

func (*PullRequestTriggerStatus) DeepCopyInto

func (in *PullRequestTriggerStatus) DeepCopyInto(out *PullRequestTriggerStatus)

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

func (*PullRequestTriggerStatus) SetCondition

func (pr *PullRequestTriggerStatus) SetCondition(cond PullRequestTriggerConditionType, status v1.ConditionStatus, message string)

func (*PullRequestTriggerStatus) SetResult

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

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) IsComponentUpgradeQueue

func (q *Queue) IsComponentUpgradeQueue() bool

func (*Queue) IsDeploySuccess

func (q *Queue) IsDeploySuccess() bool

func (*Queue) IsPullRequestQueue

func (q *Queue) IsPullRequestQueue() 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

type QueueByNoOfOrder []Queue

func (QueueByNoOfOrder) DeepCopy

func (in QueueByNoOfOrder) DeepCopy() QueueByNoOfOrder

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

func (QueueByNoOfOrder) DeepCopyInto

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

func (q QueueByNoOfOrder) Len() int

func (QueueByNoOfOrder) Less

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

func (QueueByNoOfOrder) Swap

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

type QueueComponent

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

func (in *QueueComponent) DeepCopy() *QueueComponent

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

func (*QueueComponent) DeepCopyInto

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

type QueueComponents []*QueueComponent

func (QueueComponents) DeepCopy

func (in QueueComponents) DeepCopy() QueueComponents

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

func (QueueComponents) DeepCopyInto

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

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"`
	StableComponents []StableComponent `json:"stableComponents,omitempty"`
	AppliedValues    Values            `json:"appliedValues,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

First returns the first order of queues

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

	// PRNumber represents a pull request number
	// +optional
	PRNumber string `json:"prNumber,omitempty"`

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

	// DeploymentIssues defines a list of deployment issue types
	// +optional
	DeploymentIssues []DeploymentIssue `json:"deploymentIssues,omitempty"`

	// ImageMissingList defines image missing lists
	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) SetDeploymentIssues

func (qs *QueueStatus) SetDeploymentIssues(deploymentIssues []DeploymentIssue)

func (*QueueStatus) SetImageMissingList

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

type QueueType

type QueueType string

QueueType defines how to process this item

type ReportOption

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

ReportOption defines an optional configuration of slack

func (*ReportOption) DeepCopy

func (in *ReportOption) DeepCopy() *ReportOption

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

func (*ReportOption) DeepCopyInto

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

type ReporterCriteria string

ReporterCriteria represents a criteria of sending component upgrade notification

type ReporterGithub

type ReporterGithub struct {
	// Enabled represents an enabled flag
	// +optional
	Enabled bool `json:"enabled"`
	// BaseURL represents a github base url e.g., https://github.com
	// +optional
	BaseURL string `json:"baseURL,omitempty"`
}

ReporterGithub defines a configuration of github reporter supports pull request queue reporter type only

func (*ReporterGithub) DeepCopy

func (in *ReporterGithub) DeepCopy() *ReporterGithub

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

func (*ReporterGithub) DeepCopyInto

func (in *ReporterGithub) DeepCopyInto(out *ReporterGithub)

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

type ReporterInterval

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 ReporterMSTeams

type ReporterMSTeams struct {
	Groups []MSTeamsGroup `json:"groups"`
	// +optional
	ComponentUpgrade *ConfigComponentUpgradeReport `json:"componentUpgrade,omitempty"`
	// +optional
	PullRequestTrigger *ConfigPullRequestTriggerReport `json:"pullRequestTrigger,omitempty"`
	// +optional
	PullRequestQueue *ConfigPullRequestQueueReport `json:"pullRequestQueue,omitempty"`
}

ReporterMSTeams defines a configuration of Microsoft Teams

func (*ReporterMSTeams) DeepCopy

func (in *ReporterMSTeams) DeepCopy() *ReporterMSTeams

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

func (*ReporterMSTeams) DeepCopyInto

func (in *ReporterMSTeams) DeepCopyInto(out *ReporterMSTeams)

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

type ReporterRest

type ReporterRest struct {
	// +optional
	ComponentUpgrade *RestObject `json:"componentUpgrade,omitempty"`
	// +optional
	ActivePromotion *RestObject `json:"activePromotion,omitempty"`
	// +optional
	ImageMissing *RestObject `json:"imageMissing,omitempty"`
	// +optional
	PullRequestTrigger *RestObject `json:"pullRequestTrigger,omitempty"`
	// +optional
	PullRequestQueue *RestObject `json:"pullRequestQueue,omitempty"`
}

ReporterRest defines a configuration of http rest

func (*ReporterRest) DeepCopy

func (in *ReporterRest) DeepCopy() *ReporterRest

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

func (*ReporterRest) DeepCopyInto

func (in *ReporterRest) DeepCopyInto(out *ReporterRest)

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

type ReporterShell

type ReporterShell struct {
	// +optional
	ComponentUpgrade *CommandAndArgs `json:"componentUpgrade,omitempty"`
	// +optional
	ActivePromotion *CommandAndArgs `json:"activePromotion,omitempty"`
	// +optional
	ImageMissing *CommandAndArgs `json:"imageMissing,omitempty"`
	// +optional
	PullRequestTrigger *CommandAndArgs `json:"pullRequestTrigger,omitempty"`
	// +optional
	PullRequestQueue *CommandAndArgs `json:"pullRequestQueue,omitempty"`
	// +optional
	ActiveEnvironmentDeleted *CommandAndArgs `json:"activeEnvironmentDeleted,omitempty"`
}

ReporterShell defines a configuration of shell command

func (*ReporterShell) DeepCopy

func (in *ReporterShell) DeepCopy() *ReporterShell

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

func (*ReporterShell) DeepCopyInto

func (in *ReporterShell) DeepCopyInto(out *ReporterShell)

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

type ReporterSlack

type ReporterSlack struct {
	Channels []string `json:"channels"`
	// +optional
	ComponentUpgrade *ConfigComponentUpgradeReport `json:"componentUpgrade,omitempty"`
	// +optional
	PullRequestTrigger *ConfigPullRequestTriggerReport `json:"pullRequestTrigger,omitempty"`
	// +optional
	PullRequestQueue *ConfigPullRequestQueueReport `json:"pullRequestQueue,omitempty"`
}

ReporterSlack defines a configuration of slack

func (*ReporterSlack) DeepCopy

func (in *ReporterSlack) DeepCopy() *ReporterSlack

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

func (*ReporterSlack) DeepCopyInto

func (in *ReporterSlack) DeepCopyInto(out *ReporterSlack)

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

type RestObject

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

func (*RestObject) DeepCopy

func (in *RestObject) DeepCopy() *RestObject

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

func (*RestObject) DeepCopyInto

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

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"
	TeamNamespacePullRequestCreated        TeamConditionType = "TeamNamespacePullRequestCreated"
	TeamConfigExisted                      TeamConditionType = "TeamConfigExisted"
	TeamPostStagingNamespaceCreationRun    TeamConditionType = "TeamPostStagingNamespaceCreationRun"
	TeamPostPreActiveNamespaceCreationRun  TeamConditionType = "TeamPostPreActiveNamespaceCreationRun"
	TeamFirstNotifyComponentChanged        TeamConditionType = "TeamFirstNotifyComponentChanged"
	TeamFirstActivePromotionRun            TeamConditionType = "TeamFirstActivePromotionRun"
	TeamUsedUpdated                        TeamConditionType = "TeamUsedUpdated"
	TeamRequiredFieldsValidated            TeamConditionType = "TeamRequiredFieldsValidated"
	TeamActiveEnvironmentDeleted           TeamConditionType = "TeamActiveEnvironmentDeleted"
	TeamActiveEnvironmentDeletedReportSent TeamConditionType = "TeamActiveEnvironmentDeletedReportSent"
)

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

	// +optional
	PullRequests []string `json:"pullRequests,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
	// +kubebuilder:pruning:PreserveUnknownFields
	DesiredComponentImageCreatedTime map[string]map[string]DesiredImageTime `json:"desiredComponentImageCreatedTime,omitempty"`

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

	// ActiveDeletedBy represents a person who deleted the Active environment
	// +optional
	ActiveDeletedBy string `json:"activeDeletedBy,omitempty"`

	// Used represents overridden team specification
	// +optional
	Used TeamSpec `json:"used,omitempty"`

	// TemplateUID represents the template update ID
	// +optional
	TemplateUID string `json:"templateUID,omitempty"`

	// SyncTemplate represents whether the team has been synced to the template or not
	// +optional
	SyncTemplate bool `json:"syncTemplate,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

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 {
	Branch      string `json:"branch,omitempty"`
	BuildID     string `json:"buildID,omitempty"`
	BuildNumber string `json:"buildNumber,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(branch, 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

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