v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package v1alpha1 implements the v1alpha1 apiVersion of kwok's configuration

Index

Constants

View Source
const (
	KwokctlConfigurationKind = "KwokctlConfiguration"

	// ModeStableFeatureGateAndAPI is intended to reduce cluster configuration requirements
	// Disables all Alpha feature by default, as well as Beta feature that are not eventually GA
	ModeStableFeatureGateAndAPI = "StableFeatureGateAndAPI"
)
View Source
const (
	KwokConfigurationKind = "KwokConfiguration"
)
View Source
const (
	StageKind = "Stage"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{
		Group:   "kwok.x-k8s.io",
		Version: "v1alpha1",
	}
)

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 SetObjectDefaults_KwokConfiguration

func SetObjectDefaults_KwokConfiguration(in *KwokConfiguration)

func SetObjectDefaults_KwokctlConfiguration

func SetObjectDefaults_KwokctlConfiguration(in *KwokctlConfiguration)

func SetObjectDefaults_Stage

func SetObjectDefaults_Stage(in *Stage)

Types

type Component

type Component struct {
	// Name of the component specified as a DNS_LABEL.
	// Each component must have a unique name (DNS_LABEL).
	// Cannot be updated.
	Name string `json:"name,omitempty"`

	// Links is a set of links for the component.
	// +optional
	Links []string `json:"links,omitempty"`

	// Binary is the binary of the component.
	// +optional
	Binary string `json:"binary,omitempty"`

	// Image is the image of the component.
	// +optional
	Image string `json:"image,omitempty"`

	// Command is Entrypoint array. Not executed within a shell. Only works with Image.
	// +optional
	Command []string `json:"command,omitempty"`

	// Args is Arguments to the entrypoint.
	// +optional
	Args []string `json:"args,omitempty"`

	// WorkDir is component's working directory.
	// +optional
	WorkDir string `json:"workDir,omitempty"`

	// Ports is list of ports to expose from the component.
	// +optional
	Ports []Port `json:"ports,omitempty"`

	// Envs is list of environment variables to set in the component.
	// +optional
	Envs []Env `json:"envs,omitempty"`

	// Volumes is a list of named volumes that can be mounted by containers belonging to the component.
	// +optional
	Volumes []Volume `json:"volumes,omitempty"`

	// Version is the version of the component.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

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

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

type Env

type Env struct {
	// Name of the environment variable.
	Name string `json:"name"`

	// Value is using the previously defined environment variables in the component.
	// +optional
	// +default=""
	Value string `json:"value,omitempty"`
}

Env represents an environment variable present in a Container.

func (*Env) DeepCopy

func (in *Env) DeepCopy() *Env

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

func (*Env) DeepCopyInto

func (in *Env) DeepCopyInto(out *Env)

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

type ExpressionFromSource

type ExpressionFromSource struct {
	// ExpressionFrom is the expression used to get the value.
	ExpressionFrom string `json:"expressionFrom,omitempty"`
}

ExpressionFromSource represents a source for the value of a from.

func (*ExpressionFromSource) DeepCopy

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

func (*ExpressionFromSource) DeepCopyInto

func (in *ExpressionFromSource) DeepCopyInto(out *ExpressionFromSource)

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

type FinalizerItem

type FinalizerItem struct {
	Value string `json:"value,omitempty"`
}

FinalizerItem describes the one of the finalizers.

func (*FinalizerItem) DeepCopy

func (in *FinalizerItem) DeepCopy() *FinalizerItem

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

func (*FinalizerItem) DeepCopyInto

func (in *FinalizerItem) DeepCopyInto(out *FinalizerItem)

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

type KwokConfiguration

type KwokConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Options holds information about the default value.
	Options KwokConfigurationOptions `json:"options,omitempty"`
}

KwokConfiguration provides configuration for the Kwok.

func (*KwokConfiguration) DeepCopy

func (in *KwokConfiguration) DeepCopy() *KwokConfiguration

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

func (*KwokConfiguration) DeepCopyInto

func (in *KwokConfiguration) DeepCopyInto(out *KwokConfiguration)

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

func (*KwokConfiguration) DeepCopyObject

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

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

type KwokConfigurationOptions

type KwokConfigurationOptions struct {
	// The default IP assigned to the Pod on maintained Nodes.
	// is the default value for flag --cidr
	// +default="10.0.0.1/24"
	CIDR string `json:"cidr,omitempty"`

	// The ip of all nodes maintained by the Kwok
	// is the default value for flag --node-ip
	NodeIP string `json:"nodeIP,omitempty"`

	// The name of all nodes maintained by the Kwok
	// is the default value for flag --node-name
	NodeName string `json:"nodeName,omitempty"`

	// The port of all nodes maintained by the Kwok
	// is the default value for flag --node-port
	NodePort int `json:"nodePort,omitempty"`

	// TLSCertFile is the file containing x509 Certificate for HTTPS.
	// If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file
	// is the default value for flag --tls-cert-file
	TLSCertFile string `json:"tlsCertFile,omitempty"`

	// TLSPrivateKeyFile is the ile containing x509 private key matching --tls-cert-file.
	// is the default value for flag --tls-private-key-file
	TLSPrivateKeyFile string `json:"tlsPrivateKeyFile,omitempty"`

	// Default option to manage (i.e., maintain heartbeat/liveness of) all Nodes or not.
	// is the default value for flag --manage-all-nodes
	// +default=false
	ManageAllNodes *bool `json:"manageAllNodes,omitempty"`

	// Default annotations specified on Nodes to demand manage.
	// Note: when `all-node-manage` is specified as true, this is a no-op.
	// is the default value for flag --manage-nodes-with-annotation-selector
	ManageNodesWithAnnotationSelector string `json:"manageNodesWithAnnotationSelector,omitempty"`

	// Default labels specified on Nodes to demand manage.
	// Note: when `all-node-manage` is specified as true, this is a no-op.
	// is the default value for flag --manage-nodes-with-label-selector
	ManageNodesWithLabelSelector string `json:"manageNodesWithLabelSelector,omitempty"`

	// If a Node/Pod is on a managed Node and has this annotation status will not be modified
	// is the default value for flag --disregard-status-with-annotation-selector
	DisregardStatusWithAnnotationSelector string `json:"disregardStatusWithAnnotationSelector,omitempty"`

	// If a Node/Pod is on a managed Node and has this label status will not be modified
	// is the default value for flag --disregard-status-with-label-selector
	DisregardStatusWithLabelSelector string `json:"disregardStatusWithLabelSelector,omitempty"`

	// ServerAddress is server address of the Kwok.
	// is the default value for flag --server-address
	ServerAddress string `json:"serverAddress,omitempty"`

	// Experimental support for getting pod ip from CNI, for CNI-related components, Only works with Linux.
	// is the default value for flag --experimental-enable-cni
	// +default=false
	EnableCNI *bool `json:"experimentalEnableCNI,omitempty"`

	// enableDebuggingHandlers enables server endpoints for log collection
	// and local running of containers and commands
	// +default=true
	EnableDebuggingHandlers *bool `json:"enableDebuggingHandlers,omitempty"`

	// enableContentionProfiling enables lock contention profiling, if enableDebuggingHandlers is true.
	// +default=false
	EnableContentionProfiling *bool `json:"enableContentionProfiling,omitempty"`

	// EnableProfiling enables /debug/pprof handler, if enableDebuggingHandlers is true.
	// +default=true
	EnableProfilingHandler *bool `json:"enableProfilingHandler,omitempty"`
}

func (*KwokConfigurationOptions) DeepCopy

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

func (*KwokConfigurationOptions) DeepCopyInto

func (in *KwokConfigurationOptions) DeepCopyInto(out *KwokConfigurationOptions)

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

type KwokctlConfiguration

type KwokctlConfiguration struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Options holds information about the default value.
	Options KwokctlConfigurationOptions `json:"options,omitempty"`
	// Components holds information about the components.
	Components []Component `json:"components,omitempty"`
}

KwokctlConfiguration provides configuration for the Kwokctl.

func (*KwokctlConfiguration) DeepCopy

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

func (*KwokctlConfiguration) DeepCopyInto

func (in *KwokctlConfiguration) DeepCopyInto(out *KwokctlConfiguration)

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

func (*KwokctlConfiguration) DeepCopyObject

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

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

type KwokctlConfigurationOptions

type KwokctlConfigurationOptions struct {
	// KubeApiserverPort is the port to expose apiserver.
	// is the default value for flag --kube-apiserver-port and env KWOK_KUBE_APISERVER_PORT
	KubeApiserverPort uint32 `json:"kubeApiserverPort,omitempty"`

	// Runtime is the runtime to use.
	// is the default value for flag --runtime and env KWOK_RUNTIME
	// +default="docker"
	Runtime string `json:"runtime,omitempty"`

	// PrometheusPort is the port to expose Prometheus metrics.
	// is the default value for flag --prometheus-port and env KWOK_PROMETHEUS_PORT
	PrometheusPort uint32 `json:"prometheusPort,omitempty"`

	// KwokVersion is the version of Kwok to use.
	// is the default value for env KWOK_VERSION
	KwokVersion string `json:"kwokVersion,omitempty"`

	// KubeVersion is the version of Kubernetes to use.
	// is the default value for env KWOK_KUBE_VERSION
	KubeVersion string `json:"kubeVersion,omitempty"`

	// EtcdVersion is the version of Etcd to use.
	// is the default value for env KWOK_ETCD_VERSION
	EtcdVersion string `json:"etcdVersion,omitempty"`

	// PrometheusVersion is the version of Prometheus to use.
	// is the default value for env KWOK_PROMETHEUS_VERSION
	PrometheusVersion string `json:"prometheusVersion,omitempty"`

	// DockerComposeVersion is the version of docker-compose to use.
	// is the default value for env KWOK_DOCKER_COMPOSE_VERSION
	DockerComposeVersion string `json:"dockerComposeVersion,omitempty"`

	// KindVersion is the version of kind to use.
	// is the default value for env KWOK_KIND_VERSION
	KindVersion string `json:"kindVersion,omitempty"`

	// SecurePort is the apiserver port on which to serve HTTPS with authentication and authorization.
	// is the default value for flag --secure-port and env KWOK_SECURE_PORT
	// +default=false
	SecurePort *bool `json:"securePort,omitempty"`

	// QuietPull is the flag to quiet the pull.
	// is the default value for flag --quiet-pull and env KWOK_QUIET_PULL
	// +default=false
	QuietPull *bool `json:"quietPull,omitempty"`

	// KubeSchedulerConfig is the configuration path for kube-scheduler.
	// is the default value for flag --kube-scheduler-config and env KWOK_KUBE_SCHEDULER_CONFIG
	KubeSchedulerConfig string `json:"kubeSchedulerConfig,omitempty"`

	// DisableKubeScheduler is the flag to disable kube-scheduler.
	// is the default value for flag --disable-kube-scheduler and env KWOK_DISABLE_KUBE_SCHEDULER
	// +default=false
	DisableKubeScheduler *bool `json:"disableKubeScheduler,omitempty"`

	// DisableKubeControllerManager is the flag to disable kube-controller-manager.
	// is the default value for flag --disable-kube-controller-manager and env KWOK_DISABLE_KUBE_CONTROLLER_MANAGER
	// +default=false
	DisableKubeControllerManager *bool `json:"disableKubeControllerManager,omitempty"`

	// KubeImagePrefix is the prefix of the kubernetes image.
	// is the default value for env KWOK_KUBE_IMAGE_PREFIX
	KubeImagePrefix string `json:"kubeImagePrefix,omitempty"`

	// EtcdImagePrefix is the prefix of the etcd image.
	// is the default value for env KWOK_ETCD_IMAGE_PREFIX
	EtcdImagePrefix string `json:"etcdImagePrefix,omitempty"`

	// KwokImagePrefix is the prefix of the kwok image.
	// is the default value for env KWOK_IMAGE_PREFIX
	KwokImagePrefix string `json:"kwokImagePrefix,omitempty"`

	// PrometheusImagePrefix is the prefix of the Prometheus image.
	// is the default value for env KWOK_PROMETHEUS_IMAGE_PREFIX
	PrometheusImagePrefix string `json:"prometheusImagePrefix,omitempty"`

	// EtcdImage is the image of etcd.
	// is the default value for flag --etcd-image and env KWOK_ETCD_IMAGE
	EtcdImage string `json:"etcdImage,omitempty"`

	// KubeApiserverImage is the image of kube-apiserver.
	// is the default value for flag --kube-apiserver-image and env KWOK_KUBE_APISERVER_IMAGE
	KubeApiserverImage string `json:"kubeApiserverImage,omitempty"`

	// KubeControllerManagerImage is the image of kube-controller-manager.
	// is the default value for flag --kube-controller-manager-image and env KWOK_KUBE_CONTROLLER_MANAGER_IMAGE
	KubeControllerManagerImage string `json:"kubeControllerManagerImage,omitempty"`

	// KubeSchedulerImage is the image of kube-scheduler.
	// is the default value for flag --kube-scheduler-image and env KWOK_KUBE_SCHEDULER_IMAGE
	KubeSchedulerImage string `json:"kubeSchedulerImage,omitempty"`

	// KwokControllerImage is the image of Kwok.
	// is the default value for flag --contoller-image and env KWOK_CONTROLLER_IMAGE
	KwokControllerImage string `json:"kwokControllerImage,omitempty"`

	// PrometheusImage is the image of Prometheus.
	// is the default value for flag --prometheus-image and env KWOK_PROMETHEUS_IMAGE
	PrometheusImage string `json:"prometheusImage,omitempty"`

	// KindNodeImagePrefix is the prefix of the kind node image.
	// is the default value for env KWOK_KIND_NODE_IMAGE_PREFIX
	KindNodeImagePrefix string `json:"kindNodeImagePrefix,omitempty"`

	// KindNodeImage is the image of kind node.
	// is the default value for flag --kind-node-image and env KWOK_KIND_NODE_IMAGE
	KindNodeImage string `json:"kindNodeImage,omitempty"`

	// BinSuffix is the suffix of the all binary.
	// On Windows is .exe
	BinSuffix string `json:"binSuffix,omitempty"`

	// KubeBinaryPrefix is the prefix of the kubernetes binary.
	// is the default value for env KWOK_KUBE_BINARY_PREFIX
	KubeBinaryPrefix string `json:"kubeBinaryPrefix,omitempty"`

	// KubeApiserverBinary is the binary of kube-apiserver.
	// is the default value for flag --apiserver-binary and env KWOK_KUBE_APISERVER_BINARY
	KubeApiserverBinary string `json:"kubeApiserverBinary,omitempty"`

	// KubeControllerManagerBinary is the binary of kube-controller-manager.
	// is the default value for flag --controller-manager-binary and env KWOK_KUBE_CONTROLLER_MANAGER_BINARY
	KubeControllerManagerBinary string `json:"kubeControllerManagerBinary,omitempty"`

	// KubeSchedulerBinary is the binary of kube-scheduler.
	// is the default value for flag --scheduler-binary and env KWOK_KUBE_SCHEDULER_BINARY
	KubeSchedulerBinary string `json:"kubeSchedulerBinary,omitempty"`

	// KubectlBinary is the binary of kubectl.
	// is the default value for env KWOK_KUBECTL_BINARY
	KubectlBinary string `json:"kubectlBinary,omitempty"`

	// EtcdBinaryPrefix is the prefix of the etcd binary.
	// is the default value for env KWOK_ETCD_BINARY_PREFIX
	EtcdBinaryPrefix string `json:"etcdBinaryPrefix,omitempty"`

	// EtcdBinary is the binary of etcd.
	// is the default value for flag --etcd-binary and env KWOK_ETCD_BINARY
	EtcdBinary string `json:"etcdBinary,omitempty"`

	// EtcdBinaryTar is the tar of the binary of etcd.
	// is the default value for env KWOK_ETCD_BINARY_TAR
	EtcdBinaryTar string `json:"etcdBinaryTar,omitempty"`

	// KwokBinaryPrefix is the prefix of the kwok binary.
	// is the default value for env KWOK_BINARY_PREFIX
	KwokBinaryPrefix string `json:"kwokBinaryPrefix,omitempty"`

	// KwokControllerBinary is the binary of kwok.
	// is the default value for flag --controller-binary and env KWOK_CONTROLLER_BINARY
	KwokControllerBinary string `json:"kwokControllerBinary,omitempty"`

	// PrometheusBinaryPrefix is the prefix of the Prometheus binary.
	// is the default value for env KWOK_PROMETHEUS_PREFIX
	PrometheusBinaryPrefix string `json:"prometheusBinaryPrefix,omitempty"`

	// PrometheusBinary  is the binary of Prometheus.
	// is the default value for flag --prometheus-binary and env KWOK_PROMETHEUS_BINARY
	PrometheusBinary string `json:"prometheusBinary,omitempty"`

	// PrometheusBinaryTar is the tar of binary of Prometheus.
	// is the default value for env KWOK_PROMETHEUS_BINARY_TAR
	PrometheusBinaryTar string `json:"prometheusBinaryTar,omitempty"`

	// DockerComposeBinaryPrefix is the binary of docker-compose.
	// is the default value for env KWOK_DOCKER_COMPOSE_BINARY_PREFIX
	DockerComposeBinaryPrefix string `json:"dockerComposeBinaryPrefix,omitempty"`

	// DockerComposeBinary is the binary of Docker compose.
	// is the default value for flag --docker-compose-binary and env KWOK_DOCKER_COMPOSE_BINARY
	DockerComposeBinary string `json:"dockerComposeBinary,omitempty"`

	// KindBinaryPrefix is the binary prefix of kind.
	// is the default value for env KWOK_KIND_BINARY_PREFIX
	KindBinaryPrefix string `json:"kindBinaryPrefix,omitempty"`

	// KindBinary is the binary of kind.
	// is the default value for flag --kind-binary and env KWOK_KIND_BINARY
	KindBinary string `json:"kindBinary,omitempty"`

	// Mode is several default parameter templates for clusters
	// is the default value for env KWOK_MODE
	Mode string `json:"mode,omitempty"`

	// KubeFeatureGates is a set of key=value pairs that describe feature gates for alpha/experimental features of Kubernetes.
	// is the default value for flag --kube-feature-gates and env KWOK_KUBE_FEATURE_DATES
	KubeFeatureGates string `json:"kubeFeatureGates,omitempty"`

	// KubeRuntimeConfig is a set of key=value pairs that enable or disable built-in APIs.
	// is the default value for flag --kube-runtime-config and env KWOK_KUBE_RUNTIME_CONFIG
	KubeRuntimeConfig string `json:"kubeRuntimeConfig,omitempty"`

	// KubeAuditPolicy is path to the file that defines the audit policy configuration
	// is the default value for flag --kube-audit-policy and env KWOK_KUBE_AUDIT_POLICY
	KubeAuditPolicy string `json:"kubeAuditPolicy,omitempty"`

	// KubeAuthorization is the flag to enable authorization on secure port.
	// is the default value for flag --kube-authorization and env KWOK_KUBE_AUTHORIZATION
	// +default=false
	KubeAuthorization *bool `json:"kubeAuthorization,omitempty"`

	// EtcdPeerPort is etcd peer port in the binary runtime
	EtcdPeerPort uint32 `json:"etcdPeerPort,omitempty"`

	// EtcdPort is etcd port in the binary runtime
	EtcdPort uint32 `json:"etcdPort,omitempty"`

	// KubeControllerManagerPort is kube-controller-manager port in the binary runtime
	KubeControllerManagerPort uint32 `json:"kubeControllerManagerPort,omitempty"`

	// KubeSchedulerPort is kube-scheduler port in the binary runtime
	KubeSchedulerPort uint32 `json:"kubeSchedulerPort,omitempty"`

	// KwokControllerPort is kube-controller port in the binary runtime
	KwokControllerPort uint32 `json:"kwokControllerPort,omitempty"`

	// CacheDir is the directory of the cache.
	CacheDir string `json:"cacheDir,omitempty"`
}

func (*KwokctlConfigurationOptions) DeepCopy

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

func (*KwokctlConfigurationOptions) DeepCopyInto

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

type Port

type Port struct {
	// Name for the port that can be referred to by components.
	// +optional
	Name string `json:"name,omitempty"`
	// Port is number of port to expose on the component's IP address.
	// This must be a valid port number, 0 < x < 65536.
	Port uint32 `json:"port"`
	// HostPort is number of port to expose on the host.
	// If specified, this must be a valid port number, 0 < x < 65536.
	// +optional
	HostPort uint32 `json:"hostPort,omitempty"`
	// Protocol for port. Must be UDP, TCP, or SCTP.
	// +optional
	// +default="TCP"
	Protocol Protocol `json:"protocol,omitempty"`
}

Port represents a network port in a single component.

func (*Port) DeepCopy

func (in *Port) DeepCopy() *Port

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

func (*Port) DeepCopyInto

func (in *Port) DeepCopyInto(out *Port)

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

type Protocol

type Protocol string

Protocol defines network protocols supported for things like component ports. +enum

const (
	// ProtocolTCP is the TCP protocol.
	ProtocolTCP Protocol = "TCP"
	// ProtocolUDP is the UDP protocol.
	ProtocolUDP Protocol = "UDP"
	// ProtocolSCTP is the SCTP protocol.
	ProtocolSCTP Protocol = "SCTP"
)

type SelectorOperator

type SelectorOperator string

SelectorOperator is a label selector operator is the set of operators that can be used in a selector requirement.

var (
	SelectorOpIn           SelectorOperator = "In"
	SelectorOpNotIn        SelectorOperator = "NotIn"
	SelectorOpExists       SelectorOperator = "Exists"
	SelectorOpDoesNotExist SelectorOperator = "DoesNotExist"
)

type SelectorRequirement

type SelectorRequirement struct {
	// The name of the scope that the selector applies to.
	Key string `json:"key"`
	// Represents a scope's relationship to a set of values.
	Operator SelectorOperator `json:"operator"`
	// An array of string values.
	// If the operator is In, NotIn, Intersection or NotIntersection, the values array must be non-empty.
	// If the operator is Exists or DoesNotExist, the values array must be empty.
	Values []string `json:"values,omitempty"`
}

SelectorRequirement is a resource selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

func (*SelectorRequirement) DeepCopy

func (in *SelectorRequirement) DeepCopy() *SelectorRequirement

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

func (*SelectorRequirement) DeepCopyInto

func (in *SelectorRequirement) DeepCopyInto(out *SelectorRequirement)

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

type Stage

type Stage struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec holds information about the request being evaluated.
	Spec StageSpec `json:"spec,omitempty"`
}

Stage is an API that describes the staged change of a resource

func (*Stage) DeepCopy

func (in *Stage) DeepCopy() *Stage

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

func (*Stage) DeepCopyInto

func (in *Stage) DeepCopyInto(out *Stage)

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

func (*Stage) DeepCopyObject

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

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

type StageDelay

type StageDelay struct {
	// DurationMilliseconds indicates the stage delay time.
	// If JitterDurationMilliseconds is less than DurationMilliseconds, then JitterDurationMilliseconds is used.
	DurationMilliseconds *int64 `json:"durationMilliseconds,omitempty"`
	// DurationFrom is the expression used to get the value.
	// If it is a time.Time type, getting the value will be minus time.Now() to get DurationMilliseconds
	// If it is a string type, the value get will be parsed by time.ParseDuration.
	DurationFrom *ExpressionFromSource `json:"durationFrom,omitempty"`

	// JitterDurationMilliseconds is the duration plus an additional amount chosen uniformly
	// at random from the interval between DurationMilliseconds and JitterDurationMilliseconds.
	JitterDurationMilliseconds *int64 `json:"jitterDurationMilliseconds,omitempty"`
	// JitterDurationFrom is the expression used to get the value.
	// If it is a time.Time type, getting the value will be minus time.Now() to get JitterDurationMilliseconds
	// If it is a string type, the value get will be parsed by time.ParseDuration.
	JitterDurationFrom *ExpressionFromSource `json:"jitterDurationFrom,omitempty"`
}

StageDelay describes the delay time before going to next.

func (*StageDelay) DeepCopy

func (in *StageDelay) DeepCopy() *StageDelay

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

func (*StageDelay) DeepCopyInto

func (in *StageDelay) DeepCopyInto(out *StageDelay)

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

type StageEvent

type StageEvent struct {
	// Type is the type of this event (Normal, Warning), It is machine-readable.
	Type string `json:"type,omitempty"`
	// Reason is why the action was taken. It is human-readable.
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable description of the status of this operation.
	Message string `json:"message,omitempty"`
}

StageEvent describes one event in the Kubernetes.

func (*StageEvent) DeepCopy

func (in *StageEvent) DeepCopy() *StageEvent

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

func (*StageEvent) DeepCopyInto

func (in *StageEvent) DeepCopyInto(out *StageEvent)

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

type StageFinalizers

type StageFinalizers struct {
	// Add means that the Finalizers will be added to the resource.
	Add []FinalizerItem `json:"add,omitempty"`
	// Remove means that the Finalizers will be removed from the resource.
	Remove []FinalizerItem `json:"remove,omitempty"`
	// Empty means that the Finalizers for that resource will be emptied.
	Empty bool `json:"empty,omitempty"`
}

StageFinalizers describes the modifications in the finalizers of a resource.

func (*StageFinalizers) DeepCopy

func (in *StageFinalizers) DeepCopy() *StageFinalizers

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

func (*StageFinalizers) DeepCopyInto

func (in *StageFinalizers) DeepCopyInto(out *StageFinalizers)

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

type StageNext

type StageNext struct {
	// Event means that an event will be sent.
	Event *StageEvent `json:"event,omitempty"`
	// Finalizers means that finalizers will be modified.
	Finalizers *StageFinalizers `json:"finalizers,omitempty"`
	// Delete means that the resource will be deleted if true.
	Delete bool `json:"delete,omitempty"`
	// StatusTemplate indicates the template for modifying the status of the resource in the next.
	StatusTemplate string `json:"statusTemplate,omitempty"`
}

StageNext describes a stage will be moved to.

func (*StageNext) DeepCopy

func (in *StageNext) DeepCopy() *StageNext

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

func (*StageNext) DeepCopyInto

func (in *StageNext) DeepCopyInto(out *StageNext)

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

type StageResourceRef

type StageResourceRef struct {
	// APIGroup of the referent.
	// +default="v1"
	APIGroup string `json:"apiGroup,omitempty"`
	// Kind of the referent.
	Kind string `json:"kind"`
}

StageResourceRef specifies the kind and version of the resource.

func (*StageResourceRef) DeepCopy

func (in *StageResourceRef) DeepCopy() *StageResourceRef

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

func (*StageResourceRef) DeepCopyInto

func (in *StageResourceRef) DeepCopyInto(out *StageResourceRef)

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

type StageSelector

type StageSelector struct {
	// MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
	// map is equivalent to an element of matchExpressions, whose key field is ".metadata.labels[key]", the
	// operator is "In", and the values array contains only "value". The requirements are ANDed.
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
	// MatchAnnotations is a map of {key,value} pairs. A single {key,value} in the matchAnnotations
	// map is equivalent to an element of matchExpressions, whose key field is ".metadata.annotations[key]", the
	// operator is "In", and the values array contains only "value". The requirements are ANDed.
	MatchAnnotations map[string]string `json:"matchAnnotations,omitempty"`
	// MatchExpressions is a list of label selector requirements. The requirements are ANDed.
	MatchExpressions []SelectorRequirement `json:"matchExpressions,omitempty"`
}

StageSelector is a resource selector. the result of matchLabels and matchAnnotations and matchExpressions are ANDed. An empty resource selector matches all objects. A null resource selector matches no objects.

func (*StageSelector) DeepCopy

func (in *StageSelector) DeepCopy() *StageSelector

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

func (*StageSelector) DeepCopyInto

func (in *StageSelector) DeepCopyInto(out *StageSelector)

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

type StageSpec

type StageSpec struct {
	// ResourceRef specifies the Kind and version of the resource.
	ResourceRef StageResourceRef `json:"resourceRef"`
	// Selector specifies the stags will be applied to the selected resource.
	Selector *StageSelector `json:"selector,omitempty"`
	// Weight means the current stage, in case of multiple stages,
	// a random stage will be matched as the next stage based on the weight.
	// +default=0
	Weight int `json:"weight,omitempty"`
	// Delay means there is a delay in this stage.
	Delay *StageDelay `json:"delay,omitempty"`
	// Next indicates that this stage will be moved to.
	Next StageNext `json:"next"`
}

StageSpec defines the specification for Stage.

func (*StageSpec) DeepCopy

func (in *StageSpec) DeepCopy() *StageSpec

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

func (*StageSpec) DeepCopyInto

func (in *StageSpec) DeepCopyInto(out *StageSpec)

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

type Volume

type Volume struct {
	// Name of the volume specified.
	// +optional
	Name string `json:"name,omitempty"`
	// Mounted read-only if true, read-write otherwise.
	// +optional
	ReadOnly *bool `json:"readOnly,omitempty"`
	// HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container.
	HostPath string `json:"hostPath,omitempty"`
	// MountPath within the container at which the volume should be mounted.
	MountPath string `json:"mountPath,omitempty"`
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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