v1

package
v1.3.41 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the zalando v1 API group +kubebuilder:object:generate=true +groupName=zalando.org

Index

Constants

This section is empty.

Variables

View Source
var (

	// AddToScheme applies all the stored functions to the scheme. A non-nil error
	// indicates that one function failed and the attempt was abandoned.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: zalando.GroupName, Version: "v1"}

SchemeGroupVersion is the group version used to register these objects.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group-qualified GroupResource.

Types

type ActualTraffic added in v1.1.0

type ActualTraffic struct {
	StackName   string             `json:"stackName"`
	ServiceName string             `json:"serviceName"`
	ServicePort intstr.IntOrString `json:"servicePort"`

	// +kubebuilder:validation:Format=float
	// +kubebuilder:validation:Type=number
	Weight float64 `json:"weight"`
}

Traffic is the actual traffic setting on services for this stackset, controllers interested in current traffic decision should read this.

type Autoscaler

type Autoscaler struct {
	// minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down.
	// It defaults to 1 pod.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`

	Metrics []AutoscalerMetrics `json:"metrics"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default HPAScalingRules for scale up and scale down are used.
	// +optional
	Behavior *autoscalingv2beta2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty" protobuf:"bytes,5,opt,name=behavior"`
}

Autoscaler is the autoscaling definition for a stack +k8s:deepcopy-gen=true

func (*Autoscaler) DeepCopy

func (in *Autoscaler) DeepCopy() *Autoscaler

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

func (*Autoscaler) DeepCopyInto

func (in *Autoscaler) DeepCopyInto(out *Autoscaler)

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

type AutoscalerMetricType added in v1.3.3

type AutoscalerMetricType string

AutoscalerMetricType is the type of the metric used for scaling. +kubebuilder:validation:Enum=CPU;Memory;AmazonSQS;PodJSON;Ingress;ZMON;ScalingSchedule;ClusterScalingSchedule

const (
	CPUAutoscalerMetric          AutoscalerMetricType = "CPU"
	MemoryAutoscalerMetric       AutoscalerMetricType = "Memory"
	AmazonSQSAutoscalerMetric    AutoscalerMetricType = "AmazonSQS"
	PodJSONAutoscalerMetric      AutoscalerMetricType = "PodJSON"
	IngressAutoscalerMetric      AutoscalerMetricType = "Ingress"
	ZMONAutoscalerMetric         AutoscalerMetricType = "ZMON"
	ClusterScalingScheduleMetric AutoscalerMetricType = "ClusterScalingSchedule"
	ScalingScheduleMetric        AutoscalerMetricType = "ScalingSchedule"
)

type AutoscalerMetrics

type AutoscalerMetrics struct {
	Type                   AutoscalerMetricType           `json:"type"`
	Average                *resource.Quantity             `json:"average,omitempty"`
	Endpoint               *MetricsEndpoint               `json:"endpoint,omitempty"`
	AverageUtilization     *int32                         `json:"averageUtilization,omitempty"`
	Queue                  *MetricsQueue                  `json:"queue,omitempty"`
	ZMON                   *MetricsZMON                   `json:"zmon,omitempty"`
	ScalingSchedule        *MetricsScalingSchedule        `json:"scalingSchedule,omitempty"`
	ClusterScalingSchedule *MetricsClusterScalingSchedule `json:"clusterScalingSchedule,omitempty"`
	// optional container name that can be used to scale based on CPU or
	// Memory metrics of a specific container as opposed to an average of
	// all containers in a pod.
	// +optional
	Container string `json:"container,omitempty"`
}

AutoscalerMetrics is the type of metric to be be used for autoscaling. +k8s:deepcopy-gen=true

func (*AutoscalerMetrics) DeepCopy

func (in *AutoscalerMetrics) DeepCopy() *AutoscalerMetrics

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

func (*AutoscalerMetrics) DeepCopyInto

func (in *AutoscalerMetrics) DeepCopyInto(out *AutoscalerMetrics)

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

type DesiredTraffic added in v1.1.0

type DesiredTraffic struct {
	StackName string `json:"stackName"`
	// +kubebuilder:validation:Type=number
	// +kubebuilder:validation:Format=float
	Weight float64 `json:"weight"`
}

DesiredTraffic is the desired traffic setting to direct traffic to a stack. This is meant to use by clients to orchestrate traffic switching.

type EmbeddedObjectMeta added in v1.3.3

type EmbeddedObjectMeta struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: http://kubernetes.io/docs/user-guide/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}

EmbeddedObject defines the metadata which can be attached to a resource. It's a slimmed down version of metav1.ObjectMeta only containing labels and annotations. +k8s:deepcopy-gen=true

func (*EmbeddedObjectMeta) DeepCopy added in v1.3.3

func (in *EmbeddedObjectMeta) DeepCopy() *EmbeddedObjectMeta

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

func (*EmbeddedObjectMeta) DeepCopyInto added in v1.3.3

func (in *EmbeddedObjectMeta) DeepCopyInto(out *EmbeddedObjectMeta)

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

type EmbeddedObjectMetaWithAnnotations added in v1.3.3

type EmbeddedObjectMetaWithAnnotations struct {
	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}

EmbeddedObjectMetaWithAnnotations defines the metadata which can be attached to a resource. It's a slimmed down version of metav1.ObjectMeta only containing annotations. +k8s:deepcopy-gen=true

func (*EmbeddedObjectMetaWithAnnotations) DeepCopy added in v1.3.3

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

func (*EmbeddedObjectMetaWithAnnotations) DeepCopyInto added in v1.3.3

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

type HorizontalPodAutoscaler

type HorizontalPodAutoscaler struct {
	// minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down.
	// It defaults to 1 pod.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`
	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// +optional
	Metrics []autoscaling.MetricSpec `json:"metrics,omitempty"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default HPAScalingRules for scale up and scale down are used.
	// +optional
	Behavior *autoscalingv2beta2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty" protobuf:"bytes,5,opt,name=behavior"`
}

HorizontalPodAutoscaler is the Autoscaling configuration of a Stack. If defined an HPA will be created for the Stack. +k8s:deepcopy-gen=true

func (*HorizontalPodAutoscaler) DeepCopy

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

func (*HorizontalPodAutoscaler) DeepCopyInto

func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler)

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

type MetricsClusterScalingSchedule added in v1.3.34

type MetricsClusterScalingSchedule struct {
	// The name of the referenced ClusterScalingSchedule object.
	// +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	Name string `json:"name"`
}

MetricsClusterScalingSchedule specifies the ClusterScalingSchedule object which should be used for scaling. +k8s:deepcopy-gen=true

func (*MetricsClusterScalingSchedule) DeepCopy added in v1.3.34

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

func (*MetricsClusterScalingSchedule) DeepCopyInto added in v1.3.34

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

type MetricsEndpoint

type MetricsEndpoint struct {
	Port int32  `json:"port"`
	Path string `json:"path"`
	Key  string `json:"key"`
	Name string `json:"name"`
}

MetricsEndpoint specified the endpoint where the custom endpoint where the metrics can be queried +k8s:deepcopy-gen=true

func (*MetricsEndpoint) DeepCopy

func (in *MetricsEndpoint) DeepCopy() *MetricsEndpoint

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

func (*MetricsEndpoint) DeepCopyInto

func (in *MetricsEndpoint) DeepCopyInto(out *MetricsEndpoint)

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

type MetricsQueue

type MetricsQueue struct {
	Name   string `json:"name"`
	Region string `json:"region"`
}

MetricsQueue specifies the SQS queue whose length should be used for scaling. +k8s:deepcopy-gen=true

func (*MetricsQueue) DeepCopy

func (in *MetricsQueue) DeepCopy() *MetricsQueue

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

func (*MetricsQueue) DeepCopyInto

func (in *MetricsQueue) DeepCopyInto(out *MetricsQueue)

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

type MetricsScalingSchedule added in v1.3.34

type MetricsScalingSchedule struct {
	// The name of the referenced ScalingSchedule object.
	// +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	Name string `json:"name"`
}

MetricsScalingSchedule specifies the ScalingSchedule object which should be used for scaling. +k8s:deepcopy-gen=true

func (*MetricsScalingSchedule) DeepCopy added in v1.3.34

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

func (*MetricsScalingSchedule) DeepCopyInto added in v1.3.34

func (in *MetricsScalingSchedule) DeepCopyInto(out *MetricsScalingSchedule)

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

type MetricsZMON added in v1.3.23

type MetricsZMON struct {
	// +kubebuilder:validation:Pattern:="^[0-9]+$"
	CheckID string `json:"checkID"`
	Key     string `json:"key"`
	// +kubebuilder:default:="5m"
	// +optional
	Duration string `json:"duration"`
	// +optional
	Aggregators []ZMONMetricAggregatorType `json:"aggregators,omitempty"`
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

MetricsZMON specifies the ZMON check which should be used for scaling. +k8s:deepcopy-gen=true

func (*MetricsZMON) DeepCopy added in v1.3.23

func (in *MetricsZMON) DeepCopy() *MetricsZMON

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

func (*MetricsZMON) DeepCopyInto added in v1.3.23

func (in *MetricsZMON) DeepCopyInto(out *MetricsZMON)

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

type PodTemplateSpec added in v1.3.3

type PodTemplateSpec struct {
	// Object's metadata.
	// +optional
	EmbeddedObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec v1.PodSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}

PodTemplateSpec describes the data a pod should have when created from a template +k8s:deepcopy-gen=true

func (*PodTemplateSpec) DeepCopy added in v1.3.3

func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec

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

func (*PodTemplateSpec) DeepCopyInto added in v1.3.3

func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)

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

type PrescalingStatus

type PrescalingStatus struct {
	// Active indicates if prescaling is current active
	// +optional
	Active bool `json:"active"`
	// Replicas is the number of replicas required for prescaling
	// +optional
	Replicas int32 `json:"replicas,omitempty"`
	// DesiredTrafficWeight is the desired traffic weight that the stack was prescaled for
	// +optional
	// +kubebuilder:validation:Format=float
	// +kubebuilder:validation:Type=number
	DesiredTrafficWeight float64 `json:"desiredTrafficWeight,omitempty"`
	// LastTrafficIncrease is the timestamp when the traffic was last increased on the stack
	// +optional
	LastTrafficIncrease *metav1.Time `json:"lastTrafficIncrease,omitempty"`
}

Prescaling hold prescaling information +k8s:deepcopy-gen=true

func (*PrescalingStatus) DeepCopy

func (in *PrescalingStatus) DeepCopy() *PrescalingStatus

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

func (*PrescalingStatus) DeepCopyInto

func (in *PrescalingStatus) DeepCopyInto(out *PrescalingStatus)

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

type RouteGroupSpec added in v1.3.5

type RouteGroupSpec struct {
	EmbeddedObjectMetaWithAnnotations `json:"metadata,omitempty"`
	// Hosts is the list of hostnames to add to the routegroup.
	Hosts []string `json:"hosts"`
	// AdditionalBackends is the list of additional backends to use for
	// routing.
	// +optional
	AdditionalBackends []rg.RouteGroupBackend `json:"additionalBackends,omitempty"`
	// Routes is the list of routes to be applied to the routegroup.
	// +kubebuilder:validation:MinItems=1
	Routes      []rg.RouteGroupRouteSpec `json:"routes"`
	BackendPort int                      `json:"backendPort"`
	// The load balancing algorithm used for the generated per stack backends.
	// +optional
	LBAlgorithm rg.BackendAlgorithmType `json:"lbAlgorithm,omitempty"`
}

RouteGroupSpec defines the specification for defining a RouteGroup attached to a StackSet. +k8s:deepcopy-gen=true

func (*RouteGroupSpec) DeepCopy added in v1.3.5

func (in *RouteGroupSpec) DeepCopy() *RouteGroupSpec

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

func (*RouteGroupSpec) DeepCopyInto added in v1.3.5

func (in *RouteGroupSpec) DeepCopyInto(out *RouteGroupSpec)

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

func (*RouteGroupSpec) GetAnnotations added in v1.3.35

func (s *RouteGroupSpec) GetAnnotations() map[string]string

func (*RouteGroupSpec) GetHosts added in v1.3.35

func (s *RouteGroupSpec) GetHosts() []string

type Stack

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

	Spec StackSpec `json:"spec"`
	// +optional
	Status StackStatus `json:"status"`
}

Stack defines one version of an application. It is possible to switch traffic between multiple versions of an application. +k8s:deepcopy-gen=true +kubebuilder:resource:categories=all +kubebuilder:printcolumn:name="Desired",type=integer,JSONPath=`.spec.replicas`,description="Number of desired replicas" +kubebuilder:printcolumn:name="Current",type=integer,JSONPath=`.status.replicas`,description="Number of current replicas" +kubebuilder:printcolumn:name="Up-To-Date",type=integer,JSONPath=`.status.updatedReplicas`,description="Number of up-to-date replicas" +kubebuilder:printcolumn:name="Ready",type=integer,JSONPath=`.status.readyReplicas`,description="Number of ready replicas" +kubebuilder:printcolumn:name="Traffic",type=number,JSONPath=`.status.actualTrafficWeight`,description="Current traffic weight for the stack" +kubebuilder:printcolumn:name="No-Traffic-Since",type=date,JSONPath=`.status.noTrafficSince`,description="Time since the stack didn't get any traffic" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age of the stack" +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.labelSelector

func (*Stack) DeepCopy

func (in *Stack) DeepCopy() *Stack

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

func (*Stack) DeepCopyInto

func (in *Stack) DeepCopyInto(out *Stack)

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

func (*Stack) DeepCopyObject

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

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

type StackIngressRouteGroupOverrides added in v1.3.35

type StackIngressRouteGroupOverrides struct {
	EmbeddedObjectMetaWithAnnotations `json:"metadata,omitempty"`

	// Whether to enable per-stack ingresses or routegroups. Defaults to enabled if unset.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Hostnames to use for the per-stack ingresses (or route groups). These must contain the special $(STACK_NAME)
	// token, which will be replaced with the stack's name. Would be automatically generated based on the hosts in the
	// ingress/routegroup entry if unset.
	Hosts []string `json:"hosts,omitempty"`
}

+k8s:deepcopy-gen=true

func (*StackIngressRouteGroupOverrides) DeepCopy added in v1.3.35

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

func (*StackIngressRouteGroupOverrides) DeepCopyInto added in v1.3.35

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

func (*StackIngressRouteGroupOverrides) IsEnabled added in v1.3.35

func (o *StackIngressRouteGroupOverrides) IsEnabled() bool

type StackLifecycle

type StackLifecycle struct {
	// ScaledownTTLSeconds is the ttl in seconds for when Stacks of a
	// StackSet should be scaled down to 0 replicas in case they are not
	// getting traffic.
	// Defaults to 300 seconds.
	// +optional
	ScaledownTTLSeconds *int64 `json:"scaledownTTLSeconds,omitempty"`
	// Limit defines the maximum number of Stacks to keep around. If the
	// number of Stacks exceeds the limit then the oldest stacks which are
	// not getting traffic are deleted.
	// +kubebuilder:validation:Minimum=1
	Limit *int32 `json:"limit,omitempty"`
}

StackLifecycle defines lifecycle of the Stacks of a StackSet. +k8s:deepcopy-gen=true

func (*StackLifecycle) DeepCopy

func (in *StackLifecycle) DeepCopy() *StackLifecycle

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

func (*StackLifecycle) DeepCopyInto

func (in *StackLifecycle) DeepCopyInto(out *StackLifecycle)

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

type StackList

type StackList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []Stack `json:"items"`
}

StackList is a list of Stacks. +k8s:deepcopy-gen=true

func (*StackList) DeepCopy

func (in *StackList) DeepCopy() *StackList

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

func (*StackList) DeepCopyInto

func (in *StackList) DeepCopyInto(out *StackList)

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

func (*StackList) DeepCopyObject

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

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

type StackServiceSpec

type StackServiceSpec struct {
	EmbeddedObjectMetaWithAnnotations `json:"metadata,omitempty"`

	// The list of ports that are exposed by this service.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	// +patchMergeKey=port
	// +patchStrategy=merge
	Ports []v1.ServicePort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"port"`
}

StackServiceSpec makes it possible to customize the service generated for a stack. +k8s:deepcopy-gen=true

func (*StackServiceSpec) DeepCopy

func (in *StackServiceSpec) DeepCopy() *StackServiceSpec

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

func (*StackServiceSpec) DeepCopyInto

func (in *StackServiceSpec) DeepCopyInto(out *StackServiceSpec)

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

type StackSet

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

	Spec StackSetSpec `json:"spec"`
	// +optional
	Status StackSetStatus `json:"status"`
}

StackSet describes an application resource. +k8s:deepcopy-gen=true +kubebuilder:resource:categories=all +kubebuilder:printcolumn:name="Stacks",type=integer,JSONPath=`.status.stacks`,description="Number of Stacks belonging to the StackSet" +kubebuilder:printcolumn:name="Ready",type=integer,JSONPath=`.status.readyStacks`,description="Number of Ready Stacks" +kubebuilder:printcolumn:name="Traffic",type=integer,JSONPath=`.status.stacksWithTraffic`,description="Number of Ready Stacks with traffic" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age of the stack" +kubebuilder:subresource:status

func (*StackSet) DeepCopy

func (in *StackSet) DeepCopy() *StackSet

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

func (*StackSet) DeepCopyInto

func (in *StackSet) DeepCopyInto(out *StackSet)

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

func (*StackSet) DeepCopyObject

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

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

type StackSetExternalIngressSpec added in v1.1.0

type StackSetExternalIngressSpec struct {
	BackendPort intstr.IntOrString `json:"backendPort"`
}

StackSetExternalIngressSpec defines the required service backendport for ingress managed outside of stackset.

type StackSetIngressSpec

type StackSetIngressSpec struct {
	EmbeddedObjectMetaWithAnnotations `json:"metadata,omitempty"`
	Hosts                             []string           `json:"hosts"`
	BackendPort                       intstr.IntOrString `json:"backendPort"`

	// +optional
	Path string `json:"path"`
}

StackSetIngressSpec is the ingress defintion of an StackSet. This includes ingress annotations and a list of hostnames. +k8s:deepcopy-gen=true

func (*StackSetIngressSpec) DeepCopy

func (in *StackSetIngressSpec) DeepCopy() *StackSetIngressSpec

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

func (*StackSetIngressSpec) DeepCopyInto

func (in *StackSetIngressSpec) DeepCopyInto(out *StackSetIngressSpec)

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

func (*StackSetIngressSpec) GetAnnotations added in v1.3.35

func (s *StackSetIngressSpec) GetAnnotations() map[string]string

func (*StackSetIngressSpec) GetHosts added in v1.3.35

func (s *StackSetIngressSpec) GetHosts() []string

type StackSetList

type StackSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []StackSet `json:"items"`
}

+kubebuilder:object:root=true StackSetList is a list of StackSets. +k8s:deepcopy-gen=true

func (*StackSetList) DeepCopy

func (in *StackSetList) DeepCopy() *StackSetList

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

func (*StackSetList) DeepCopyInto

func (in *StackSetList) DeepCopyInto(out *StackSetList)

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

func (*StackSetList) DeepCopyObject

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

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

type StackSetSpec

type StackSetSpec struct {
	// Ingress is the information we need to create ingress and
	// service. Ingress is optional, because other controller
	// might create ingress objects, but stackset owns the traffic
	// switch. In this case we would only have a Traffic, but no
	// ingress.
	// +optional
	Ingress *StackSetIngressSpec `json:"ingress,omitempty"`
	// ExternalIngress is used to specify the backend port to
	// generate the services for the stacks.
	// +optional
	ExternalIngress *StackSetExternalIngressSpec `json:"externalIngress,omitempty"`
	// RouteGroup is an alternative to ingress allowing more advanced
	// routing configuration while still maintaining the ability to switch
	// traffic to stacks. Use this if you need skipper filters or
	// predicates.
	// +optional
	RouteGroup *RouteGroupSpec `json:"routegroup,omitempty"`
	// StackLifecycle defines the cleanup rules for old stacks.
	StackLifecycle StackLifecycle `json:"stackLifecycle"`
	// StackTemplate container for resources to be created that
	// belong to one stack.
	StackTemplate StackTemplate `json:"stackTemplate"`
	// Traffic is the mapping from a stackset to stack with
	// weights. It defines the desired traffic. Clients that
	// orchestrate traffic switching should write this part.
	Traffic []*DesiredTraffic `json:"traffic,omitempty"`
}

StackSetSpec is the spec part of the StackSet. +k8s:deepcopy-gen=true

func (*StackSetSpec) DeepCopy

func (in *StackSetSpec) DeepCopy() *StackSetSpec

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

func (*StackSetSpec) DeepCopyInto

func (in *StackSetSpec) DeepCopyInto(out *StackSetSpec)

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

type StackSetStatus

type StackSetStatus struct {
	// Stacks is the number of stacks managed by the StackSet.
	// +optional
	Stacks int32 `json:"stacks"`
	// ReadyStacks is the number of stacks managed by the StackSet which
	// are considered ready. a Stack is considered ready if:
	// replicas == readyReplicas == updatedReplicas.
	// +optional
	ReadyStacks int32 `json:"readyStacks"`
	// StacksWithTraffic is the number of stacks managed by the StackSet
	// which are getting traffic.
	// +optional
	StacksWithTraffic int32 `json:"stacksWithTraffic"`
	// ObservedStackVersion is the version of Stack generated from the current StackSet definition.
	// TODO: add a more detailed comment
	// +optional
	ObservedStackVersion string `json:"observedStackVersion,omitempty"`
	// Traffic is the actual traffic setting on services for this stackset
	// +optional
	Traffic []*ActualTraffic `json:"traffic,omitempty"`
}

StackSetStatus is the status section of the StackSet resource. +k8s:deepcopy-gen=true

func (*StackSetStatus) DeepCopy

func (in *StackSetStatus) DeepCopy() *StackSetStatus

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

func (*StackSetStatus) DeepCopyInto

func (in *StackSetStatus) DeepCopyInto(out *StackSetStatus)

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

type StackSpec

type StackSpec struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas                *int32                   `json:"replicas,omitempty"`
	HorizontalPodAutoscaler *HorizontalPodAutoscaler `json:"horizontalPodAutoscaler,omitempty"`
	// Service can be used to configure a custom service, if not
	// set stackset-controller will generate a service based on
	// container port and ingress backendport.
	Service *StackServiceSpec `json:"service,omitempty"`
	// PodTemplate describes the pods that will be created.
	PodTemplate PodTemplateSpec `json:"podTemplate"`

	Autoscaler *Autoscaler `json:"autoscaler,omitempty"`

	// Settings for the per-stack ingresses (in case the StackSet has a configured ingress)
	IngressOverrides *StackIngressRouteGroupOverrides `json:"ingress,omitempty"`

	// Settings for the per-stack route groups (in case the StackSet has a configured RouteGroup)
	RouteGroupOverrides *StackIngressRouteGroupOverrides `json:"routegroup,omitempty"`

	// Strategy describe the rollout strategy for the underlying deployment
	Strategy *appsv1.DeploymentStrategy `json:"strategy,omitempty"`
}

StackSpec is the spec part of the Stack. +k8s:deepcopy-gen=true

func (*StackSpec) DeepCopy

func (in *StackSpec) DeepCopy() *StackSpec

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

func (*StackSpec) DeepCopyInto

func (in *StackSpec) DeepCopyInto(out *StackSpec)

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

type StackSpecTemplate

type StackSpecTemplate struct {
	StackSpec `json:",inline"`
	// +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
	Version string `json:"version"`
}

StackSpecTemplate is the spec part of the Stack. +k8s:deepcopy-gen=true

func (*StackSpecTemplate) DeepCopy

func (in *StackSpecTemplate) DeepCopy() *StackSpecTemplate

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

func (*StackSpecTemplate) DeepCopyInto

func (in *StackSpecTemplate) DeepCopyInto(out *StackSpecTemplate)

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

type StackStatus

type StackStatus struct {
	// ActualTrafficWeight is the actual amount of traffic currently
	// routed to the stack.
	// TODO: should we be using floats in the API?
	// +optional
	// +kubebuilder:validation:Format=float
	// +kubebuilder:validation:Type=number
	ActualTrafficWeight float64 `json:"actualTrafficWeight"`
	// DesiredTrafficWeight is desired amount of traffic to be routed to
	// the stack.
	// +optional
	// +kubebuilder:validation:Format=float
	// +kubebuilder:validation:Type=number
	DesiredTrafficWeight float64 `json:"desiredTrafficWeight"`
	// Replicas is the number of replicas in the Deployment managed by the
	// stack.
	// +optional
	Replicas int32 `json:"replicas"`
	// ReadyReplicas is the number of ready replicas in the Deployment
	// managed by the stack.
	// +optional
	ReadyReplicas int32 `json:"readyReplicas"`
	// UpdatedReplicas is the number of updated replicas in the Deployment
	// managed by the stack.
	// +optional
	UpdatedReplicas int32 `json:"updatedReplicas"`
	// DesiredReplicas is the number of desired replicas in the Deployment
	// +optional
	DesiredReplicas int32 `json:"desiredReplicas"`
	// Prescaling current prescaling information
	// +optional
	Prescaling PrescalingStatus `json:"prescalingStatus"`
	// NoTrafficSince is the timestamp defining the last time the stack was
	// observed getting traffic.
	NoTrafficSince *metav1.Time `json:"noTrafficSince,omitempty"`
	// LabelSelector is the label selector used to find all pods managed by
	// a stack.
	LabelSelector string `json:"labelSelector,omitempty"`
}

StackStatus is the status part of the Stack. +k8s:deepcopy-gen=true

func (*StackStatus) DeepCopy

func (in *StackStatus) DeepCopy() *StackStatus

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

func (*StackStatus) DeepCopyInto

func (in *StackStatus) DeepCopyInto(out *StackStatus)

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

type StackTemplate

type StackTemplate struct {
	EmbeddedObjectMetaWithAnnotations `json:"metadata,omitempty"`
	Spec                              StackSpecTemplate `json:"spec"`
}

StackTemplate defines the template used for the Stack created from a StackSet definition. +k8s:deepcopy-gen=true

func (*StackTemplate) DeepCopy

func (in *StackTemplate) DeepCopy() *StackTemplate

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

func (*StackTemplate) DeepCopyInto

func (in *StackTemplate) DeepCopyInto(out *StackTemplate)

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

type ZMONMetricAggregatorType added in v1.3.23

type ZMONMetricAggregatorType string

ZMONMetricAggregatorType is the type of aggregator used in a ZMON based metric. +kubebuilder:validation:Enum=avg;dev;count;first;last;max;min;sum;diff

const (
	AvgZMONMetricAggregator   ZMONMetricAggregatorType = "avg"
	DevZMONMetricAggregator   ZMONMetricAggregatorType = "dev"
	CountZMONMetricAggregator ZMONMetricAggregatorType = "count"
	FirstZMONMetricAggregator ZMONMetricAggregatorType = "first"
	LastZMONMetricAggregator  ZMONMetricAggregatorType = "last"
	MaxZMONMetricAggregator   ZMONMetricAggregatorType = "max"
	MinZMONMetricAggregator   ZMONMetricAggregatorType = "min"
	SumZMONMetricAggregator   ZMONMetricAggregatorType = "sum"
	DiffZMONMetricAggregator  ZMONMetricAggregatorType = "diff"
)

Jump to

Keyboard shortcuts

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