v1alpha1

package
v0.0.0-...-12d0706 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2019 License: Apache-2.0 Imports: 16 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 (
	Route53Provider    = "route53"
	CloudflareProvider = "cloudflare"
	PrivateIngressName = "private"
	PublicIngressName  = "public"
)
View Source
const (
	HumaneSchedule                      = "humane"
	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"
	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/"
	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"
	AnnotationFailedAt                  = "picchu.medium.engineering/failed-at-timestamp"
	AnnotationRepo                      = "picchu.medium.engineering/repo"
	AnnotationCanaryStartedTimestamp    = "picchu.medium.engineering/canaryStartedTimestamp"
)

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

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

func (*Cluster) RegionAZ

func (c *Cluster) RegionAZ() string

Region gets the region/az the cluster is in based on spec and status. This shouldn't be used to *discover* the region/az of a InClusterConfig, but only see what region was already discovered by some other process.

type ClusterAWSInfo

type ClusterAWSInfo struct {
	AccountID string `json:"accountId,id"`
	Region    string `json:"region"`
	AZ        string `json:"az,omitempty"`
}

func (*ClusterAWSInfo) DeepCopy

func (in *ClusterAWSInfo) DeepCopy() *ClusterAWSInfo

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

func (*ClusterAWSInfo) DeepCopyInto

func (in *ClusterAWSInfo) DeepCopyInto(out *ClusterAWSInfo)

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

type ClusterConditionStatus

type ClusterConditionStatus struct {
	Name   string `json:"name"`
	Status string `json:"status"`
}

func (*ClusterConditionStatus) DeepCopy

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

func (*ClusterConditionStatus) DeepCopyInto

func (in *ClusterConditionStatus) DeepCopyInto(out *ClusterConditionStatus)

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

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 ClusterDNSGroup

type ClusterDNSGroup struct {
	Hosts    []string `json:"hosts,omitempty"`
	Provider string   `json:"provider,omitempty"`
	Ingress  string   `json:"ingress,omitempty"`
}

func (*ClusterDNSGroup) DeepCopy

func (in *ClusterDNSGroup) DeepCopy() *ClusterDNSGroup

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

func (*ClusterDNSGroup) DeepCopyInto

func (in *ClusterDNSGroup) DeepCopyInto(out *ClusterDNSGroup)

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

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

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
	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"`
	Weight         float64           `json:"weight"`
	ScalingFactor  *float64          `json:"scalingFactor,omitempty"`
	AWS            *ClusterAWSInfo   `json:"aws,omitempty"`
	DNS            []ClusterDNSGroup `json:"dns,omitempty"`
	Ingresses      ClusterIngresses  `json:"ingresses"`
	DefaultDomain  string            `json:"defaultDomain"`
	UseNewTagStyle bool              `json:"useNewTagStyle,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"`
	AWS        *ClusterAWSInfo          `json:"aws,omitempty"`
	Conditions []ClusterConditionStatus `json:"conditions,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 ExternalTest

type ExternalTest struct {
	Enabled   bool `json:"enabled"`
	Started   bool `json:"started"`
	Completed bool `json:"completed"`
	Succeeded bool `json:"succeeded,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 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 {
	HostedZoneId string `json:"hostedZoneId"`
	DNSName      string `json:"dnsName"`
	Gateway      string `json:"gateway,omitempty"`
}

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 IstioHTTPPortConfig

type IstioHTTPPortConfig struct {
	Redirect              *istiov1alpha3.HTTPRedirect       `json:"redirect,omitempty"`
	Rewrite               *istiov1alpha3.HTTPRewrite        `json:"rewrite,omitempty"`
	Retries               *istiov1alpha3.HTTPRetry          `json:"retries,omitempty"`
	Fault                 *istiov1alpha3.HTTPFaultInjection `json:"fault,omitempty"`
	Mirror                *istiov1alpha3.Destination        `json:"mirror,omitempty"`
	AppendHeaders         map[string]string                 `json:"appendHeaders,omitempty"`
	RemoveResponseHeaders map[string]string                 `json:"removeResponseHeaders,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 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

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

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

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

type RateInfo

type RateInfo struct {
	Increment    uint32 `json:"increment,omitempty"`
	DelaySeconds *int64 `json:"delay,omitempty"`
}

func (*RateInfo) DeepCopy

func (in *RateInfo) DeepCopy() *RateInfo

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

func (*RateInfo) DeepCopyInto

func (in *RateInfo) DeepCopyInto(out *RateInfo)

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

type ReleaseInfo

type ReleaseInfo struct {
	Eligible bool     `json:"eligible,omitempty"`
	Max      uint32   `json:"max,omitempty"`
	Rate     RateInfo `json:"rate,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

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 {
	GitReleaseSeconds       *float64 `json:"gitReleaseSeconds,omitempty"`
	GitDeploySeconds        *float64 `json:"gitDeploySeconds,omitempty"`
	GitCreateSeconds        *float64 `json:"gitCreateSeconds,omitempty"`
	RevisionDeploySeconds   *float64 `json:"revisionDeploySeconds,omitempty"`
	RevisionReleaseSeconds  *float64 `json:"revisionReleaseSeconds,omitempty"`
	RevisionRollbackSeconds *float64 `json:"revisionRollbackSeconds,omitempty"`
}

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
	Desired int32
	Peak    int32
}

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

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"`
	CanaryStartTimestamp *metav1.Time                        `json:"canaryStartTimestamp,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"`
}

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 {
	Revisions []ReleaseManagerRevisionStatus `json:"revisions,omitempty"`
}

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

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) 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"`
	Ports              []PortInfo                   `json:"ports,omitempty"`
	Targets            []RevisionTarget             `json:"targets"`
	TrafficPolicy      *istiov1alpha3.TrafficPolicy `json:"trafficPolicy,omitempty"`
	Failed             bool                         `json:"failed"`
	IgnoreSLOs         bool                         `json:"ignoreSLOs,omitempty"`
	CanaryWithSLIRules bool                         `json:"canaryWithSLIRules,omitempty"`
	Sentry             SentryInfo                   `json:"sentry"`
	TagRoutingHeader   string                       `json:"tagRoutingHeader,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"`
	ServiceLevelObjectives []ServiceLevelObjective `json:"serviceLevelObjectives,omitempty"`
	AcceptanceTarget       bool                    `json:"acceptanceTarget,omitempty"`
	ConfigSelector         *metav1.LabelSelector   `json:"configSelector,omitempty"`
	AWS                    AWSInfo                 `json:"aws,omitempty"`
	AlertRules             []monitoringv1.Rule     `json:"alertRules,omitempty"`

	ServiceAccountName string `json:"serviceAccountName,omitempty"`

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

	ExternalTest ExternalTest `json:"externalTest"`
	Canary       Canary       `json:"canary"`
	Ports        []PortInfo   `json:"ports,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"`
}

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 ScaleInfo

type ScaleInfo struct {
	Min                            *int32 `json:"min,omitempty"`
	Default                        int32  `json:"default,omitempty"`
	Max                            int32  `json:"max,omitempty"`
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`
	MinReadySeconds                int32  `json:"minReadySeconds,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.

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

type ServiceLevelIndicator struct {
	UseForCanary    bool    `json:"useForCanary"`
	CanaryAllowance float64 `json:"canaryAllowance,omitempty"`
	TagKey          string  `json:"tagKey,omitempty"`
	AlertAfter      string  `json:"alertAfter,omitempty"`
	TotalQuery      string  `json:"totalQuery"`
	ErrorQuery      string  `json:"errorQuery"`
}

func (*ServiceLevelIndicator) DeepCopy

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

func (*ServiceLevelIndicator) DeepCopyInto

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"`
	Description           string                `json:"description,omitempty"`
	Enabled               bool                  `json:"enabled"`
	ObjectivePercent      float64               `json:"objectivePercent"`
	ServiceLevelIndicator ServiceLevelIndicator `json:"serviceLevelIndicator"`
}

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.

Jump to

Keyboard shortcuts

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