v1alpha1

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the picchu v1alpha1 API group +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=picchu.medium.engineering

Package v1alpha1 contains API Schema definitions for the picchu v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=picchu.medium.engineering

Index

Constants

View Source
const (
	PrivateIngressName = "private"
	PublicIngressName  = "public"
)
View Source
const (
	// PortPublic sets a port to be published to the Internet.
	PortPublic PortMode = "public"

	// PortPrivate sets a port to be published on a private gateway, making it available to other
	// clusters and users on our private networks (including VPN), but not on the Internet.
	PortPrivate PortMode = "private"

	// PortInternal sets the port to not be published to any gateway, making it only available within
	// the local Kubernetes cluster.
	PortLocal PortMode = "local"

	ScalingStrategyNone      = "none"
	ScalingStrategyLinear    = "linear"
	ScalingStrategyGeometric = "geometric"
)
View Source
const (
	HumaneSchedule    = "humane"
	InhumaneSchedule  = "inhumane"
	AlwaysSchedule    = "always"
	LabelApp          = "picchu.medium.engineering/app"
	LabelTag          = "picchu.medium.engineering/tag"
	LabelCluster      = "picchu.medium.engineering/cluster"
	LabelFleet        = "picchu.medium.engineering/fleet"
	LabelRevision     = "picchu.medium.engineering/revision"
	LabelTarget       = "picchu.medium.engineering/target"
	LabelOwnerName    = "picchu.medium.engineering/ownerName"
	LabelOwnerType    = "picchu.medium.engineering/ownerType"
	LabelIstioApp     = "app"
	LabelIstioVersion = "version"
	LabelK8sName      = "app.kubernetes.io/name"
	LabelK8sVersion   = "app.kubernetes.io/version"
	LabelCommit       = "picchu.medium.engineering/commit"
	LabelRuleType     = "picchu.medium.engineering/ruleType"
	LabelFleetPrefix  = "fleet.picchu.medium.engineering/"
	LabelIgnore       = "picchu.medium.engineering/ignore"
	// LabelTargetDeletablePrefix is used to signal that a releasemanager no longer needs the revision and it can be deleted
	LabelTargetDeletablePrefix          = "target-deletable.picchu.medium.engineering/"
	FinalizerReleaseManager             = "picchu.medium.engineering/releasemanager"
	FinalizerCluster                    = "picchu.medium.engineering/cluster"
	FinalizerClusterSecrets             = "picchu.medium.engineering/clustersecrets"
	OwnerReleaseManager                 = "releasemanager"
	AnnotationGitCommitterTimestamp     = "git-scm.com/committer-timestamp"
	AnnotationRevisionCreationTimestamp = "revisionCreationTimestamp"
	AnnotationIAMRole                   = "iam.amazonaws.com/role"
	// TODO(bob): camelCase
	AnnotationFailedAt               = "picchu.medium.engineering/failed-at-timestamp"
	AnnotationRepo                   = "picchu.medium.engineering/repo"
	AnnotationCanaryStartedTimestamp = "picchu.medium.engineering/canaryStartedTimestamp"
	AnnotationAutoscaler             = "picchu.medium.engineering/autoscaler"

	AutoscalerTypeHPA = "hpa"
	AutoscalerTypeWPA = "wpa"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "picchu.medium.engineering", Version: "v1alpha1"}

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

	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func SetDefaults_ClusterSpec

func SetDefaults_ClusterSpec(spec *ClusterSpec)

func SetDefaults_RevisionSpec

func SetDefaults_RevisionSpec(spec *RevisionSpec)

func SetExternalTestDefaults

func SetExternalTestDefaults(externalTest *ExternalTest)

func SetObjectDefaults_Cluster

func SetObjectDefaults_Cluster(in *Cluster)

func SetObjectDefaults_ClusterList

func SetObjectDefaults_ClusterList(in *ClusterList)

func SetObjectDefaults_Revision

func SetObjectDefaults_Revision(in *Revision)

func SetObjectDefaults_RevisionList

func SetObjectDefaults_RevisionList(in *RevisionList)

func SetPortDefaults

func SetPortDefaults(port *PortInfo)

func SetReleaseDefaults

func SetReleaseDefaults(release *ReleaseInfo)

func SetScaleDefaults

func SetScaleDefaults(scale *ScaleInfo)

Types

type AWSInfo

type AWSInfo struct {
	IAM IAMInfo `json:"iam,omitempty"`
}

TODO(lyra): PodTemplate

func (*AWSInfo) DeepCopy

func (in *AWSInfo) DeepCopy() *AWSInfo

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

func (*AWSInfo) DeepCopyInto

func (in *AWSInfo) DeepCopyInto(out *AWSInfo)

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

type Canary

type Canary struct {
	Percent uint32 `json:"percent"`
	TTL     int64  `json:"ttl"`
}

func (*Canary) DeepCopy

func (in *Canary) DeepCopy() *Canary

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

func (*Canary) DeepCopyInto

func (in *Canary) DeepCopyInto(out *Canary)

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

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the clusters API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=all;picchu

func (*Cluster) AddFinalizer

func (c *Cluster) AddFinalizer()

func (*Cluster) Config

func (c *Cluster) Config(secret *corev1.Secret) (*rest.Config, error)

Config creates a rest.Config for the Cluster, whether it be remote or incluster. Secret is expected to contain "auth-info" if Config is specified.

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) Finalize

func (c *Cluster) Finalize()

func (*Cluster) Fleet

func (c *Cluster) Fleet() string

func (*Cluster) IsDeleted

func (c *Cluster) IsDeleted() bool

func (*Cluster) IsFinalized

func (c *Cluster) IsFinalized() bool

type ClusterConfig

type ClusterConfig struct {
	Server                   string `json:"server"`
	CertificateAuthorityData []byte `json:"certificate-authority-data"`
}

func (*ClusterConfig) DeepCopy

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

type ClusterIngresses

type ClusterIngresses struct {
	Public  IngressInfo `json:"public"`
	Private IngressInfo `json:"private"`
}

func (*ClusterIngresses) DeepCopy

func (in *ClusterIngresses) DeepCopy() *ClusterIngresses

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

func (*ClusterIngresses) DeepCopyInto

func (in *ClusterIngresses) DeepCopyInto(out *ClusterIngresses)

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

type ClusterKubernetesStatus

type ClusterKubernetesStatus struct {
	Version string `json:"version"`
	Ready   bool   `json:"ready"`
}

func (*ClusterKubernetesStatus) DeepCopy

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

func (*ClusterKubernetesStatus) DeepCopyInto

func (in *ClusterKubernetesStatus) DeepCopyInto(out *ClusterKubernetesStatus)

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

type ClusterList

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

ClusterList contains a list of Cluster

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterSecretSource

type ClusterSecretSource struct {
	Namespace     string `json:"namespace"`
	LabelSelector string `json:"labelSelector,omitempty"`
	FieldSelector string `json:"fieldSelector,omitempty"`
}

func (*ClusterSecretSource) DeepCopy

func (in *ClusterSecretSource) DeepCopy() *ClusterSecretSource

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

func (*ClusterSecretSource) DeepCopyInto

func (in *ClusterSecretSource) DeepCopyInto(out *ClusterSecretSource)

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

type ClusterSecretTarget

type ClusterSecretTarget struct {
	// Namespace to copy secrets to
	Namespace string `json:"namespace"`

	// LabelSelector of clusters to copy secrets to
	LabelSelector string `json:"labelSelector,omitempty"`

	// FieldSelector of clusters to copy secrets to
	FieldSelector string `json:"fieldSelector,omitempty"`

	// Labels to add to the copied secrets
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations to add to the copied secrets
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ClusterSecretTarget) DeepCopy

func (in *ClusterSecretTarget) DeepCopy() *ClusterSecretTarget

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

func (*ClusterSecretTarget) DeepCopyInto

func (in *ClusterSecretTarget) DeepCopyInto(out *ClusterSecretTarget)

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

type ClusterSecrets

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

	Spec   ClusterSecretsSpec   `json:"spec,omitempty"`
	Status ClusterSecretsStatus `json:"status,omitempty"`
}

ClusterSecrets is the Schema for the clustersecrets API +k8s:openapi-gen=true

func (*ClusterSecrets) AddFinalizer

func (c *ClusterSecrets) AddFinalizer()

func (*ClusterSecrets) DeepCopy

func (in *ClusterSecrets) DeepCopy() *ClusterSecrets

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

func (*ClusterSecrets) DeepCopyInto

func (in *ClusterSecrets) DeepCopyInto(out *ClusterSecrets)

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

func (*ClusterSecrets) DeepCopyObject

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

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

func (*ClusterSecrets) Finalize

func (c *ClusterSecrets) Finalize()

func (*ClusterSecrets) IsDeleted

func (c *ClusterSecrets) IsDeleted() bool

func (*ClusterSecrets) IsFinalized

func (c *ClusterSecrets) IsFinalized() bool

type ClusterSecretsList

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

ClusterSecretsList contains a list of ClusterSecrets

func (*ClusterSecretsList) DeepCopy

func (in *ClusterSecretsList) DeepCopy() *ClusterSecretsList

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

func (*ClusterSecretsList) DeepCopyInto

func (in *ClusterSecretsList) DeepCopyInto(out *ClusterSecretsList)

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

func (*ClusterSecretsList) DeepCopyObject

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

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

type ClusterSecretsSpec

type ClusterSecretsSpec struct {
	Source ClusterSecretSource `json:"source"`
	Target ClusterSecretTarget `json:"target"`
}

ClusterSecretsSpec defines the desired state of ClusterSecrets +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=picchu

func (*ClusterSecretsSpec) DeepCopy

func (in *ClusterSecretsSpec) DeepCopy() *ClusterSecretsSpec

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

func (*ClusterSecretsSpec) DeepCopyInto

func (in *ClusterSecretsSpec) DeepCopyInto(out *ClusterSecretsSpec)

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

type ClusterSecretsStatus

type ClusterSecretsStatus struct {
	// Names of secrets copied to targets
	// +listType=set
	Secrets []string `json:"secrets,omitempty"`
}

ClusterSecretsStatus defines the observed state of ClusterSecrets +k8s:openapi-gen=true

func (*ClusterSecretsStatus) DeepCopy

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

func (*ClusterSecretsStatus) DeepCopyInto

func (in *ClusterSecretsStatus) DeepCopyInto(out *ClusterSecretsStatus)

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

type ClusterSpec

type ClusterSpec struct {
	Enabled             bool             `json:"enabled"`
	HotStandby          bool             `json:"hotStandby,omitempty"`
	Config              *ClusterConfig   `json:"config,omitempty"`
	ScalingFactorString *string          `json:"scalingFactorString,omitempty"`
	Ingresses           ClusterIngresses `json:"ingresses"`
	EnableDevRoutes     bool             `json:"enableDevRoutes,omitempty"`
	DevRouteTagTemplate string           `json:"devRouteTagTemplate,omitempty"`
}

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	Kubernetes ClusterKubernetesStatus `json:"kubernetes,omitempty"`
}

ClusterStatus defines the observed state of Cluster

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ConfigSelector

type ConfigSelector struct {
	Namespace     string                `json:"namespace,omitempty"`
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
	AppLabelName  string                `json:"appLabelName"`
	TagLabelName  string                `json:"tagLabelName"`
}

func (*ConfigSelector) DeepCopy

func (in *ConfigSelector) DeepCopy() *ConfigSelector

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

func (*ConfigSelector) DeepCopyInto

func (in *ConfigSelector) DeepCopyInto(out *ConfigSelector)

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

type ExternalTest

type ExternalTest struct {
	Enabled     bool             `json:"enabled"`
	Started     bool             `json:"started"`
	Completed   bool             `json:"completed"`
	Succeeded   bool             `json:"succeeded,omitempty"`
	Timeout     *metav1.Duration `json:"timeout,omitempty"`
	LastUpdated *metav1.Time     `json:"lastUpdated,omitempty"`
}

func (*ExternalTest) DeepCopy

func (in *ExternalTest) DeepCopy() *ExternalTest

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

func (*ExternalTest) DeepCopyInto

func (in *ExternalTest) DeepCopyInto(out *ExternalTest)

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

type FaultInjector

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

	Spec   FaultInjectorSpec   `json:"spec,omitempty"`
	Status FaultInjectorStatus `json:"status,omitempty"`
}

FaultInjector is the Schema for the faultinjectors API +kubebuilder:subresource:status +kubebuilder:resource:path=faultinjectors,scope=Namespaced

func (*FaultInjector) DeepCopy

func (in *FaultInjector) DeepCopy() *FaultInjector

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

func (*FaultInjector) DeepCopyInto

func (in *FaultInjector) DeepCopyInto(out *FaultInjector)

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

func (*FaultInjector) DeepCopyObject

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

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

type FaultInjectorList

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

FaultInjectorList contains a list of FaultInjector

func (*FaultInjectorList) DeepCopy

func (in *FaultInjectorList) DeepCopy() *FaultInjectorList

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

func (*FaultInjectorList) DeepCopyInto

func (in *FaultInjectorList) DeepCopyInto(out *FaultInjectorList)

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

func (*FaultInjectorList) DeepCopyObject

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

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

type FaultInjectorSpec

type FaultInjectorSpec struct {
	HTTPPortFaults []HTTPPortFault `json:"httpPortFaults"`
}

FaultInjectorSpec defines the desired state of FaultInjector

func (*FaultInjectorSpec) DeepCopy

func (in *FaultInjectorSpec) DeepCopy() *FaultInjectorSpec

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

func (*FaultInjectorSpec) DeepCopyInto

func (in *FaultInjectorSpec) DeepCopyInto(out *FaultInjectorSpec)

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

type FaultInjectorStatus

type FaultInjectorStatus struct {
}

FaultInjectorStatus defines the observed state of FaultInjector

func (*FaultInjectorStatus) DeepCopy

func (in *FaultInjectorStatus) DeepCopy() *FaultInjectorStatus

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

func (*FaultInjectorStatus) DeepCopyInto

func (in *FaultInjectorStatus) DeepCopyInto(out *FaultInjectorStatus)

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

type GeometricScaling

type GeometricScaling struct {
	Start  uint32           `json:"start,omitempty"`
	Factor uint32           `json:"factor,omitempty"`
	Delay  *metav1.Duration `json:"delay,omitempty"`
}

func (*GeometricScaling) DeepCopy

func (in *GeometricScaling) DeepCopy() *GeometricScaling

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

func (*GeometricScaling) DeepCopyInto

func (in *GeometricScaling) DeepCopyInto(out *GeometricScaling)

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

type HTTPPortFault

type HTTPPortFault struct {
	PortSelector *istio.PortSelector       `json:"portSelector,omitempty"`
	HTTPFault    *istio.HTTPFaultInjection `json:"fault,omitempty"`
}

HTTPPortFault allows injecting faults into apps by port number +k8s:deepcopy-gen=false

func (*HTTPPortFault) DeepCopy

func (in *HTTPPortFault) DeepCopy() *HTTPPortFault

func (*HTTPPortFault) DeepCopyInto

func (in *HTTPPortFault) DeepCopyInto(out *HTTPPortFault)

type IAMInfo

type IAMInfo struct {
	RoleARN string `json:"role_arn,omitempty"`
}

func (*IAMInfo) DeepCopy

func (in *IAMInfo) DeepCopy() *IAMInfo

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

func (*IAMInfo) DeepCopyInto

func (in *IAMInfo) DeepCopyInto(out *IAMInfo)

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

type IngressInfo

type IngressInfo struct {
	DNSName        string   `json:"dnsName"`
	Gateway        string   `json:"gateway,omitempty"`
	DefaultDomains []string `json:"defaultDomains"`
}

func (*IngressInfo) DeepCopy

func (in *IngressInfo) DeepCopy() *IngressInfo

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

func (*IngressInfo) DeepCopyInto

func (in *IngressInfo) DeepCopyInto(out *IngressInfo)

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

type Istio

type Istio struct {
	TrafficPolicy *istio.TrafficPolicy `json:"trafficPolicy,omitempty"`
	Sidecar       *IstioSidecar        `json:"sidecar,omitempty"`
}

see custom_deepcopy.go +k8s:deepcopy-gen=false

func (*Istio) DeepCopy

func (in *Istio) DeepCopy() *Istio

Istio uses proto.Clone, and therefore doesn't implement recursive deepCopy. If we want to use a subtype of istio's nested apis, we'll need to wrap the structs and create our own deepcopy impl.

func (*Istio) DeepCopyInto

func (in *Istio) DeepCopyInto(out *Istio)

type IstioHTTPPortConfig

type IstioHTTPPortConfig struct {
	Retries *Retries         `json:"retries,omitempty"`
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

func (*IstioHTTPPortConfig) DeepCopy

func (in *IstioHTTPPortConfig) DeepCopy() *IstioHTTPPortConfig

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

func (*IstioHTTPPortConfig) DeepCopyInto

func (in *IstioHTTPPortConfig) DeepCopyInto(out *IstioHTTPPortConfig)

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

type IstioPortConfig

type IstioPortConfig struct {
	HTTP IstioHTTPPortConfig `json:"http,omitempty"`
}

func (*IstioPortConfig) DeepCopy

func (in *IstioPortConfig) DeepCopy() *IstioPortConfig

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

func (*IstioPortConfig) DeepCopyInto

func (in *IstioPortConfig) DeepCopyInto(out *IstioPortConfig)

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

type IstioSidecar

type IstioSidecar struct {
	EgressHosts []string `json:"egressHosts,omitempty"`
}

func (*IstioSidecar) DeepCopy

func (in *IstioSidecar) DeepCopy() *IstioSidecar

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

func (*IstioSidecar) DeepCopyInto

func (in *IstioSidecar) DeepCopyInto(out *IstioSidecar)

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

type LinearScaling

type LinearScaling struct {
	Increment uint32           `json:"increment,omitempty"`
	Delay     *metav1.Duration `json:"delay,omitempty"`
}

func (*LinearScaling) DeepCopy

func (in *LinearScaling) DeepCopy() *LinearScaling

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

func (*LinearScaling) DeepCopyInto

func (in *LinearScaling) DeepCopyInto(out *LinearScaling)

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

type Mirror

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

	Spec   MirrorSpec   `json:"spec,omitempty"`
	Status MirrorStatus `json:"status,omitempty"`
}

Mirror is the Schema for the mirrors API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced

func (*Mirror) DeepCopy

func (in *Mirror) DeepCopy() *Mirror

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

func (*Mirror) DeepCopyInto

func (in *Mirror) DeepCopyInto(out *Mirror)

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

func (*Mirror) DeepCopyObject

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

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

type MirrorList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object MirrorList contains a list of Mirror

func (*MirrorList) DeepCopy

func (in *MirrorList) DeepCopy() *MirrorList

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

func (*MirrorList) DeepCopyInto

func (in *MirrorList) DeepCopyInto(out *MirrorList)

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

func (*MirrorList) DeepCopyObject

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

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

type MirrorSpec

type MirrorSpec struct {
	ClusterName               string           `json:"clusterName"`
	AdditionalConfigSelectors []ConfigSelector `json:"additionalConfigSelectors,omitempty"`
}

MirrorSpec defines the desired state of Mirror

func (*MirrorSpec) DeepCopy

func (in *MirrorSpec) DeepCopy() *MirrorSpec

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

func (*MirrorSpec) DeepCopyInto

func (in *MirrorSpec) DeepCopyInto(out *MirrorSpec)

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

type MirrorStatus

type MirrorStatus struct{}

MirrorStatus defines the observed state of Mirror

func (*MirrorStatus) DeepCopy

func (in *MirrorStatus) DeepCopy() *MirrorStatus

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

func (*MirrorStatus) DeepCopyInto

func (in *MirrorStatus) DeepCopyInto(out *MirrorStatus)

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

type PortInfo

type PortInfo struct {
	Name          string          `json:"name"`
	Hosts         []string        `json:"hosts,omitempty"`
	IngressPort   int32           `json:"ingressPort,omitempty"`
	Port          int32           `json:"port,omitempty"`
	ContainerPort int32           `json:"containerPort,omitempty"`
	Protocol      corev1.Protocol `json:"protocol,omitempty"`
	Mode          PortMode        `json:"mode"`
	// Default denotes that this port will receive the default hostnames for the service. This is only useful if a
	// service exposes multiple ports over the same ingress gateway (mode: public or private). If only one port is
	// exposed, it will be the default port. If multiple ports are exposed and no default is specified and a port with
	// the `http` name is present, it will become the default port. If multiple ports are specified and the `http` port
	// is not present, validation will fail. Only Mode == (private|public) use the default flag, as they are trafficked
	// through the same external port. Internal ports can have the same hostnames since they can be selected by port
	// number.
	Default   bool     `json:"default,omitempty"`
	Ingresses []string `json:"ingresses,omitempty"`

	Istio IstioPortConfig `json:"istio,omitempty"`
}

func (*PortInfo) DeepCopy

func (in *PortInfo) DeepCopy() *PortInfo

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

func (*PortInfo) DeepCopyInto

func (in *PortInfo) DeepCopyInto(out *PortInfo)

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

type PortMode

type PortMode string

type ReleaseInfo

type ReleaseInfo struct {
	Eligible         bool             `json:"eligible,omitempty"`
	Max              uint32           `json:"max,omitempty"`
	ScalingStrategy  string           `json:"scalingStrategy,omitempty"`
	GeometricScaling GeometricScaling `json:"geometricScaling,omitempty"`
	LinearScaling    LinearScaling    `json:"linearScaling,omitempty"`
	Schedule         string           `json:"schedule,omitempty"`
	TTL              int64            `json:"ttl,omitempty"`
}

func (*ReleaseInfo) DeepCopy

func (in *ReleaseInfo) DeepCopy() *ReleaseInfo

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

func (*ReleaseInfo) DeepCopyInto

func (in *ReleaseInfo) DeepCopyInto(out *ReleaseInfo)

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

type ReleaseManager

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

	Spec   ReleaseManagerSpec   `json:"spec,omitempty"`
	Status ReleaseManagerStatus `json:"status,omitempty"`
}

ReleaseManager is the Schema for the releasemanagers API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=all;picchu

func (*ReleaseManager) DeepCopy

func (in *ReleaseManager) DeepCopy() *ReleaseManager

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

func (*ReleaseManager) DeepCopyInto

func (in *ReleaseManager) DeepCopyInto(out *ReleaseManager)

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

func (*ReleaseManager) DeepCopyObject

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

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

func (*ReleaseManager) Finalize

func (r *ReleaseManager) Finalize()

func (*ReleaseManager) IsDeleted

func (r *ReleaseManager) IsDeleted() bool

func (*ReleaseManager) IsFinalized

func (r *ReleaseManager) IsFinalized() bool

func (*ReleaseManager) RevisionStatus

func (r *ReleaseManager) RevisionStatus(tag string) *ReleaseManagerRevisionStatus

func (*ReleaseManager) TargetNamespace

func (r *ReleaseManager) TargetNamespace() string

func (*ReleaseManager) UpdateRevisionStatus

func (r *ReleaseManager) UpdateRevisionStatus(u *ReleaseManagerRevisionStatus)

type ReleaseManagerList

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

ReleaseManagerList contains a list of ReleaseManager

func (*ReleaseManagerList) DeepCopy

func (in *ReleaseManagerList) DeepCopy() *ReleaseManagerList

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

func (*ReleaseManagerList) DeepCopyInto

func (in *ReleaseManagerList) DeepCopyInto(out *ReleaseManagerList)

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

func (*ReleaseManagerList) DeepCopyObject

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

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

type ReleaseManagerRevisionMetricsStatus

type ReleaseManagerRevisionMetricsStatus struct {
	GitCreateSecondsInt              *int `json:"gitCreateSecondsInt,omitempty"`
	GitDeploySecondsInt              *int `json:"gitDeploySecondsInt,omitempty"`
	GitCanarySecondsInt              *int `json:"gitCanarySecondsInt,omitempty"`
	GitPendingReleaseSecondsInt      *int `json:"gitPendingReleaseSecondsInt,omitempty"`
	GitReleaseSecondsInt             *int `json:"gitReleaseSecondsInt,omitempty"`
	RevisionDeploySecondsInt         *int `json:"revisionDeploySecondsInt,omitempty"`
	RevisionCanarySecondsInt         *int `json:"revisionCanarySecondsInt,omitempty"`
	RevisionReleaseSecondsInt        *int `json:"revisionReleaseSecondsInt,omitempty"`
	ReivisonPendingReleaseSecondsInt *int `json:"revisionPendingReleaseSecondsInt,omitempty"`
	RevisionRollbackSecondsInt       *int `json:"revisionRollbackSecondsInt,omitempty"`
	DeploySecondsInt                 *int `json:"deploySecondsInt,omitempty"`
	CanarySecondsInt                 *int `json:"canarySecondsInt,omitempty"`
	ReleaseSecondsInt                *int `json:"releaseSecondsInt,omitempty"`
}

ReleaseManagerRevisionMetricsStatus defines the observed state of ReleaseManagerRevisionMetrics

func (*ReleaseManagerRevisionMetricsStatus) DeepCopy

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

func (*ReleaseManagerRevisionMetricsStatus) DeepCopyInto

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

type ReleaseManagerRevisionScaleStatus

type ReleaseManagerRevisionScaleStatus struct {
	Current int32 `json:"Current,omitempty"`
	Desired int32 `json:"Desired,omitempty"`
	Peak    int32 `json:"Peak,omitempty"`
}

func (*ReleaseManagerRevisionScaleStatus) DeepCopy

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

func (*ReleaseManagerRevisionScaleStatus) DeepCopyInto

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

type ReleaseManagerRevisionStateStatus

type ReleaseManagerRevisionStateStatus struct {
	Current     string       `json:"current"`
	Target      string       `json:"target"`
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`
}

func (*ReleaseManagerRevisionStateStatus) DeepCopy

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

func (*ReleaseManagerRevisionStateStatus) DeepCopyInto

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

func (*ReleaseManagerRevisionStateStatus) EqualTo

type ReleaseManagerRevisionStatus

type ReleaseManagerRevisionStatus struct {
	Tag                          string                              `json:"tag"`
	State                        ReleaseManagerRevisionStateStatus   `json:"state,omitempty"`
	CurrentPercent               uint32                              `json:"currentPercent"`
	PeakPercent                  uint32                              `json:"peakPercent"`
	ReleaseEligible              bool                                `json:"releaseEligible"`
	TriggeredAlarms              []string                            `json:"triggeredAlerts,omitempty"`
	LastUpdated                  *metav1.Time                        `json:"lastUpdated"`
	GitTimestamp                 *metav1.Time                        `json:"gitTimestamp,omitempty"`
	RevisionTimestamp            *metav1.Time                        `json:"revisionTimestamp,omitempty"`
	DeployingStartTimestamp      *metav1.Time                        `json:"deployingStartTimestamp,omitempty"`
	CanaryStartTimestamp         *metav1.Time                        `json:"canaryStartTimestamp,omitempty"`
	PendingReleaseStartTimestamp *metav1.Time                        `json:"pendingReleaseStartTimestamp,omitempty"`
	ReleaseStartTimestamp        *metav1.Time                        `json:"releaseStartTimestamp,omitempty"`
	TTL                          int64                               `json:"ttl,omitempty"`
	Metrics                      ReleaseManagerRevisionMetricsStatus `json:"metrics,omitempty"`
	Scale                        ReleaseManagerRevisionScaleStatus   `json:"scale"`
	Deleted                      bool                                `json:"deleted,omitempty"`
}

func (*ReleaseManagerRevisionStatus) DeepCopy

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

func (*ReleaseManagerRevisionStatus) DeepCopyInto

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

type ReleaseManagerSpec

type ReleaseManagerSpec struct {
	Fleet  string `json:"fleet"`
	App    string `json:"app"`
	Target string `json:"target"`
	// +listType=atomic
	Variants []Variant `json:"variants,omitempty"`
}

ReleaseManagerSpec defines the desired state of ReleaseManager +k8s:openapi-gen=true

func (*ReleaseManagerSpec) DeepCopy

func (in *ReleaseManagerSpec) DeepCopy() *ReleaseManagerSpec

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

func (*ReleaseManagerSpec) DeepCopyInto

func (in *ReleaseManagerSpec) DeepCopyInto(out *ReleaseManagerSpec)

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

type ReleaseManagerStatus

type ReleaseManagerStatus struct {
	// +listType=atomic
	Revisions   []ReleaseManagerRevisionStatus `json:"revisions,omitempty"`
	LastUpdated *metav1.Time                   `json:"lastUpdated"`
}

ReleaseManagerStatus defines the observed state of ReleaseManager +k8s:openapi-gen=true

func (*ReleaseManagerStatus) DeepCopy

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

func (*ReleaseManagerStatus) DeepCopyInto

func (in *ReleaseManagerStatus) DeepCopyInto(out *ReleaseManagerStatus)

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

type Retries

type Retries struct {
	Attempts      int32            `json:"attempts,omitempty"`
	PerTryTimeout *metav1.Duration `json:"perTryTimeout,omitempty"`
	RetryOn       *string          `json:"retryOn,omitempty"`
}

func (*Retries) DeepCopy

func (in *Retries) DeepCopy() *Retries

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

func (*Retries) DeepCopyInto

func (in *Retries) DeepCopyInto(out *Retries)

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

type Revision

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

	Spec   RevisionSpec   `json:"spec,omitempty"`
	Status RevisionStatus `json:"status,omitempty"`
}

Revision is the Schema for the revisions API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=all;picchu

func (*Revision) DeepCopy

func (in *Revision) DeepCopy() *Revision

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

func (*Revision) DeepCopyInto

func (in *Revision) DeepCopyInto(out *Revision)

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

func (*Revision) DeepCopyObject

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

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

func (*Revision) Fail

func (r *Revision) Fail()

func (*Revision) Failed

func (r *Revision) Failed() bool

func (*Revision) GitTimestamp

func (r *Revision) GitTimestamp() time.Time

func (*Revision) HasTarget

func (r *Revision) HasTarget(name string) bool

func (*Revision) SinceFailed

func (r *Revision) SinceFailed() time.Duration

type RevisionApp

type RevisionApp struct {
	Name  string `json:"name"`
	Ref   string `json:"ref"`
	Tag   string `json:"tag"`
	Image string `json:"image"`
}

func (*RevisionApp) DeepCopy

func (in *RevisionApp) DeepCopy() *RevisionApp

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

func (*RevisionApp) DeepCopyInto

func (in *RevisionApp) DeepCopyInto(out *RevisionApp)

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

type RevisionList

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

RevisionList contains a list of Revision

func (*RevisionList) DeepCopy

func (in *RevisionList) DeepCopy() *RevisionList

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

func (*RevisionList) DeepCopyInto

func (in *RevisionList) DeepCopyInto(out *RevisionList)

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

func (*RevisionList) DeepCopyObject

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

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

type RevisionReleaseStatus

type RevisionReleaseStatus struct {
	CurrentPercent uint32 `json:"currentPercent"`
	PeakPercent    uint32 `json:"peakPercent"`
}

func (*RevisionReleaseStatus) DeepCopy

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

func (*RevisionReleaseStatus) DeepCopyInto

func (in *RevisionReleaseStatus) DeepCopyInto(out *RevisionReleaseStatus)

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

type RevisionScaleStatus

type RevisionScaleStatus struct {
	Current uint32 `json:"current"`
	Desired uint32 `json:"desired"`
	Peak    uint32 `json:"peak"`
}

func (*RevisionScaleStatus) DeepCopy

func (in *RevisionScaleStatus) DeepCopy() *RevisionScaleStatus

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

func (*RevisionScaleStatus) DeepCopyInto

func (in *RevisionScaleStatus) DeepCopyInto(out *RevisionScaleStatus)

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

type RevisionSpec

type RevisionSpec struct {
	App                RevisionApp      `json:"app"`
	Targets            []RevisionTarget `json:"targets"`
	Failed             bool             `json:"failed"`
	IgnoreSLOs         bool             `json:"ignoreSLOs,omitempty"`
	CanaryWithSLIRules bool             `json:"canaryWithSLIRules,omitempty"`
	Sentry             SentryInfo       `json:"sentry,omitempty"`
	TagRoutingHeader   string           `json:"tagRoutingHeader,omitempty"`
	DisableMirroring   bool             `json:"disableMirroring,omitempty"`
}

RevisionSpec defines the desired state of Revision

func (*RevisionSpec) DeepCopy

func (in *RevisionSpec) DeepCopy() *RevisionSpec

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

func (*RevisionSpec) DeepCopyInto

func (in *RevisionSpec) DeepCopyInto(out *RevisionSpec)

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

type RevisionStatus

type RevisionStatus struct {
	Sentry  SentryInfo             `json:"sentry"`
	Targets []RevisionTargetStatus `json:"targets"`
}

func (*RevisionStatus) AddTarget

func (r *RevisionStatus) AddTarget(ts RevisionTargetStatus)

func (*RevisionStatus) DeepCopy

func (in *RevisionStatus) DeepCopy() *RevisionStatus

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

func (*RevisionStatus) DeepCopyInto

func (in *RevisionStatus) DeepCopyInto(out *RevisionStatus)

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

func (*RevisionStatus) GetTarget

func (r *RevisionStatus) GetTarget(name string) *RevisionTargetStatus

type RevisionTarget

type RevisionTarget struct {
	Name                        string                      `json:"name"`
	Fleet                       string                      `json:"fleet"`
	Scale                       ScaleInfo                   `json:"scale"`
	Release                     ReleaseInfo                 `json:"release,omitempty"`
	ServiceMonitors             []*ServiceMonitor           `json:"serviceMonitors,omitempty"`
	ServiceLevelObjectives      []*ServiceLevelObjective    `json:"serviceLevelObjectives,omitempty"`
	ServiceLevelObjectiveLabels ServiceLevelObjectiveLabels `json:"serviceLevelObjectiveLabels,omitempty"`
	AcceptanceTarget            bool                        `json:"acceptanceTarget,omitempty"`
	ConfigSelector              *metav1.LabelSelector       `json:"configSelector,omitempty"`
	AWS                         AWSInfo                     `json:"aws,omitempty"`
	AlertRules                  []monitoringv1.Rule         `json:"alertRules,omitempty"`
	Sidecars                    []corev1.Container          `json:"sidecars,omitempty"`
	VolumeMounts                []corev1.VolumeMount        `json:"volumeMounts,omitempty"`
	Volumes                     []corev1.Volume             `json:"volumes,omitempty"`

	PodAnnotations     map[string]string `json:"podAnnotations,omitempty"`
	ServiceAccountName string            `json:"serviceAccountName,omitempty"`

	Resources      corev1.ResourceRequirements `json:"resources,omitempty"`
	LivenessProbe  *corev1.Probe               `json:"livenessProbe,omitempty"`
	ReadinessProbe *corev1.Probe               `json:"readinessProbe,omitempty"`
	Lifecycle      *corev1.Lifecycle           `json:"lifecycle,omitempty"`

	Affinity    *corev1.Affinity    `json:"affinity,omitempty"`
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	ExternalTest        ExternalTest      `json:"externalTest,omitempty"`
	Canary              Canary            `json:"canary,omitempty"`
	DefaultIngressPorts map[string]string `json:"defaultIngressPorts,omitempty"`
	Ports               []PortInfo        `json:"ports,omitempty"`
	Env                 []corev1.EnvVar   `json:"env,omitempty"`

	Istio *Istio `json:"istio,omitempty"`
}

func (*RevisionTarget) DeepCopy

func (in *RevisionTarget) DeepCopy() *RevisionTarget

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

func (*RevisionTarget) DeepCopyInto

func (in *RevisionTarget) DeepCopyInto(out *RevisionTarget)

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

func (*RevisionTarget) IsCanaryPending

func (r *RevisionTarget) IsCanaryPending(startTime *metav1.Time) bool

func (*RevisionTarget) IsExternalTestPending

func (r *RevisionTarget) IsExternalTestPending() bool

func (*RevisionTarget) IsExternalTestSuccessful

func (r *RevisionTarget) IsExternalTestSuccessful() bool

type RevisionTargetStatus

type RevisionTargetStatus struct {
	Name    string                `json:"name"`
	Scale   RevisionScaleStatus   `json:"scale"`
	Release RevisionReleaseStatus `json:"release"`
	State   string                `json:"state,omitempty"`
}

RevisionStatus defines the observed state of Revision

func (*RevisionTargetStatus) AddReleaseManagerStatus

func (r *RevisionTargetStatus) AddReleaseManagerStatus(status ReleaseManagerRevisionStatus)

func (*RevisionTargetStatus) DeepCopy

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

func (*RevisionTargetStatus) DeepCopyInto

func (in *RevisionTargetStatus) DeepCopyInto(out *RevisionTargetStatus)

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

type SLICanaryConfig

type SLICanaryConfig struct {
	Enabled                bool    `json:"enabled"`
	AllowancePercentString string  `json:"allowancePercentString,omitempty"`
	AllowancePercent       float64 `json:"allowancePercent,omitempty"`
	FailAfter              string  `json:"failAfter,omitempty"`
}

func (*SLICanaryConfig) DeepCopy

func (in *SLICanaryConfig) DeepCopy() *SLICanaryConfig

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

func (*SLICanaryConfig) DeepCopyInto

func (in *SLICanaryConfig) DeepCopyInto(out *SLICanaryConfig)

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

type ScaleInfo

type ScaleInfo struct {
	Min             *int32 `json:"min,omitempty"`
	Default         int32  `json:"default,omitempty"`
	Max             int32  `json:"max,omitempty"`
	MinReadySeconds int32  `json:"minReadySeconds,omitempty"`

	// TargetCPUUtilizationPercentage scales based on CPU percentage
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`

	// TargetMemoryUtilizationPercentage scales based on Memory percentage
	TargetMemoryUtilizationPercentage *int32 `json:"targetMemoryUtilizationPercentage,omitempty"`

	// TargetRequestsRate scales based on the specified RequestsRateMetric
	TargetRequestsRate *string `json:"targetRequestsRate,omitempty"`
	// RequestsRateMetric refers to a Prometheus Adapter metric. See: https://github.com/DirectXMan12/k8s-prometheus-adapter
	RequestsRateMetric string `json:"requestsRateMetric,omitempty"`

	// Worker specifies parameters for Worker Pod Autoscaler. See https://github.com/practo/k8s-worker-pod-autoscaler
	Worker *WorkerScaleInfo `json:"worker,omitempty"`
}

func (*ScaleInfo) DeepCopy

func (in *ScaleInfo) DeepCopy() *ScaleInfo

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

func (*ScaleInfo) DeepCopyInto

func (in *ScaleInfo) DeepCopyInto(out *ScaleInfo)

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

func (*ScaleInfo) HasAutoscaler

func (s *ScaleInfo) HasAutoscaler() bool

func (*ScaleInfo) TargetRequestsRateQuantity

func (s *ScaleInfo) TargetRequestsRateQuantity() (*resource.Quantity, error)

type SentryInfo

type SentryInfo struct {
	Release bool `json:"release,omitempty"`
}

func (*SentryInfo) DeepCopy

func (in *SentryInfo) DeepCopy() *SentryInfo

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

func (*SentryInfo) DeepCopyInto

func (in *SentryInfo) DeepCopyInto(out *SentryInfo)

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

type ServiceLevelIndicator added in v0.0.3

type ServiceLevelIndicator struct {
	Canary     SLICanaryConfig `json:"canary,omitempty"`
	TagKey     string          `json:"tagKey,omitempty"`
	AlertAfter string          `json:"alertAfter,omitempty"`
	TotalQuery string          `json:"totalQuery,omitempty"`
	ErrorQuery string          `json:"errorQuery,omitempty"`
}

func (*ServiceLevelIndicator) DeepCopy added in v0.0.3

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

func (*ServiceLevelIndicator) DeepCopyInto added in v0.0.3

func (in *ServiceLevelIndicator) DeepCopyInto(out *ServiceLevelIndicator)

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

type ServiceLevelObjective

type ServiceLevelObjective struct {
	Name                        string                      `json:"name,omitempty"`
	Annotations                 map[string]string           `json:"annotations,omitempty"`
	Description                 string                      `json:"description,omitempty"`
	Enabled                     bool                        `json:"enabled"`
	ObjectivePercentString      string                      `json:"objectivePercentString,omitempty"`
	ServiceLevelIndicator       ServiceLevelIndicator       `json:"serviceLevelIndicator,omitempty"`
	ServiceLevelObjectiveLabels ServiceLevelObjectiveLabels `json:"serviceLevelObjectiveLabels,omitempty"`
}

func (*ServiceLevelObjective) DeepCopy

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

func (*ServiceLevelObjective) DeepCopyInto

func (in *ServiceLevelObjective) DeepCopyInto(out *ServiceLevelObjective)

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

type ServiceLevelObjectiveLabels

type ServiceLevelObjectiveLabels struct {
	AlertLabels        map[string]string `json:"alertLabels,omitempty"`
	RuleLabels         map[string]string `json:"ruleLabels,omitempty"`
	ServiceLevelLabels map[string]string `json:"serviceLevelLabels,omitempty"`
}

func (*ServiceLevelObjectiveLabels) DeepCopy

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

func (*ServiceLevelObjectiveLabels) DeepCopyInto

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

type ServiceMonitor

type ServiceMonitor struct {
	Name string `json:"name"`
	// if true, and the Spec.Endpoints.MetricRelabelConfigs does not specify a regex, will replace the regex with a list of SLO metric names
	SLORegex    bool                            `json:"sloRegex"`
	Annotations map[string]string               `json:"annotations,omitempty"`
	Labels      map[string]string               `json:"labels,omitempty"`
	Spec        monitoringv1.ServiceMonitorSpec `json:"spec,omitempty"`
}

func (*ServiceMonitor) DeepCopy

func (in *ServiceMonitor) DeepCopy() *ServiceMonitor

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

func (*ServiceMonitor) DeepCopyInto

func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)

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

type Variant

type Variant struct {
	Name    string `json:"name"`
	Enabled bool   `json:"enabled"`
}

func (*Variant) DeepCopy

func (in *Variant) DeepCopy() *Variant

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

func (*Variant) DeepCopyInto

func (in *Variant) DeepCopyInto(out *Variant)

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

type WorkerScaleInfo

type WorkerScaleInfo struct {
	QueueURI                     string  `json:"queueUri"`
	TargetMessagesPerWorker      *int32  `json:"targetMessagesPerWorker"`
	SecondsToProcessOneJobString *string `json:"secondsToProcessOneJobString,omitempty"` // optional
	MaxDisruption                *string `json:"maxDisruption"`                          // optional
}

func (*WorkerScaleInfo) DeepCopy

func (in *WorkerScaleInfo) DeepCopy() *WorkerScaleInfo

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

func (*WorkerScaleInfo) DeepCopyInto

func (in *WorkerScaleInfo) DeepCopyInto(out *WorkerScaleInfo)

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

Jump to

Keyboard shortcuts

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