v1

package
v0.0.0-...-e1deb89 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 6 Imported by: 677

Documentation

Overview

+kubebuilder:validation:Optional +groupName=operator.openshift.io

Index

Constants

View Source
const (
	// Available indicates the DNS controller daemonset is available.
	DNSAvailable = "Available"
)

Variables

View Source
var (
	GroupName    = "operator.openshift.io"
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}

	// Install is a function which adds this version to a scheme
	Install = schemeBuilder.AddToScheme

	// SchemeGroupVersion generated code relies on this name
	// Deprecated
	SchemeGroupVersion = GroupVersion
	// AddToScheme exists solely to keep the old generators creating valid code
	// DEPRECATED
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var (
	// Available indicates that the operand is present and accessible in the cluster
	OperatorStatusTypeAvailable = "Available"
	// Progressing indicates that the operator is trying to transition the operand to a different state
	OperatorStatusTypeProgressing = "Progressing"
	// Degraded indicates that the operator (not the operand) is unable to fulfill the user intent
	OperatorStatusTypeDegraded = "Degraded"
	// PrereqsSatisfied indicates that the things this operator depends on are present and at levels compatible with the
	// current and desired states.
	OperatorStatusTypePrereqsSatisfied = "PrereqsSatisfied"
	// Upgradeable indicates that the operator configuration itself (not prereqs) can be auto-upgraded by the CVO
	OperatorStatusTypeUpgradeable = "Upgradeable"
)
View Source
var (
	// Available indicates the ingress controller deployment is available.
	IngressControllerAvailableConditionType = "Available"
	// LoadBalancerManaged indicates the management status of any load balancer
	// service associated with an ingress controller.
	LoadBalancerManagedIngressConditionType = "LoadBalancerManaged"
	// LoadBalancerReady indicates the ready state of any load balancer service
	// associated with an ingress controller.
	LoadBalancerReadyIngressConditionType = "LoadBalancerReady"
	// DNSManaged indicates the management status of any DNS records for the
	// ingress controller.
	DNSManagedIngressConditionType = "DNSManaged"
	// DNSReady indicates the ready state of any DNS records for the ingress
	// controller.
	DNSReadyIngressConditionType = "DNSReady"
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED

Types

type AWSCSIDriverConfigSpec

type AWSCSIDriverConfigSpec struct {
	// kmsKeyARN sets the cluster default storage class to encrypt volumes with a user-defined KMS key,
	// rather than the default KMS key used by AWS.
	// The value may be either the ARN or Alias ARN of a KMS key.
	// +kubebuilder:validation:Pattern:=`^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b|aws-iso-e|aws-iso-f):kms:[a-z0-9-]+:[0-9]{12}:(key|alias)\/.*$`
	// +optional
	KMSKeyARN string `json:"kmsKeyARN,omitempty"`
}

AWSCSIDriverConfigSpec defines properties that can be configured for the AWS CSI driver.

func (*AWSCSIDriverConfigSpec) DeepCopy

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

func (*AWSCSIDriverConfigSpec) DeepCopyInto

func (in *AWSCSIDriverConfigSpec) DeepCopyInto(out *AWSCSIDriverConfigSpec)

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

func (AWSCSIDriverConfigSpec) SwaggerDoc

func (AWSCSIDriverConfigSpec) SwaggerDoc() map[string]string

type AWSClassicLoadBalancerParameters

type AWSClassicLoadBalancerParameters struct {
	// connectionIdleTimeout specifies the maximum time period that a
	// connection may be idle before the load balancer closes the
	// connection.  The value must be parseable as a time duration value;
	// see <https://pkg.go.dev/time#ParseDuration>.  A nil or zero value
	// means no opinion, in which case a default value is used.  The default
	// value for this field is 60s.  This default is subject to change.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	ConnectionIdleTimeout metav1.Duration `json:"connectionIdleTimeout,omitempty"`
}

AWSClassicLoadBalancerParameters holds configuration parameters for an AWS Classic load balancer.

func (*AWSClassicLoadBalancerParameters) DeepCopy

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

func (*AWSClassicLoadBalancerParameters) DeepCopyInto

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

func (AWSClassicLoadBalancerParameters) SwaggerDoc

type AWSLoadBalancerParameters

type AWSLoadBalancerParameters struct {
	// type is the type of AWS load balancer to instantiate for an ingresscontroller.
	//
	// Valid values are:
	//
	// * "Classic": A Classic Load Balancer that makes routing decisions at either
	//   the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS). See
	//   the following for additional details:
	//
	//     https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#clb
	//
	// * "NLB": A Network Load Balancer that makes routing decisions at the
	//   transport layer (TCP/SSL). See the following for additional details:
	//
	//     https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	// +required
	Type AWSLoadBalancerType `json:"type"`

	// classicLoadBalancerParameters holds configuration parameters for an AWS
	// classic load balancer. Present only if type is Classic.
	//
	// +optional
	ClassicLoadBalancerParameters *AWSClassicLoadBalancerParameters `json:"classicLoadBalancer,omitempty"`

	// networkLoadBalancerParameters holds configuration parameters for an AWS
	// network load balancer. Present only if type is NLB.
	//
	// +optional
	NetworkLoadBalancerParameters *AWSNetworkLoadBalancerParameters `json:"networkLoadBalancer,omitempty"`
}

AWSLoadBalancerParameters provides configuration settings that are specific to AWS load balancers. +union

func (*AWSLoadBalancerParameters) DeepCopy

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

func (*AWSLoadBalancerParameters) DeepCopyInto

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

func (AWSLoadBalancerParameters) SwaggerDoc

func (AWSLoadBalancerParameters) SwaggerDoc() map[string]string

type AWSLoadBalancerType

type AWSLoadBalancerType string

AWSLoadBalancerType is the type of AWS load balancer to instantiate. +kubebuilder:validation:Enum=Classic;NLB

const (
	AWSClassicLoadBalancer AWSLoadBalancerType = "Classic"
	AWSNetworkLoadBalancer AWSLoadBalancerType = "NLB"
)

type AWSNetworkLoadBalancerParameters

type AWSNetworkLoadBalancerParameters struct {
}

AWSNetworkLoadBalancerParameters holds configuration parameters for an AWS Network load balancer.

func (*AWSNetworkLoadBalancerParameters) DeepCopy

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

func (*AWSNetworkLoadBalancerParameters) DeepCopyInto

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

func (AWSNetworkLoadBalancerParameters) SwaggerDoc

type AccessLogging

type AccessLogging struct {
	// destination is where access logs go.
	//
	// +kubebuilder:validation:Required
	// +required
	Destination LoggingDestination `json:"destination"`

	// httpLogFormat specifies the format of the log message for an HTTP
	// request.
	//
	// If this field is empty, log messages use the implementation's default
	// HTTP log format.  For HAProxy's default HTTP log format, see the
	// HAProxy documentation:
	// http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3
	//
	// Note that this format only applies to cleartext HTTP connections
	// and to secure HTTP connections for which the ingress controller
	// terminates encryption (that is, edge-terminated or reencrypt
	// connections).  It does not affect the log format for TLS passthrough
	// connections.
	//
	// +optional
	HttpLogFormat string `json:"httpLogFormat,omitempty"`

	// httpCaptureHeaders defines HTTP headers that should be captured in
	// access logs.  If this field is empty, no headers are captured.
	//
	// Note that this option only applies to cleartext HTTP connections
	// and to secure HTTP connections for which the ingress controller
	// terminates encryption (that is, edge-terminated or reencrypt
	// connections).  Headers cannot be captured for TLS passthrough
	// connections.
	//
	// +optional
	HTTPCaptureHeaders IngressControllerCaptureHTTPHeaders `json:"httpCaptureHeaders,omitempty"`

	// httpCaptureCookies specifies HTTP cookies that should be captured in
	// access logs.  If this field is empty, no cookies are captured.
	//
	// +nullable
	// +optional
	// +kubebuilder:validation:MaxItems=1
	HTTPCaptureCookies []IngressControllerCaptureHTTPCookie `json:"httpCaptureCookies,omitempty"`

	// logEmptyRequests specifies how connections on which no request is
	// received should be logged.  Typically, these empty requests come from
	// load balancers' health probes or Web browsers' speculative
	// connections ("preconnect"), in which case logging these requests may
	// be undesirable.  However, these requests may also be caused by
	// network errors, in which case logging empty requests may be useful
	// for diagnosing the errors.  In addition, these requests may be caused
	// by port scans, in which case logging empty requests may aid in
	// detecting intrusion attempts.  Allowed values for this field are
	// "Log" and "Ignore".  The default value is "Log".
	//
	// +optional
	// +kubebuilder:default:="Log"
	LogEmptyRequests LoggingPolicy `json:"logEmptyRequests,omitempty"`
}

AccessLogging describes how client requests should be logged.

func (*AccessLogging) DeepCopy

func (in *AccessLogging) DeepCopy() *AccessLogging

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

func (*AccessLogging) DeepCopyInto

func (in *AccessLogging) DeepCopyInto(out *AccessLogging)

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

func (AccessLogging) SwaggerDoc

func (AccessLogging) SwaggerDoc() map[string]string

type AddPage

type AddPage struct {
	// disabledActions is a list of actions that are not shown to users.
	// Each action in the list is represented by its ID.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MinItems=1
	// +optional
	DisabledActions []string `json:"disabledActions,omitempty"`
}

AddPage allows customizing actions on the Add page in developer perspective.

func (*AddPage) DeepCopy

func (in *AddPage) DeepCopy() *AddPage

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

func (*AddPage) DeepCopyInto

func (in *AddPage) DeepCopyInto(out *AddPage)

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

func (AddPage) SwaggerDoc

func (AddPage) SwaggerDoc() map[string]string

type AdditionalNetworkDefinition

type AdditionalNetworkDefinition struct {
	// type is the type of network
	// The supported values are NetworkTypeRaw, NetworkTypeSimpleMacvlan
	Type NetworkType `json:"type"`

	// name is the name of the network. This will be populated in the resulting CRD
	// This must be unique.
	Name string `json:"name"`

	// namespace is the namespace of the network. This will be populated in the resulting CRD
	// If not given the network will be created in the default namespace.
	Namespace string `json:"namespace,omitempty"`

	// rawCNIConfig is the raw CNI configuration json to create in the
	// NetworkAttachmentDefinition CRD
	RawCNIConfig string `json:"rawCNIConfig,omitempty"`

	// SimpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan
	// +optional
	SimpleMacvlanConfig *SimpleMacvlanConfig `json:"simpleMacvlanConfig,omitempty"`
}

AdditionalNetworkDefinition configures an extra network that is available but not created by default. Instead, pods must request them by name. type must be specified, along with exactly one "Config" that matches the type.

func (*AdditionalNetworkDefinition) DeepCopy

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

func (*AdditionalNetworkDefinition) DeepCopyInto

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

func (AdditionalNetworkDefinition) SwaggerDoc

func (AdditionalNetworkDefinition) SwaggerDoc() map[string]string

type Authentication

type Authentication struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	// +required
	Spec AuthenticationSpec `json:"spec,omitempty"`
	// +optional
	Status AuthenticationStatus `json:"status,omitempty"`
}

Authentication provides information to configure an operator to manage authentication.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

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

func (*Authentication) DeepCopyObject

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

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

func (Authentication) SwaggerDoc

func (Authentication) SwaggerDoc() map[string]string

type AuthenticationList

type AuthenticationList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

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

AuthenticationList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*AuthenticationList) DeepCopy

func (in *AuthenticationList) DeepCopy() *AuthenticationList

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

func (*AuthenticationList) DeepCopyInto

func (in *AuthenticationList) DeepCopyInto(out *AuthenticationList)

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

func (*AuthenticationList) DeepCopyObject

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

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

func (AuthenticationList) SwaggerDoc

func (AuthenticationList) SwaggerDoc() map[string]string

type AuthenticationSpec

type AuthenticationSpec struct {
	OperatorSpec `json:",inline"`
}

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

type AuthenticationStatus

type AuthenticationStatus struct {
	// OAuthAPIServer holds status specific only to oauth-apiserver
	// +optional
	OAuthAPIServer OAuthAPIServerStatus `json:"oauthAPIServer,omitempty"`

	OperatorStatus `json:",inline"`
}

func (*AuthenticationStatus) DeepCopy

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

func (*AuthenticationStatus) DeepCopyInto

func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus)

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

func (AuthenticationStatus) SwaggerDoc

func (AuthenticationStatus) SwaggerDoc() map[string]string

type AzureCSIDriverConfigSpec

type AzureCSIDriverConfigSpec struct {
	// diskEncryptionSet sets the cluster default storage class to encrypt volumes with a
	// customer-managed encryption set, rather than the default platform-managed keys.
	// +optional
	DiskEncryptionSet *AzureDiskEncryptionSet `json:"diskEncryptionSet,omitempty"`
}

AzureCSIDriverConfigSpec defines properties that can be configured for the Azure CSI driver.

func (*AzureCSIDriverConfigSpec) DeepCopy

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

func (*AzureCSIDriverConfigSpec) DeepCopyInto

func (in *AzureCSIDriverConfigSpec) DeepCopyInto(out *AzureCSIDriverConfigSpec)

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

func (AzureCSIDriverConfigSpec) SwaggerDoc

func (AzureCSIDriverConfigSpec) SwaggerDoc() map[string]string

type AzureDiskEncryptionSet

type AzureDiskEncryptionSet struct {
	// subscriptionID defines the Azure subscription that contains the disk encryption set.
	// The value should meet the following conditions:
	// 1. It should be a 128-bit number.
	// 2. It should be 36 characters (32 hexadecimal characters and 4 hyphens) long.
	// 3. It should be displayed in five groups separated by hyphens (-).
	// 4. The first group should be 8 characters long.
	// 5. The second, third, and fourth groups should be 4 characters long.
	// 6. The fifth group should be 12 characters long.
	// An Example SubscrionID: f2007bbf-f802-4a47-9336-cf7c6b89b378
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength:=36
	// +kubebuilder:validation:Pattern:=`^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`
	SubscriptionID string `json:"subscriptionID"`

	// resourceGroup defines the Azure resource group that contains the disk encryption set.
	// The value should consist of only alphanumberic characters,
	// underscores (_), parentheses, hyphens and periods.
	// The value should not end in a period and be at most 90 characters in
	// length.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength:=90
	// +kubebuilder:validation:Pattern:=`^[\w\.\-\(\)]*[\w\-\(\)]$`
	ResourceGroup string `json:"resourceGroup"`

	// name is the name of the disk encryption set that will be set on the default storage class.
	// The value should consist of only alphanumberic characters,
	// underscores (_), hyphens, and be at most 80 characters in length.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength:=80
	// +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$`
	Name string `json:"name"`
}

AzureDiskEncryptionSet defines the configuration for a disk encryption set.

func (*AzureDiskEncryptionSet) DeepCopy

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

func (*AzureDiskEncryptionSet) DeepCopyInto

func (in *AzureDiskEncryptionSet) DeepCopyInto(out *AzureDiskEncryptionSet)

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

func (AzureDiskEncryptionSet) SwaggerDoc

func (AzureDiskEncryptionSet) SwaggerDoc() map[string]string

type Brand

type Brand string

Brand is a specific supported brand within the console.

const (
	// Legacy branding for OpenShift
	BrandOpenShiftLegacy Brand = "openshift"
	// Legacy branding for The Origin Community Distribution of Kubernetes
	BrandOKDLegacy Brand = "okd"
	// Legacy branding for OpenShift Online
	BrandOnlineLegacy Brand = "online"
	// Legacy branding for OpenShift Container Platform
	BrandOCPLegacy Brand = "ocp"
	// Legacy branding for OpenShift Dedicated
	BrandDedicatedLegacy Brand = "dedicated"
	// Legacy branding for Azure Red Hat OpenShift
	BrandAzureLegacy Brand = "azure"
	// Branding for OpenShift
	BrandOpenShift Brand = "OpenShift"
	// Branding for The Origin Community Distribution of Kubernetes
	BrandOKD Brand = "OKD"
	// Branding for OpenShift Online
	BrandOnline Brand = "Online"
	// Branding for OpenShift Container Platform
	BrandOCP Brand = "OCP"
	// Branding for OpenShift Dedicated
	BrandDedicated Brand = "Dedicated"
	// Branding for Azure Red Hat OpenShift
	BrandAzure Brand = "Azure"
	// Branding for Red Hat OpenShift Service on AWS
	BrandROSA Brand = "ROSA"
)

type CIDR

type CIDR string

CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8"). +kubebuilder:validation:Pattern=`(^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))$)` + --- + The regex for the IPv4 CIDR range was taken from other CIDR fields in the OpenShift API + and the one for the IPv6 CIDR range was taken from + https://blog.markhatton.co.uk/2011/03/15/regular-expressions-for-ip-addresses-cidr-ranges-and-hostnames/ + The resulting regex is an OR of both regexes.

type CSIDriverConfigSpec

type CSIDriverConfigSpec struct {
	// driverType indicates type of CSI driver for which the
	// driverConfig is being applied to.
	// Valid values are: AWS, Azure, GCP, IBMCloud, vSphere and omitted.
	// Consumers should treat unknown values as a NO-OP.
	// +kubebuilder:validation:Required
	// +unionDiscriminator
	DriverType CSIDriverType `json:"driverType"`

	// aws is used to configure the AWS CSI driver.
	// +optional
	AWS *AWSCSIDriverConfigSpec `json:"aws,omitempty"`

	// azure is used to configure the Azure CSI driver.
	// +optional
	Azure *AzureCSIDriverConfigSpec `json:"azure,omitempty"`

	// gcp is used to configure the GCP CSI driver.
	// +optional
	GCP *GCPCSIDriverConfigSpec `json:"gcp,omitempty"`

	// ibmcloud is used to configure the IBM Cloud CSI driver.
	// +optional
	IBMCloud *IBMCloudCSIDriverConfigSpec `json:"ibmcloud,omitempty"`

	// vsphere is used to configure the vsphere CSI driver.
	// +optional
	VSphere *VSphereCSIDriverConfigSpec `json:"vSphere,omitempty"`
}

CSIDriverConfigSpec defines configuration spec that can be used to optionally configure a specific CSI Driver. +kubebuilder:validation:XValidation:rule="has(self.driverType) && self.driverType == 'IBMCloud' ? has(self.ibmcloud) : !has(self.ibmcloud)",message="ibmcloud must be set if driverType is 'IBMCloud', but remain unset otherwise" +union

func (*CSIDriverConfigSpec) DeepCopy

func (in *CSIDriverConfigSpec) DeepCopy() *CSIDriverConfigSpec

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

func (*CSIDriverConfigSpec) DeepCopyInto

func (in *CSIDriverConfigSpec) DeepCopyInto(out *CSIDriverConfigSpec)

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

func (CSIDriverConfigSpec) SwaggerDoc

func (CSIDriverConfigSpec) SwaggerDoc() map[string]string

type CSIDriverName

type CSIDriverName string

CSIDriverName is the name of the CSI driver

const (
	AWSEBSCSIDriver          CSIDriverName = "ebs.csi.aws.com"
	AWSEFSCSIDriver          CSIDriverName = "efs.csi.aws.com"
	AzureDiskCSIDriver       CSIDriverName = "disk.csi.azure.com"
	AzureFileCSIDriver       CSIDriverName = "file.csi.azure.com"
	GCPFilestoreCSIDriver    CSIDriverName = "filestore.csi.storage.gke.io"
	GCPPDCSIDriver           CSIDriverName = "pd.csi.storage.gke.io"
	CinderCSIDriver          CSIDriverName = "cinder.csi.openstack.org"
	VSphereCSIDriver         CSIDriverName = "csi.vsphere.vmware.com"
	ManilaCSIDriver          CSIDriverName = "manila.csi.openstack.org"
	OvirtCSIDriver           CSIDriverName = "csi.ovirt.org"
	KubevirtCSIDriver        CSIDriverName = "csi.kubevirt.io"
	SharedResourcesCSIDriver CSIDriverName = "csi.sharedresource.openshift.io"
	AlibabaDiskCSIDriver     CSIDriverName = "diskplugin.csi.alibabacloud.com"
	IBMVPCBlockCSIDriver     CSIDriverName = "vpc.block.csi.ibm.io"
	IBMPowerVSBlockCSIDriver CSIDriverName = "powervs.csi.ibm.com"
	SecretsStoreCSIDriver    CSIDriverName = "secrets-store.csi.k8s.io"
	SambaCSIDriver           CSIDriverName = "smb.csi.k8s.io"
)

If you are adding a new driver name here, ensure that 0000_90_cluster_csi_driver_01_config.crd.yaml-merge-patch file is also updated with new driver name.

type CSIDriverType

type CSIDriverType string

CSIDriverType indicates type of CSI driver being configured. +kubebuilder:validation:Enum="";AWS;Azure;GCP;IBMCloud;vSphere

const (
	AWSDriverType      CSIDriverType = "AWS"
	AzureDriverType    CSIDriverType = "Azure"
	GCPDriverType      CSIDriverType = "GCP"
	IBMCloudDriverType CSIDriverType = "IBMCloud"
	VSphereDriverType  CSIDriverType = "vSphere"
)

type CSISnapshotController

type CSISnapshotController struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec holds user settable values for configuration
	// +kubebuilder:validation:Required
	// +required
	Spec CSISnapshotControllerSpec `json:"spec"`

	// status holds observed values from the cluster. They may not be overridden.
	// +optional
	Status CSISnapshotControllerStatus `json:"status"`
}

CSISnapshotController provides a means to configure an operator to manage the CSI snapshots. `cluster` is the canonical name.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*CSISnapshotController) DeepCopy

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

func (*CSISnapshotController) DeepCopyInto

func (in *CSISnapshotController) DeepCopyInto(out *CSISnapshotController)

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

func (*CSISnapshotController) DeepCopyObject

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

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

func (CSISnapshotController) SwaggerDoc

func (CSISnapshotController) SwaggerDoc() map[string]string

type CSISnapshotControllerList

type CSISnapshotControllerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

CSISnapshotControllerList contains a list of CSISnapshotControllers.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*CSISnapshotControllerList) DeepCopy

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

func (*CSISnapshotControllerList) DeepCopyInto

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

func (*CSISnapshotControllerList) DeepCopyObject

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

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

func (CSISnapshotControllerList) SwaggerDoc

func (CSISnapshotControllerList) SwaggerDoc() map[string]string

type CSISnapshotControllerSpec

type CSISnapshotControllerSpec struct {
	OperatorSpec `json:",inline"`
}

CSISnapshotControllerSpec is the specification of the desired behavior of the CSISnapshotController operator.

func (*CSISnapshotControllerSpec) DeepCopy

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

func (*CSISnapshotControllerSpec) DeepCopyInto

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

func (CSISnapshotControllerSpec) SwaggerDoc

func (CSISnapshotControllerSpec) SwaggerDoc() map[string]string

type CSISnapshotControllerStatus

type CSISnapshotControllerStatus struct {
	OperatorStatus `json:",inline"`
}

CSISnapshotControllerStatus defines the observed status of the CSISnapshotController operator.

func (*CSISnapshotControllerStatus) DeepCopy

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

func (*CSISnapshotControllerStatus) DeepCopyInto

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

func (CSISnapshotControllerStatus) SwaggerDoc

func (CSISnapshotControllerStatus) SwaggerDoc() map[string]string

type CatalogTypesState

type CatalogTypesState string

CatalogTypesState defines the state of the catalog types based on which the types will be enabled or disabled.

const (
	CatalogTypeEnabled  CatalogTypesState = "Enabled"
	CatalogTypeDisabled CatalogTypesState = "Disabled"
)

type ClientCertificatePolicy

type ClientCertificatePolicy string

ClientCertificatePolicy describes the policy for client certificates. +kubebuilder:validation:Enum="";Required;Optional

const (
	// ClientCertificatePolicyRequired indicates that a client certificate
	// should be required.
	ClientCertificatePolicyRequired ClientCertificatePolicy = "Required"

	// ClientCertificatePolicyOptional indicates that a client certificate
	// should be requested but not required.
	ClientCertificatePolicyOptional ClientCertificatePolicy = "Optional"
)

type ClientTLS

type ClientTLS struct {
	// clientCertificatePolicy specifies whether the ingress controller
	// requires clients to provide certificates.  This field accepts the
	// values "Required" or "Optional".
	//
	// Note that the ingress controller only checks client certificates for
	// edge-terminated and reencrypt TLS routes; it cannot check
	// certificates for cleartext HTTP or passthrough TLS routes.
	//
	// +kubebuilder:validation:Required
	// +required
	ClientCertificatePolicy ClientCertificatePolicy `json:"clientCertificatePolicy"`

	// clientCA specifies a configmap containing the PEM-encoded CA
	// certificate bundle that should be used to verify a client's
	// certificate.  The administrator must create this configmap in the
	// openshift-config namespace.
	//
	// +kubebuilder:validation:Required
	// +required
	ClientCA configv1.ConfigMapNameReference `json:"clientCA"`

	// allowedSubjectPatterns specifies a list of regular expressions that
	// should be matched against the distinguished name on a valid client
	// certificate to filter requests.  The regular expressions must use
	// PCRE syntax.  If this list is empty, no filtering is performed.  If
	// the list is nonempty, then at least one pattern must match a client
	// certificate's distinguished name or else the ingress controller
	// rejects the certificate and denies the connection.
	//
	// +listType=atomic
	// +optional
	AllowedSubjectPatterns []string `json:"allowedSubjectPatterns,omitempty"`
}

ClientTLS specifies TLS configuration to enable client-to-server authentication, which can be used for mutual TLS.

func (*ClientTLS) DeepCopy

func (in *ClientTLS) DeepCopy() *ClientTLS

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

func (*ClientTLS) DeepCopyInto

func (in *ClientTLS) DeepCopyInto(out *ClientTLS)

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

func (ClientTLS) SwaggerDoc

func (ClientTLS) SwaggerDoc() map[string]string

type CloudCredential

type CloudCredential struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	// +required
	Spec CloudCredentialSpec `json:"spec"`
	// +optional
	Status CloudCredentialStatus `json:"status"`
}

CloudCredential provides a means to configure an operator to manage CredentialsRequests.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*CloudCredential) DeepCopy

func (in *CloudCredential) DeepCopy() *CloudCredential

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

func (*CloudCredential) DeepCopyInto

func (in *CloudCredential) DeepCopyInto(out *CloudCredential)

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

func (*CloudCredential) DeepCopyObject

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

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

func (CloudCredential) SwaggerDoc

func (CloudCredential) SwaggerDoc() map[string]string

type CloudCredentialList

type CloudCredentialList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

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

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*CloudCredentialList) DeepCopy

func (in *CloudCredentialList) DeepCopy() *CloudCredentialList

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

func (*CloudCredentialList) DeepCopyInto

func (in *CloudCredentialList) DeepCopyInto(out *CloudCredentialList)

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

func (*CloudCredentialList) DeepCopyObject

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

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

func (CloudCredentialList) SwaggerDoc

func (CloudCredentialList) SwaggerDoc() map[string]string

type CloudCredentialSpec

type CloudCredentialSpec struct {
	OperatorSpec `json:",inline"`
	// CredentialsMode allows informing CCO that it should not attempt to dynamically
	// determine the root cloud credentials capabilities, and it should just run in
	// the specified mode.
	// It also allows putting the operator into "manual" mode if desired.
	// Leaving the field in default mode runs CCO so that the cluster's cloud credentials
	// will be dynamically probed for capabilities (on supported clouds/platforms).
	// Supported modes:
	//   AWS/Azure/GCP: "" (Default), "Mint", "Passthrough", "Manual"
	//   Others: Do not set value as other platforms only support running in "Passthrough"
	// +optional
	CredentialsMode CloudCredentialsMode `json:"credentialsMode,omitempty"`
}

CloudCredentialSpec is the specification of the desired behavior of the cloud-credential-operator.

func (*CloudCredentialSpec) DeepCopy

func (in *CloudCredentialSpec) DeepCopy() *CloudCredentialSpec

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

func (*CloudCredentialSpec) DeepCopyInto

func (in *CloudCredentialSpec) DeepCopyInto(out *CloudCredentialSpec)

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

func (CloudCredentialSpec) SwaggerDoc

func (CloudCredentialSpec) SwaggerDoc() map[string]string

type CloudCredentialStatus

type CloudCredentialStatus struct {
	OperatorStatus `json:",inline"`
}

CloudCredentialStatus defines the observed status of the cloud-credential-operator.

func (*CloudCredentialStatus) DeepCopy

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

func (*CloudCredentialStatus) DeepCopyInto

func (in *CloudCredentialStatus) DeepCopyInto(out *CloudCredentialStatus)

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

func (CloudCredentialStatus) SwaggerDoc

func (CloudCredentialStatus) SwaggerDoc() map[string]string

type CloudCredentialsMode

type CloudCredentialsMode string

CloudCredentialsMode is the specified mode the cloud-credential-operator should reconcile CredentialsRequest with +kubebuilder:validation:Enum="";Manual;Mint;Passthrough

const (
	// CloudCredentialsModeManual tells cloud-credential-operator to not reconcile any CredentialsRequests
	// (primarily used for the disconnected VPC use-cases).
	CloudCredentialsModeManual CloudCredentialsMode = "Manual"

	// CloudCredentialsModeMint tells cloud-credential-operator to reconcile all CredentialsRequests
	// by minting new users/credentials.
	CloudCredentialsModeMint CloudCredentialsMode = "Mint"

	// CloudCredentialsModePassthrough tells cloud-credential-operator to reconcile all CredentialsRequests
	// by copying the cloud-specific secret data.
	CloudCredentialsModePassthrough CloudCredentialsMode = "Passthrough"

	// CloudCredentialsModeDefault puts CCO into the default mode of operation (per-cloud/platform defaults):
	// AWS/Azure/GCP: dynamically determine cluster's cloud credential capabilities to affect
	// processing of CredentialsRequests
	// All other clouds/platforms (OpenStack, oVirt, vSphere, etc): run in "passthrough" mode
	CloudCredentialsModeDefault CloudCredentialsMode = ""
)

type ClusterCSIDriver

type ClusterCSIDriver struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec holds user settable values for configuration
	// +kubebuilder:validation:Required
	// +required
	Spec ClusterCSIDriverSpec `json:"spec"`

	// status holds observed values from the cluster. They may not be overridden.
	// +optional
	Status ClusterCSIDriverStatus `json:"status"`
}

ClusterCSIDriver object allows management and configuration of a CSI driver operator installed by default in OpenShift. Name of the object must be name of the CSI driver it operates. See CSIDriverName type for list of allowed values.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ClusterCSIDriver) DeepCopy

func (in *ClusterCSIDriver) DeepCopy() *ClusterCSIDriver

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

func (*ClusterCSIDriver) DeepCopyInto

func (in *ClusterCSIDriver) DeepCopyInto(out *ClusterCSIDriver)

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

func (*ClusterCSIDriver) DeepCopyObject

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

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

func (ClusterCSIDriver) SwaggerDoc

func (ClusterCSIDriver) SwaggerDoc() map[string]string

type ClusterCSIDriverList

type ClusterCSIDriverList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

ClusterCSIDriverList contains a list of ClusterCSIDriver

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ClusterCSIDriverList) DeepCopy

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

func (*ClusterCSIDriverList) DeepCopyInto

func (in *ClusterCSIDriverList) DeepCopyInto(out *ClusterCSIDriverList)

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

func (*ClusterCSIDriverList) DeepCopyObject

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

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

func (ClusterCSIDriverList) SwaggerDoc

func (ClusterCSIDriverList) SwaggerDoc() map[string]string

type ClusterCSIDriverSpec

type ClusterCSIDriverSpec struct {
	OperatorSpec `json:",inline"`
	// StorageClassState determines if CSI operator should create and manage storage classes.
	// If this field value is empty or Managed - CSI operator will continuously reconcile
	// storage class and create if necessary.
	// If this field value is Unmanaged - CSI operator will not reconcile any previously created
	// storage class.
	// If this field value is Removed - CSI operator will delete the storage class it created previously.
	// When omitted, this means the user has no opinion and the platform chooses a reasonable default,
	// which is subject to change over time.
	// The current default behaviour is Managed.
	// +optional
	StorageClassState StorageClassStateName `json:"storageClassState,omitempty"`

	// driverConfig can be used to specify platform specific driver configuration.
	// When omitted, this means no opinion and the platform is left to choose reasonable
	// defaults. These defaults are subject to change over time.
	// +optional
	DriverConfig CSIDriverConfigSpec `json:"driverConfig"`
}

ClusterCSIDriverSpec is the desired behavior of CSI driver operator

func (*ClusterCSIDriverSpec) DeepCopy

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

func (*ClusterCSIDriverSpec) DeepCopyInto

func (in *ClusterCSIDriverSpec) DeepCopyInto(out *ClusterCSIDriverSpec)

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

func (ClusterCSIDriverSpec) SwaggerDoc

func (ClusterCSIDriverSpec) SwaggerDoc() map[string]string

type ClusterCSIDriverStatus

type ClusterCSIDriverStatus struct {
	OperatorStatus `json:",inline"`
}

ClusterCSIDriverStatus is the observed status of CSI driver operator

func (*ClusterCSIDriverStatus) DeepCopy

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

func (*ClusterCSIDriverStatus) DeepCopyInto

func (in *ClusterCSIDriverStatus) DeepCopyInto(out *ClusterCSIDriverStatus)

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

func (ClusterCSIDriverStatus) SwaggerDoc

func (ClusterCSIDriverStatus) SwaggerDoc() map[string]string

type ClusterNetworkEntry

type ClusterNetworkEntry struct {
	CIDR string `json:"cidr"`
	// +kubebuilder:validation:Minimum=0
	// +optional
	HostPrefix uint32 `json:"hostPrefix,omitempty"`
}

ClusterNetworkEntry is a subnet from which to allocate PodIPs. A network of size HostPrefix (in CIDR notation) will be allocated when nodes join the cluster. If the HostPrefix field is not used by the plugin, it can be left unset. Not all network providers support multiple ClusterNetworks

func (*ClusterNetworkEntry) DeepCopy

func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry

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

func (*ClusterNetworkEntry) DeepCopyInto

func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry)

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

func (ClusterNetworkEntry) SwaggerDoc

func (ClusterNetworkEntry) SwaggerDoc() map[string]string

type CompressionMIMEType

type CompressionMIMEType string

CompressionMIMEType defines the format of a single MIME type. E.g. "text/css; charset=utf-8", "text/html", "text/*", "image/svg+xml", "application/octet-stream", "X-custom/customsub", etc.

The format should follow the Content-Type definition in RFC 1341: Content-Type := type "/" subtype *[";" parameter]

  • The type in Content-Type can be one of: application, audio, image, message, multipart, text, video, or a custom type preceded by "X-" and followed by a token as defined below.
  • The token is a string of at least one character, and not containing white space, control characters, or any of the characters in the tspecials set.
  • The tspecials set contains the characters ()<>@,;:\"/[]?.=
  • The subtype in Content-Type is also a token.
  • The optional parameter/s following the subtype are defined as: token "=" (token / quoted-string)
  • The quoted-string, as defined in RFC 822, is surrounded by double quotes and can contain white space plus any character EXCEPT \, ", and CR. It can also contain any single ASCII character as long as it is escaped by \.

+kubebuilder:validation:Pattern=`^(?i)(x-[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+|application|audio|image|message|multipart|text|video)/[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+(; *[^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+=([^][ ()\\<>@,;:"/?.=\x00-\x1F\x7F]+|"(\\[\x00-\x7F]|[^\x0D"\\])*"))*$`

type ConditionStatus

type ConditionStatus string
const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

type Config

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

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Config Operator.
	// +kubebuilder:validation:Required
	// +required
	Spec ConfigSpec `json:"spec"`

	// status defines the observed status of the Config Operator.
	// +optional
	Status ConfigStatus `json:"status"`
}

Config specifies the behavior of the config operator which is responsible for creating the initial configuration of other components on the cluster. The operator also handles installation, migration or synchronization of cloud configurations for AWS and Azure cloud based clusters

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (*Config) DeepCopyObject

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

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

func (Config) SwaggerDoc

func (Config) SwaggerDoc() map[string]string

type ConfigList

type ConfigList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []Config `json:"items"`
}

ConfigList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ConfigList) DeepCopy

func (in *ConfigList) DeepCopy() *ConfigList

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

func (*ConfigList) DeepCopyInto

func (in *ConfigList) DeepCopyInto(out *ConfigList)

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

func (*ConfigList) DeepCopyObject

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

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

func (ConfigList) SwaggerDoc

func (ConfigList) SwaggerDoc() map[string]string

type ConfigSpec

type ConfigSpec struct {
	OperatorSpec `json:",inline"`
}

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

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

type ConfigStatus

type ConfigStatus struct {
	OperatorStatus `json:",inline"`
}

func (*ConfigStatus) DeepCopy

func (in *ConfigStatus) DeepCopy() *ConfigStatus

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

func (*ConfigStatus) DeepCopyInto

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

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

type Console

type Console struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	// +required
	Spec ConsoleSpec `json:"spec,omitempty"`
	// +optional
	Status ConsoleStatus `json:"status,omitempty"`
}

Console provides a means to configure an operator to manage the console.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*Console) DeepCopy

func (in *Console) DeepCopy() *Console

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

func (*Console) DeepCopyInto

func (in *Console) DeepCopyInto(out *Console)

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

func (*Console) DeepCopyObject

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

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

func (Console) SwaggerDoc

func (Console) SwaggerDoc() map[string]string

type ConsoleConfigRoute

type ConsoleConfigRoute struct {
	// hostname is the desired custom domain under which console will be available.
	Hostname string `json:"hostname"`
	// secret points to secret in the openshift-config namespace that contains custom
	// certificate and key and needs to be created manually by the cluster admin.
	// Referenced Secret is required to contain following key value pairs:
	// - "tls.crt" - to specifies custom certificate
	// - "tls.key" - to specifies private key of the custom certificate
	// If the custom hostname uses the default routing suffix of the cluster,
	// the Secret specification for a serving certificate will not be needed.
	// +optional
	Secret configv1.SecretNameReference `json:"secret"`
}

ConsoleConfigRoute holds information on external route access to console. DEPRECATED

func (*ConsoleConfigRoute) DeepCopy

func (in *ConsoleConfigRoute) DeepCopy() *ConsoleConfigRoute

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

func (*ConsoleConfigRoute) DeepCopyInto

func (in *ConsoleConfigRoute) DeepCopyInto(out *ConsoleConfigRoute)

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

func (ConsoleConfigRoute) SwaggerDoc

func (ConsoleConfigRoute) SwaggerDoc() map[string]string

type ConsoleCustomization

type ConsoleCustomization struct {
	// brand is the default branding of the web console which can be overridden by
	// providing the brand field.  There is a limited set of specific brand options.
	// This field controls elements of the console such as the logo.
	// Invalid value will prevent a console rollout.
	// +kubebuilder:validation:Enum:=openshift;okd;online;ocp;dedicated;azure;OpenShift;OKD;Online;OCP;Dedicated;Azure;ROSA
	Brand Brand `json:"brand,omitempty"`
	// documentationBaseURL links to external documentation are shown in various sections
	// of the web console.  Providing documentationBaseURL will override the default
	// documentation URL.
	// Invalid value will prevent a console rollout.
	// +kubebuilder:validation:Pattern=`^$|^((https):\/\/?)[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/?))\/$`
	DocumentationBaseURL string `json:"documentationBaseURL,omitempty"`
	// customProductName is the name that will be displayed in page titles, logo alt text, and the about dialog
	// instead of the normal OpenShift product name.
	// +optional
	CustomProductName string `json:"customProductName,omitempty"`
	// customLogoFile replaces the default OpenShift logo in the masthead and about dialog. It is a reference to a
	// ConfigMap in the openshift-config namespace. This can be created with a command like
	// 'oc create configmap custom-logo --from-file=/path/to/file -n openshift-config'.
	// Image size must be less than 1 MB due to constraints on the ConfigMap size.
	// The ConfigMap key should include a file extension so that the console serves the file
	// with the correct MIME type.
	// Recommended logo specifications:
	// Dimensions: Max height of 68px and max width of 200px
	// SVG format preferred
	// +optional
	CustomLogoFile configv1.ConfigMapFileReference `json:"customLogoFile,omitempty"`
	// developerCatalog allows to configure the shown developer catalog categories (filters) and types (sub-catalogs).
	// +kubebuilder:validation:Optional
	// +optional
	DeveloperCatalog DeveloperConsoleCatalogCustomization `json:"developerCatalog,omitempty"`
	// projectAccess allows customizing the available list of ClusterRoles in the Developer perspective
	// Project access page which can be used by a project admin to specify roles to other users and
	// restrict access within the project. If set, the list will replace the default ClusterRole options.
	// +kubebuilder:validation:Optional
	// +optional
	ProjectAccess ProjectAccess `json:"projectAccess,omitempty"`
	// quickStarts allows customization of available ConsoleQuickStart resources in console.
	// +kubebuilder:validation:Optional
	// +optional
	QuickStarts QuickStarts `json:"quickStarts,omitempty"`
	// addPage allows customizing actions on the Add page in developer perspective.
	// +kubebuilder:validation:Optional
	// +optional
	AddPage AddPage `json:"addPage,omitempty"`
	// perspectives allows enabling/disabling of perspective(s) that user can see in the Perspective switcher dropdown.
	// +listType=map
	// +listMapKey=id
	// +optional
	Perspectives []Perspective `json:"perspectives"`
}

ConsoleCustomization defines a list of optional configuration for the console UI.

func (*ConsoleCustomization) DeepCopy

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

func (*ConsoleCustomization) DeepCopyInto

func (in *ConsoleCustomization) DeepCopyInto(out *ConsoleCustomization)

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

func (ConsoleCustomization) SwaggerDoc

func (ConsoleCustomization) SwaggerDoc() map[string]string

type ConsoleList

type ConsoleList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

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

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ConsoleList) DeepCopy

func (in *ConsoleList) DeepCopy() *ConsoleList

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

func (*ConsoleList) DeepCopyInto

func (in *ConsoleList) DeepCopyInto(out *ConsoleList)

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

func (*ConsoleList) DeepCopyObject

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

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

func (ConsoleList) SwaggerDoc

func (ConsoleList) SwaggerDoc() map[string]string

type ConsoleProviders

type ConsoleProviders struct {
	// statuspage contains ID for statuspage.io page that provides status info about.
	// +optional
	Statuspage *StatuspageProvider `json:"statuspage,omitempty"`
}

ConsoleProviders defines a list of optional additional providers of functionality to the console.

func (*ConsoleProviders) DeepCopy

func (in *ConsoleProviders) DeepCopy() *ConsoleProviders

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

func (*ConsoleProviders) DeepCopyInto

func (in *ConsoleProviders) DeepCopyInto(out *ConsoleProviders)

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

func (ConsoleProviders) SwaggerDoc

func (ConsoleProviders) SwaggerDoc() map[string]string

type ConsoleSpec

type ConsoleSpec struct {
	OperatorSpec `json:",inline"`
	// customization is used to optionally provide a small set of
	// customization options to the web console.
	// +optional
	Customization ConsoleCustomization `json:"customization"`
	// providers contains configuration for using specific service providers.
	Providers ConsoleProviders `json:"providers"`
	// route contains hostname and secret reference that contains the serving certificate.
	// If a custom route is specified, a new route will be created with the
	// provided hostname, under which console will be available.
	// In case of custom hostname uses the default routing suffix of the cluster,
	// the Secret specification for a serving certificate will not be needed.
	// In case of custom hostname points to an arbitrary domain, manual DNS configurations steps are necessary.
	// The default console route will be maintained to reserve the default hostname
	// for console if the custom route is removed.
	// If not specified, default route will be used.
	// DEPRECATED
	// +optional
	Route ConsoleConfigRoute `json:"route"`
	// plugins defines a list of enabled console plugin names.
	// +optional
	Plugins []string `json:"plugins,omitempty"`
}

ConsoleSpec is the specification of the desired behavior of the Console.

func (*ConsoleSpec) DeepCopy

func (in *ConsoleSpec) DeepCopy() *ConsoleSpec

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

func (*ConsoleSpec) DeepCopyInto

func (in *ConsoleSpec) DeepCopyInto(out *ConsoleSpec)

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

func (ConsoleSpec) SwaggerDoc

func (ConsoleSpec) SwaggerDoc() map[string]string

type ConsoleStatus

type ConsoleStatus struct {
	OperatorStatus `json:",inline"`
}

ConsoleStatus defines the observed status of the Console.

func (*ConsoleStatus) DeepCopy

func (in *ConsoleStatus) DeepCopy() *ConsoleStatus

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

func (*ConsoleStatus) DeepCopyInto

func (in *ConsoleStatus) DeepCopyInto(out *ConsoleStatus)

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

func (ConsoleStatus) SwaggerDoc

func (ConsoleStatus) SwaggerDoc() map[string]string

type ContainerLoggingDestinationParameters

type ContainerLoggingDestinationParameters struct {
	// maxLength is the maximum length of the log message.
	//
	// Valid values are integers in the range 480 to 8192, inclusive.
	//
	// When omitted, the default value is 1024.
	//
	// +kubebuilder:validation:Maximum=8192
	// +kubebuilder:validation:Minimum=480
	// +kubebuilder:default=1024
	// +default:=1024
	// +optional
	MaxLength int32 `json:"maxLength,omitempty"`
}

ContainerLoggingDestinationParameters describes parameters for the Container logging destination type.

func (*ContainerLoggingDestinationParameters) DeepCopy

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

func (*ContainerLoggingDestinationParameters) DeepCopyInto

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

func (ContainerLoggingDestinationParameters) SwaggerDoc

type ControlPlaneHardwareSpeed

type ControlPlaneHardwareSpeed string

ControlPlaneHardwareSpeed declares valid hardware speed tolerance levels +enum +kubebuilder:validation:Enum:="";Standard;Slower

const (
	// StandardHardwareSpeed provides the normal tolerances for hardware speed and latency.
	//	Currently sets (values subject to change at any time):
	//		ETCD_HEARTBEAT_INTERVAL: 100ms
	// 	ETCD_LEADER_ELECTION_TIMEOUT: 1000ms
	StandardHardwareSpeed ControlPlaneHardwareSpeed = "Standard"
	// SlowerHardwareSpeed provides more tolerance for slower hardware and/or higher latency networks.
	// Sets (values subject to change):
	//		ETCD_HEARTBEAT_INTERVAL: 5x Standard
	// 	ETCD_LEADER_ELECTION_TIMEOUT: 2.5x Standard
	SlowerHardwareSpeed ControlPlaneHardwareSpeed = "Slower"
)

type CookieMatchType

type CookieMatchType string

CookieMatchType indicates the type of matching used against cookie names to select a cookie for capture. +kubebuilder:validation:Enum=Exact;Prefix

const (
	// CookieMatchTypeExact indicates that an exact string match should be
	// performed.
	CookieMatchTypeExact CookieMatchType = "Exact"
	// CookieMatchTypePrefix indicates that a string prefix match should be
	// performed.
	CookieMatchTypePrefix CookieMatchType = "Prefix"
)

type DNS

type DNS struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification of the desired behavior of the DNS.
	Spec DNSSpec `json:"spec,omitempty"`
	// status is the most recently observed status of the DNS.
	Status DNSStatus `json:"status,omitempty"`
}

DNS manages the CoreDNS component to provide a name resolution service for pods and services in the cluster.

This supports the DNS-based service discovery specification: https://github.com/kubernetes/dns/blob/master/docs/specification.md

More details: https://kubernetes.io/docs/tasks/administer-cluster/coredns

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*DNS) DeepCopy

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto

func (in *DNS) DeepCopyInto(out *DNS)

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

func (*DNS) DeepCopyObject

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

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

func (DNS) SwaggerDoc

func (DNS) SwaggerDoc() map[string]string

type DNSCache

type DNSCache struct {
	// positiveTTL is optional and specifies the amount of time that a positive response should be cached.
	//
	// If configured, it must be a value of 1s (1 second) or greater up to a theoretical maximum of several years. This
	// field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix,
	// e.g. "100s", "1m30s", "12h30m10s". Values that are fractions of a second are rounded down to the nearest second.
	// If the configured value is less than 1s, the default value will be used.
	// If not configured, the value will be 0s and OpenShift will use a default value of 900 seconds unless noted
	// otherwise in the respective Corefile for your version of OpenShift. The default value of 900 seconds is subject
	// to change.
	// +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$
	// +kubebuilder:validation:Type:=string
	// +optional
	PositiveTTL metav1.Duration `json:"positiveTTL,omitempty"`

	// negativeTTL is optional and specifies the amount of time that a negative response should be cached.
	//
	// If configured, it must be a value of 1s (1 second) or greater up to a theoretical maximum of several years. This
	// field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix,
	// e.g. "100s", "1m30s", "12h30m10s". Values that are fractions of a second are rounded down to the nearest second.
	// If the configured value is less than 1s, the default value will be used.
	// If not configured, the value will be 0s and OpenShift will use a default value of 30 seconds unless noted
	// otherwise in the respective Corefile for your version of OpenShift. The default value of 30 seconds is subject
	// to change.
	// +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$
	// +kubebuilder:validation:Type:=string
	// +optional
	NegativeTTL metav1.Duration `json:"negativeTTL,omitempty"`
}

DNSCache defines the fields for configuring DNS caching.

func (*DNSCache) DeepCopy

func (in *DNSCache) DeepCopy() *DNSCache

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

func (*DNSCache) DeepCopyInto

func (in *DNSCache) DeepCopyInto(out *DNSCache)

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

func (DNSCache) SwaggerDoc

func (DNSCache) SwaggerDoc() map[string]string

type DNSList

type DNSList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

DNSList contains a list of DNS

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*DNSList) DeepCopy

func (in *DNSList) DeepCopy() *DNSList

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

func (*DNSList) DeepCopyInto

func (in *DNSList) DeepCopyInto(out *DNSList)

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

func (*DNSList) DeepCopyObject

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

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

func (DNSList) SwaggerDoc

func (DNSList) SwaggerDoc() map[string]string

type DNSLogLevel

type DNSLogLevel string

+kubebuilder:validation:Enum:=Normal;Debug;Trace

var (
	// Normal is the default.  Normal, working log information, everything is fine, but helpful notices for auditing or common operations.  In kube, this is probably glog=2.
	DNSLogLevelNormal DNSLogLevel = "Normal"

	// Debug is used when something went wrong.  Even common operations may be logged, and less helpful but more quantity of notices.  In kube, this is probably glog=4.
	DNSLogLevelDebug DNSLogLevel = "Debug"

	// Trace is used when something went really badly and even more verbose logs are needed.  Logging every function call as part of a common operation, to tracing execution of a query.  In kube, this is probably glog=6.
	DNSLogLevelTrace DNSLogLevel = "Trace"
)

type DNSNodePlacement

type DNSNodePlacement struct {
	// nodeSelector is the node selector applied to DNS pods.
	//
	// If empty, the default is used, which is currently the following:
	//
	//   kubernetes.io/os: linux
	//
	// This default is subject to change.
	//
	// If set, the specified selector is used and replaces the default.
	//
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// tolerations is a list of tolerations applied to DNS pods.
	//
	// If empty, the DNS operator sets a toleration for the
	// "node-role.kubernetes.io/master" taint.  This default is subject to
	// change.  Specifying tolerations without including a toleration for
	// the "node-role.kubernetes.io/master" taint may be risky as it could
	// lead to an outage if all worker nodes become unavailable.
	//
	// Note that the daemon controller adds some tolerations as well.  See
	// https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
	//
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

DNSNodePlacement describes the node scheduling configuration for DNS pods.

func (*DNSNodePlacement) DeepCopy

func (in *DNSNodePlacement) DeepCopy() *DNSNodePlacement

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

func (*DNSNodePlacement) DeepCopyInto

func (in *DNSNodePlacement) DeepCopyInto(out *DNSNodePlacement)

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

func (DNSNodePlacement) SwaggerDoc

func (DNSNodePlacement) SwaggerDoc() map[string]string

type DNSOverTLSConfig

type DNSOverTLSConfig struct {
	// serverName is the upstream server to connect to when forwarding DNS queries. This is required when Transport is
	// set to "TLS". ServerName will be validated against the DNS naming conventions in RFC 1123 and should match the
	// TLS certificate installed in the upstream resolver(s).
	//
	// + ---
	// + Inspired by the DNS1123 patterns in Kubernetes: https://github.com/kubernetes/kubernetes/blob/7c46f40bdf89a437ecdbc01df45e235b5f6d9745/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L178-L218
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$`
	ServerName string `json:"serverName"`

	// caBundle references a ConfigMap that must contain either a single
	// CA Certificate or a CA Bundle. This allows cluster administrators to provide their
	// own CA or CA bundle for validating the certificate of upstream resolvers.
	//
	// 1. The configmap must contain a `ca-bundle.crt` key.
	// 2. The value must be a PEM encoded CA certificate or CA bundle.
	// 3. The administrator must create this configmap in the openshift-config namespace.
	// 4. The upstream server certificate must contain a Subject Alternative Name (SAN) that matches ServerName.
	//
	// +optional
	CABundle v1.ConfigMapNameReference `json:"caBundle,omitempty"`
}

DNSOverTLSConfig describes optional DNSTransportConfig fields that should be captured.

func (*DNSOverTLSConfig) DeepCopy

func (in *DNSOverTLSConfig) DeepCopy() *DNSOverTLSConfig

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

func (*DNSOverTLSConfig) DeepCopyInto

func (in *DNSOverTLSConfig) DeepCopyInto(out *DNSOverTLSConfig)

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

func (DNSOverTLSConfig) SwaggerDoc

func (DNSOverTLSConfig) SwaggerDoc() map[string]string

type DNSSpec

type DNSSpec struct {
	// servers is a list of DNS resolvers that provide name query delegation for one or
	// more subdomains outside the scope of the cluster domain. If servers consists of
	// more than one Server, longest suffix match will be used to determine the Server.
	//
	// For example, if there are two Servers, one for "foo.com" and another for "a.foo.com",
	// and the name query is for "www.a.foo.com", it will be routed to the Server with Zone
	// "a.foo.com".
	//
	// If this field is nil, no servers are created.
	//
	// +optional
	Servers []Server `json:"servers,omitempty"`

	// upstreamResolvers defines a schema for configuring CoreDNS
	// to proxy DNS messages to upstream resolvers for the case of the
	// default (".") server
	//
	// If this field is not specified, the upstream used will default to
	// /etc/resolv.conf, with policy "sequential"
	//
	// +optional
	UpstreamResolvers UpstreamResolvers `json:"upstreamResolvers"`

	// nodePlacement provides explicit control over the scheduling of DNS
	// pods.
	//
	// Generally, it is useful to run a DNS pod on every node so that DNS
	// queries are always handled by a local DNS pod instead of going over
	// the network to a DNS pod on another node.  However, security policies
	// may require restricting the placement of DNS pods to specific nodes.
	// For example, if a security policy prohibits pods on arbitrary nodes
	// from communicating with the API, a node selector can be specified to
	// restrict DNS pods to nodes that are permitted to communicate with the
	// API.  Conversely, if running DNS pods on nodes with a particular
	// taint is desired, a toleration can be specified for that taint.
	//
	// If unset, defaults are used. See nodePlacement for more details.
	//
	// +optional
	NodePlacement DNSNodePlacement `json:"nodePlacement,omitempty"`

	// managementState indicates whether the DNS operator should manage cluster
	// DNS
	// +optional
	ManagementState ManagementState `json:"managementState,omitempty"`

	// operatorLogLevel controls the logging level of the DNS Operator.
	// Valid values are: "Normal", "Debug", "Trace".
	// Defaults to "Normal".
	// setting operatorLogLevel: Trace will produce extremely verbose logs.
	// +optional
	// +kubebuilder:default=Normal
	OperatorLogLevel DNSLogLevel `json:"operatorLogLevel,omitempty"`

	// logLevel describes the desired logging verbosity for CoreDNS.
	// Any one of the following values may be specified:
	// * Normal logs errors from upstream resolvers.
	// * Debug logs errors, NXDOMAIN responses, and NODATA responses.
	// * Trace logs errors and all responses.
	//  Setting logLevel: Trace will produce extremely verbose logs.
	// Valid values are: "Normal", "Debug", "Trace".
	// Defaults to "Normal".
	// +optional
	// +kubebuilder:default=Normal
	LogLevel DNSLogLevel `json:"logLevel,omitempty"`

	// cache describes the caching configuration that applies to all server blocks listed in the Corefile.
	// This field allows a cluster admin to optionally configure:
	// * positiveTTL which is a duration for which positive responses should be cached.
	// * negativeTTL which is a duration for which negative responses should be cached.
	// If this is not configured, OpenShift will configure positive and negative caching with a default value that is
	// subject to change. At the time of writing, the default positiveTTL is 900 seconds and the default negativeTTL is
	// 30 seconds or as noted in the respective Corefile for your version of OpenShift.
	// +optional
	Cache DNSCache `json:"cache,omitempty"`
}

DNSSpec is the specification of the desired behavior of the DNS.

func (*DNSSpec) DeepCopy

func (in *DNSSpec) DeepCopy() *DNSSpec

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

func (*DNSSpec) DeepCopyInto

func (in *DNSSpec) DeepCopyInto(out *DNSSpec)

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

func (DNSSpec) SwaggerDoc

func (DNSSpec) SwaggerDoc() map[string]string

type DNSStatus

type DNSStatus struct {
	// clusterIP is the service IP through which this DNS is made available.
	//
	// In the case of the default DNS, this will be a well known IP that is used
	// as the default nameserver for pods that are using the default ClusterFirst DNS policy.
	//
	// In general, this IP can be specified in a pod's spec.dnsConfig.nameservers list
	// or used explicitly when performing name resolution from within the cluster.
	// Example: dig foo.com @<service IP>
	//
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	//
	// +kubebuilder:validation:Required
	// +required
	ClusterIP string `json:"clusterIP"`

	// clusterDomain is the local cluster DNS domain suffix for DNS services.
	// This will be a subdomain as defined in RFC 1034,
	// section 3.5: https://tools.ietf.org/html/rfc1034#section-3.5
	// Example: "cluster.local"
	//
	// More info: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service
	//
	// +kubebuilder:validation:Required
	// +required
	ClusterDomain string `json:"clusterDomain"`

	// conditions provide information about the state of the DNS on the cluster.
	//
	// These are the supported DNS conditions:
	//
	//   * Available
	//   - True if the following conditions are met:
	//     * DNS controller daemonset is available.
	//   - False if any of those conditions are unsatisfied.
	//
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []OperatorCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

DNSStatus defines the observed status of the DNS.

func (*DNSStatus) DeepCopy

func (in *DNSStatus) DeepCopy() *DNSStatus

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

func (*DNSStatus) DeepCopyInto

func (in *DNSStatus) DeepCopyInto(out *DNSStatus)

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

func (DNSStatus) SwaggerDoc

func (DNSStatus) SwaggerDoc() map[string]string

type DNSTransport

type DNSTransport string

DNSTransport indicates what type of connection should be used. +kubebuilder:validation:Enum=TLS;Cleartext;""

const (
	// TLSTransport indicates that TLS should be used for the connection.
	TLSTransport DNSTransport = "TLS"

	// CleartextTransport indicates that no encryption should be used for
	// the connection.
	CleartextTransport DNSTransport = "Cleartext"
)

type DNSTransportConfig

type DNSTransportConfig struct {
	// transport allows cluster administrators to opt-in to using a DNS-over-TLS
	// connection between cluster DNS and an upstream resolver(s). Configuring
	// TLS as the transport at this level without configuring a CABundle will
	// result in the system certificates being used to verify the serving
	// certificate of the upstream resolver(s).
	//
	// Possible values:
	// "" (empty) - This means no explicit choice has been made and the platform chooses the default which is subject
	// to change over time. The current default is "Cleartext".
	// "Cleartext" - Cluster admin specified cleartext option. This results in the same functionality
	// as an empty value but may be useful when a cluster admin wants to be more explicit about the transport,
	// or wants to switch from "TLS" to "Cleartext" explicitly.
	// "TLS" - This indicates that DNS queries should be sent over a TLS connection. If Transport is set to TLS,
	// you MUST also set ServerName. If a port is not included with the upstream IP, port 853 will be tried by default
	// per RFC 7858 section 3.1; https://datatracker.ietf.org/doc/html/rfc7858#section-3.1.
	//
	// +optional
	// +unionDiscriminator
	Transport DNSTransport `json:"transport,omitempty"`

	// tls contains the additional configuration options to use when Transport is set to "TLS".
	TLS *DNSOverTLSConfig `json:"tls,omitempty"`
}

DNSTransportConfig groups related configuration parameters used for configuring forwarding to upstream resolvers that support DNS-over-TLS. +union

func (*DNSTransportConfig) DeepCopy

func (in *DNSTransportConfig) DeepCopy() *DNSTransportConfig

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

func (*DNSTransportConfig) DeepCopyInto

func (in *DNSTransportConfig) DeepCopyInto(out *DNSTransportConfig)

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

func (DNSTransportConfig) SwaggerDoc

func (DNSTransportConfig) SwaggerDoc() map[string]string

type DefaultNetworkDefinition

type DefaultNetworkDefinition struct {
	// type is the type of network
	// All NetworkTypes are supported except for NetworkTypeRaw
	Type NetworkType `json:"type"`

	// openShiftSDNConfig configures the openshift-sdn plugin
	// +optional
	OpenShiftSDNConfig *OpenShiftSDNConfig `json:"openshiftSDNConfig,omitempty"`

	// ovnKubernetesConfig configures the ovn-kubernetes plugin.
	// +optional
	OVNKubernetesConfig *OVNKubernetesConfig `json:"ovnKubernetesConfig,omitempty"`
}

DefaultNetworkDefinition represents a single network plugin's configuration. type must be specified, along with exactly one "Config" that matches the type.

func (*DefaultNetworkDefinition) DeepCopy

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

func (*DefaultNetworkDefinition) DeepCopyInto

func (in *DefaultNetworkDefinition) DeepCopyInto(out *DefaultNetworkDefinition)

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

func (DefaultNetworkDefinition) SwaggerDoc

func (DefaultNetworkDefinition) SwaggerDoc() map[string]string

type DeveloperConsoleCatalogCategory

type DeveloperConsoleCatalogCategory struct {
	// defines top level category ID, label and filter tags.
	DeveloperConsoleCatalogCategoryMeta `json:",inline"`
	// subcategories defines a list of child categories.
	// +kubebuilder:validation:Optional
	// +optional
	Subcategories []DeveloperConsoleCatalogCategoryMeta `json:"subcategories,omitempty"`
}

DeveloperConsoleCatalogCategory for the developer console catalog.

func (*DeveloperConsoleCatalogCategory) DeepCopy

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

func (*DeveloperConsoleCatalogCategory) DeepCopyInto

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

func (DeveloperConsoleCatalogCategory) SwaggerDoc

type DeveloperConsoleCatalogCategoryMeta

type DeveloperConsoleCatalogCategoryMeta struct {
	// ID is an identifier used in the URL to enable deep linking in console.
	// ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=32
	// +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$`
	// +required
	ID string `json:"id"`
	// label defines a category display label. It is required and must have 1-64 characters.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=64
	// +required
	Label string `json:"label"`
	// tags is a list of strings that will match the category. A selected category
	// show all items which has at least one overlapping tag between category and item.
	// +kubebuilder:validation:Optional
	// +optional
	Tags []string `json:"tags,omitempty"`
}

DeveloperConsoleCatalogCategoryMeta are the key identifiers of a developer catalog category.

func (*DeveloperConsoleCatalogCategoryMeta) DeepCopy

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

func (*DeveloperConsoleCatalogCategoryMeta) DeepCopyInto

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

func (DeveloperConsoleCatalogCategoryMeta) SwaggerDoc

type DeveloperConsoleCatalogCustomization

type DeveloperConsoleCatalogCustomization struct {
	// categories which are shown in the developer catalog.
	// +kubebuilder:validation:Optional
	// +optional
	Categories []DeveloperConsoleCatalogCategory `json:"categories,omitempty"`
	// types allows enabling or disabling of sub-catalog types that user can see in the Developer catalog.
	// When omitted, all the sub-catalog types will be shown.
	// +optional
	Types DeveloperConsoleCatalogTypes `json:"types,omitempty"`
}

DeveloperConsoleCatalogCustomization allow cluster admin to configure developer catalog.

func (*DeveloperConsoleCatalogCustomization) DeepCopy

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

func (*DeveloperConsoleCatalogCustomization) DeepCopyInto

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

func (DeveloperConsoleCatalogCustomization) SwaggerDoc

type DeveloperConsoleCatalogTypes

type DeveloperConsoleCatalogTypes struct {
	// state defines if a list of catalog types should be enabled or disabled.
	// +unionDiscriminator
	// +kubebuilder:validation:Enum:="Enabled";"Disabled";
	// +kubebuilder:default:="Enabled"
	// +default="Enabled"
	// +kubebuilder:validation:Required
	State CatalogTypesState `json:"state,omitempty"`
	// enabled is a list of developer catalog types (sub-catalogs IDs) that will be shown to users.
	// Types (sub-catalogs) are added via console plugins, the available types (sub-catalog IDs) are available
	// in the console on the cluster configuration page, or when editing the YAML in the console.
	// Example: "Devfile", "HelmChart", "BuilderImage"
	// If the list is non-empty, a new type will not be shown to the user until it is added to list.
	// If the list is empty the complete developer catalog will be shown.
	// +listType=set
	// +unionMember,optional
	Enabled *[]string `json:"enabled,omitempty"`
	// disabled is a list of developer catalog types (sub-catalogs IDs) that are not shown to users.
	// Types (sub-catalogs) are added via console plugins, the available types (sub-catalog IDs) are available
	// in the console on the cluster configuration page, or when editing the YAML in the console.
	// Example: "Devfile", "HelmChart", "BuilderImage"
	// If the list is empty or all the available sub-catalog types are added, then the complete developer catalog should be hidden.
	// +listType=set
	// +unionMember,optional
	Disabled *[]string `json:"disabled,omitempty"`
}

DeveloperConsoleCatalogTypes defines the state of the sub-catalog types. +kubebuilder:validation:XValidation:rule="self.state == 'Enabled' ? true : !has(self.enabled)",message="enabled is forbidden when state is not Enabled" +kubebuilder:validation:XValidation:rule="self.state == 'Disabled' ? true : !has(self.disabled)",message="disabled is forbidden when state is not Disabled" +union

func (*DeveloperConsoleCatalogTypes) DeepCopy

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

func (*DeveloperConsoleCatalogTypes) DeepCopyInto

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

func (DeveloperConsoleCatalogTypes) SwaggerDoc

func (DeveloperConsoleCatalogTypes) SwaggerDoc() map[string]string

type EgressIPConfig

type EgressIPConfig struct {
	// reachabilityTotalTimeout configures the EgressIP node reachability check total timeout in seconds.
	// If the EgressIP node cannot be reached within this timeout, the node is declared down.
	// Setting a large value may cause the EgressIP feature to react slowly to node changes.
	// In particular, it may react slowly for EgressIP nodes that really have a genuine problem and are unreachable.
	// When omitted, this means the user has no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
	// The current default is 1 second.
	// A value of 0 disables the EgressIP node's reachability check.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=60
	// +optional
	ReachabilityTotalTimeoutSeconds *uint32 `json:"reachabilityTotalTimeoutSeconds,omitempty"`
}

EgressIPConfig defines the configuration knobs for egressip

func (*EgressIPConfig) DeepCopy

func (in *EgressIPConfig) DeepCopy() *EgressIPConfig

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

func (*EgressIPConfig) DeepCopyInto

func (in *EgressIPConfig) DeepCopyInto(out *EgressIPConfig)

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

func (EgressIPConfig) SwaggerDoc

func (EgressIPConfig) SwaggerDoc() map[string]string

type EndpointPublishingStrategy

type EndpointPublishingStrategy struct {
	// type is the publishing strategy to use. Valid values are:
	//
	// * LoadBalancerService
	//
	// Publishes the ingress controller using a Kubernetes LoadBalancer Service.
	//
	// In this configuration, the ingress controller deployment uses container
	// networking. A LoadBalancer Service is created to publish the deployment.
	//
	// See: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
	//
	// If domain is set, a wildcard DNS record will be managed to point at the
	// LoadBalancer Service's external name. DNS records are managed only in DNS
	// zones defined by dns.config.openshift.io/cluster .spec.publicZone and
	// .spec.privateZone.
	//
	// Wildcard DNS management is currently supported only on the AWS, Azure,
	// and GCP platforms.
	//
	// * HostNetwork
	//
	// Publishes the ingress controller on node ports where the ingress controller
	// is deployed.
	//
	// In this configuration, the ingress controller deployment uses host
	// networking, bound to node ports 80 and 443. The user is responsible for
	// configuring an external load balancer to publish the ingress controller via
	// the node ports.
	//
	// * Private
	//
	// Does not publish the ingress controller.
	//
	// In this configuration, the ingress controller deployment uses container
	// networking, and is not explicitly published. The user must manually publish
	// the ingress controller.
	//
	// * NodePortService
	//
	// Publishes the ingress controller using a Kubernetes NodePort Service.
	//
	// In this configuration, the ingress controller deployment uses container
	// networking. A NodePort Service is created to publish the deployment. The
	// specific node ports are dynamically allocated by OpenShift; however, to
	// support static port allocations, user changes to the node port
	// field of the managed NodePort Service will preserved.
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	// +required
	Type EndpointPublishingStrategyType `json:"type"`

	// loadBalancer holds parameters for the load balancer. Present only if
	// type is LoadBalancerService.
	// +optional
	LoadBalancer *LoadBalancerStrategy `json:"loadBalancer,omitempty"`

	// hostNetwork holds parameters for the HostNetwork endpoint publishing
	// strategy. Present only if type is HostNetwork.
	// +optional
	HostNetwork *HostNetworkStrategy `json:"hostNetwork,omitempty"`

	// private holds parameters for the Private endpoint publishing
	// strategy. Present only if type is Private.
	// +optional
	Private *PrivateStrategy `json:"private,omitempty"`

	// nodePort holds parameters for the NodePortService endpoint publishing strategy.
	// Present only if type is NodePortService.
	// +optional
	NodePort *NodePortStrategy `json:"nodePort,omitempty"`
}

EndpointPublishingStrategy is a way to publish the endpoints of an IngressController, and represents the type and any additional configuration for a specific type. +union

func (*EndpointPublishingStrategy) DeepCopy

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

func (*EndpointPublishingStrategy) DeepCopyInto

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

func (EndpointPublishingStrategy) SwaggerDoc

func (EndpointPublishingStrategy) SwaggerDoc() map[string]string

type EndpointPublishingStrategyType

type EndpointPublishingStrategyType string

EndpointPublishingStrategyType is a way to publish ingress controller endpoints. +kubebuilder:validation:Enum=LoadBalancerService;HostNetwork;Private;NodePortService

const (
	// LoadBalancerService publishes the ingress controller using a Kubernetes
	// LoadBalancer Service.
	LoadBalancerServiceStrategyType EndpointPublishingStrategyType = "LoadBalancerService"

	// HostNetwork publishes the ingress controller on node ports where the
	// ingress controller is deployed.
	HostNetworkStrategyType EndpointPublishingStrategyType = "HostNetwork"

	// Private does not publish the ingress controller.
	PrivateStrategyType EndpointPublishingStrategyType = "Private"

	// NodePortService publishes the ingress controller using a Kubernetes NodePort Service.
	NodePortServiceStrategyType EndpointPublishingStrategyType = "NodePortService"
)

type Etcd

type Etcd struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// +kubebuilder:validation:Required
	// +required
	Spec EtcdSpec `json:"spec"`
	// +optional
	Status EtcdStatus `json:"status"`
}

Etcd provides information to configure an operator to manage etcd.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

func (*Etcd) DeepCopyObject

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

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

func (Etcd) SwaggerDoc

func (Etcd) SwaggerDoc() map[string]string

type EtcdList

type EtcdList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []Etcd `json:"items"`
}

KubeAPISOperatorConfigList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*EtcdList) DeepCopy

func (in *EtcdList) DeepCopy() *EtcdList

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

func (*EtcdList) DeepCopyInto

func (in *EtcdList) DeepCopyInto(out *EtcdList)

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

func (*EtcdList) DeepCopyObject

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

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

func (EtcdList) SwaggerDoc

func (EtcdList) SwaggerDoc() map[string]string

type EtcdSpec

type EtcdSpec struct {
	StaticPodOperatorSpec `json:",inline"`
	// HardwareSpeed allows user to change the etcd tuning profile which configures
	// the latency parameters for heartbeat interval and leader election timeouts
	// allowing the cluster to tolerate longer round-trip-times between etcd members.
	// Valid values are "", "Standard" and "Slower".
	//	"" means no opinion and the platform is left to choose a reasonable default
	//	which is subject to change without notice.
	// +kubebuilder:validation:Optional
	// +openshift:enable:FeatureGate=HardwareSpeed
	// +optional
	HardwareSpeed ControlPlaneHardwareSpeed `json:"controlPlaneHardwareSpeed"`
}

func (*EtcdSpec) DeepCopy

func (in *EtcdSpec) DeepCopy() *EtcdSpec

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

func (*EtcdSpec) DeepCopyInto

func (in *EtcdSpec) DeepCopyInto(out *EtcdSpec)

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

func (EtcdSpec) SwaggerDoc

func (EtcdSpec) SwaggerDoc() map[string]string

type EtcdStatus

type EtcdStatus struct {
	StaticPodOperatorStatus `json:",inline"`
	HardwareSpeed           ControlPlaneHardwareSpeed `json:"controlPlaneHardwareSpeed"`
}

func (*EtcdStatus) DeepCopy

func (in *EtcdStatus) DeepCopy() *EtcdStatus

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

func (*EtcdStatus) DeepCopyInto

func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus)

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

type ExportNetworkFlows

type ExportNetworkFlows struct {
	// netFlow defines the NetFlow configuration.
	// +optional
	NetFlow *NetFlowConfig `json:"netFlow,omitempty"`
	// sFlow defines the SFlow configuration.
	// +optional
	SFlow *SFlowConfig `json:"sFlow,omitempty"`
	// ipfix defines IPFIX configuration.
	// +optional
	IPFIX *IPFIXConfig `json:"ipfix,omitempty"`
}

func (*ExportNetworkFlows) DeepCopy

func (in *ExportNetworkFlows) DeepCopy() *ExportNetworkFlows

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

func (*ExportNetworkFlows) DeepCopyInto

func (in *ExportNetworkFlows) DeepCopyInto(out *ExportNetworkFlows)

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

func (ExportNetworkFlows) SwaggerDoc

func (ExportNetworkFlows) SwaggerDoc() map[string]string

type FeaturesMigration

type FeaturesMigration struct {
	// egressIP specifies whether or not the Egress IP configuration is migrated
	// automatically when changing the cluster default network provider.
	// If unset, this property defaults to 'true' and Egress IP configure is migrated.
	// +optional
	// +kubebuilder:default:=true
	EgressIP bool `json:"egressIP,omitempty"`
	// egressFirewall specifies whether or not the Egress Firewall configuration is migrated
	// automatically when changing the cluster default network provider.
	// If unset, this property defaults to 'true' and Egress Firewall configure is migrated.
	// +optional
	// +kubebuilder:default:=true
	EgressFirewall bool `json:"egressFirewall,omitempty"`
	// multicast specifies whether or not the multicast configuration is migrated
	// automatically when changing the cluster default network provider.
	// If unset, this property defaults to 'true' and multicast configure is migrated.
	// +optional
	// +kubebuilder:default:=true
	Multicast bool `json:"multicast,omitempty"`
}

func (*FeaturesMigration) DeepCopy

func (in *FeaturesMigration) DeepCopy() *FeaturesMigration

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

func (*FeaturesMigration) DeepCopyInto

func (in *FeaturesMigration) DeepCopyInto(out *FeaturesMigration)

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

func (FeaturesMigration) SwaggerDoc

func (FeaturesMigration) SwaggerDoc() map[string]string

type ForwardPlugin

type ForwardPlugin struct {
	// upstreams is a list of resolvers to forward name queries for subdomains of Zones.
	// Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream
	// returns an error during the exchange, another resolver is tried from Upstreams. The
	// Upstreams are selected in the order specified in Policy. Each upstream is represented
	// by an IP address or IP:port if the upstream listens on a port other than 53.
	//
	// A maximum of 15 upstreams is allowed per ForwardPlugin.
	//
	// +kubebuilder:validation:MaxItems=15
	Upstreams []string `json:"upstreams"`

	// policy is used to determine the order in which upstream servers are selected for querying.
	// Any one of the following values may be specified:
	//
	// * "Random" picks a random upstream server for each query.
	// * "RoundRobin" picks upstream servers in a round-robin order, moving to the next server for each new query.
	// * "Sequential" tries querying upstream servers in a sequential order until one responds, starting with the first server for each new query.
	//
	// The default value is "Random"
	//
	// +optional
	// +kubebuilder:default:="Random"
	Policy ForwardingPolicy `json:"policy,omitempty"`

	// transportConfig is used to configure the transport type, server name, and optional custom CA or CA bundle to use
	// when forwarding DNS requests to an upstream resolver.
	//
	// The default value is "" (empty) which results in a standard cleartext connection being used when forwarding DNS
	// requests to an upstream resolver.
	//
	// +optional
	TransportConfig DNSTransportConfig `json:"transportConfig,omitempty"`

	// protocolStrategy specifies the protocol to use for upstream DNS
	// requests.
	// Valid values for protocolStrategy are "TCP" and omitted.
	// When omitted, this means no opinion and the platform is left to choose
	// a reasonable default, which is subject to change over time.
	// The current default is to use the protocol of the original client request.
	// "TCP" specifies that the platform should use TCP for all upstream DNS requests,
	// even if the client request uses UDP.
	// "TCP" is useful for UDP-specific issues such as those created by
	// non-compliant upstream resolvers, but may consume more bandwidth or
	// increase DNS response time. Note that protocolStrategy only affects
	// the protocol of DNS requests that CoreDNS makes to upstream resolvers.
	// It does not affect the protocol of DNS requests between clients and
	// CoreDNS.
	//
	// +optional
	ProtocolStrategy ProtocolStrategy `json:"protocolStrategy"`
}

ForwardPlugin defines a schema for configuring the CoreDNS forward plugin.

func (*ForwardPlugin) DeepCopy

func (in *ForwardPlugin) DeepCopy() *ForwardPlugin

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

func (*ForwardPlugin) DeepCopyInto

func (in *ForwardPlugin) DeepCopyInto(out *ForwardPlugin)

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

func (ForwardPlugin) SwaggerDoc

func (ForwardPlugin) SwaggerDoc() map[string]string

type ForwardingPolicy

type ForwardingPolicy string

ForwardingPolicy is the policy to use when forwarding DNS requests. +kubebuilder:validation:Enum=Random;RoundRobin;Sequential

const (
	// RandomForwardingPolicy picks a random upstream server for each query.
	RandomForwardingPolicy ForwardingPolicy = "Random"

	// RoundRobinForwardingPolicy picks upstream servers in a round-robin order, moving to the next server for each new query.
	RoundRobinForwardingPolicy ForwardingPolicy = "RoundRobin"

	// SequentialForwardingPolicy tries querying upstream servers in a sequential order until one responds, starting with the first server for each new query.
	SequentialForwardingPolicy ForwardingPolicy = "Sequential"
)

type GCPCSIDriverConfigSpec

type GCPCSIDriverConfigSpec struct {
	// kmsKey sets the cluster default storage class to encrypt volumes with customer-supplied
	// encryption keys, rather than the default keys managed by GCP.
	// +optional
	KMSKey *GCPKMSKeyReference `json:"kmsKey,omitempty"`
}

GCPCSIDriverConfigSpec defines properties that can be configured for the GCP CSI driver.

func (*GCPCSIDriverConfigSpec) DeepCopy

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

func (*GCPCSIDriverConfigSpec) DeepCopyInto

func (in *GCPCSIDriverConfigSpec) DeepCopyInto(out *GCPCSIDriverConfigSpec)

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

func (GCPCSIDriverConfigSpec) SwaggerDoc

func (GCPCSIDriverConfigSpec) SwaggerDoc() map[string]string

type GCPClientAccess

type GCPClientAccess string

GCPClientAccess describes how client access is restricted for internal load balancers. +kubebuilder:validation:Enum=Global;Local

const (
	GCPGlobalAccess GCPClientAccess = "Global"
	GCPLocalAccess  GCPClientAccess = "Local"
)

type GCPKMSKeyReference

type GCPKMSKeyReference struct {
	// name is the name of the customer-managed encryption key to be used for disk encryption.
	// The value should correspond to an existing KMS key and should
	// consist of only alphanumeric characters, hyphens (-) and underscores (_),
	// and be at most 63 characters in length.
	// +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$`
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:MaxLength:=63
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// keyRing is the name of the KMS Key Ring which the KMS Key belongs to.
	// The value should correspond to an existing KMS key ring and should
	// consist of only alphanumeric characters, hyphens (-) and underscores (_),
	// and be at most 63 characters in length.
	// +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$`
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:MaxLength:=63
	// +kubebuilder:validation:Required
	KeyRing string `json:"keyRing"`

	// projectID is the ID of the Project in which the KMS Key Ring exists.
	// It must be 6 to 30 lowercase letters, digits, or hyphens.
	// It must start with a letter. Trailing hyphens are prohibited.
	// +kubebuilder:validation:Pattern:=`^[a-z][a-z0-9-]+[a-z0-9]$`
	// +kubebuilder:validation:MinLength:=6
	// +kubebuilder:validation:MaxLength:=30
	// +kubebuilder:validation:Required
	ProjectID string `json:"projectID"`

	// location is the GCP location in which the Key Ring exists.
	// The value must match an existing GCP location, or "global".
	// Defaults to global, if not set.
	// +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$`
	// +optional
	Location string `json:"location,omitempty"`
}

GCPKMSKeyReference gathers required fields for looking up a GCP KMS Key

func (*GCPKMSKeyReference) DeepCopy

func (in *GCPKMSKeyReference) DeepCopy() *GCPKMSKeyReference

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

func (*GCPKMSKeyReference) DeepCopyInto

func (in *GCPKMSKeyReference) DeepCopyInto(out *GCPKMSKeyReference)

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

func (GCPKMSKeyReference) SwaggerDoc

func (GCPKMSKeyReference) SwaggerDoc() map[string]string

type GCPLoadBalancerParameters

type GCPLoadBalancerParameters struct {
	// clientAccess describes how client access is restricted for internal
	// load balancers.
	//
	// Valid values are:
	// * "Global": Specifying an internal load balancer with Global client access
	//   allows clients from any region within the VPC to communicate with the load
	//   balancer.
	//
	//     https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access
	//
	// * "Local": Specifying an internal load balancer with Local client access
	//   means only clients within the same region (and VPC) as the GCP load balancer
	//   can communicate with the load balancer. Note that this is the default behavior.
	//
	//     https://cloud.google.com/load-balancing/docs/internal#client_access
	//
	// +optional
	ClientAccess GCPClientAccess `json:"clientAccess,omitempty"`
}

GCPLoadBalancerParameters provides configuration settings that are specific to GCP load balancers.

func (*GCPLoadBalancerParameters) DeepCopy

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

func (*GCPLoadBalancerParameters) DeepCopyInto

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

func (GCPLoadBalancerParameters) SwaggerDoc

func (GCPLoadBalancerParameters) SwaggerDoc() map[string]string

type GatewayConfig

type GatewayConfig struct {
	// RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port
	// into the host before sending it out. If this is not set, traffic will always egress directly
	// from OVN to outside without touching the host stack. Setting this to true means hardware
	// offload will not be supported. Default is false if GatewayConfig is specified.
	// +kubebuilder:default:=false
	// +optional
	RoutingViaHost bool `json:"routingViaHost,omitempty"`
	// IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex).
	// By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other
	// IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across
	// OVN-Kubernetes managed interfaces, then set this field to "Global".
	// The supported values are "Restricted" and "Global".
	// +optional
	IPForwarding IPForwardingMode `json:"ipForwarding,omitempty"`
	// ipv4 allows users to configure IP settings for IPv4 connections. When omitted, this means no opinion and the default
	// configuration is used. Check individual members fields within ipv4 for details of default values.
	// +optional
	IPv4 IPv4GatewayConfig `json:"ipv4,omitempty"`
	// ipv6 allows users to configure IP settings for IPv6 connections. When omitted, this means no opinion and the default
	// configuration is used. Check individual members fields within ipv6 for details of default values.
	// +optional
	IPv6 IPv6GatewayConfig `json:"ipv6,omitempty"`
}

GatewayConfig holds node gateway-related parsed config file parameters and command-line overrides

func (*GatewayConfig) DeepCopy

func (in *GatewayConfig) DeepCopy() *GatewayConfig

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

func (*GatewayConfig) DeepCopyInto

func (in *GatewayConfig) DeepCopyInto(out *GatewayConfig)

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

func (GatewayConfig) SwaggerDoc

func (GatewayConfig) SwaggerDoc() map[string]string

type GatherStatus

type GatherStatus struct {
	// lastGatherTime is the last time when Insights data gathering finished.
	// An empty value means that no data has been gathered yet.
	// +optional
	LastGatherTime metav1.Time `json:"lastGatherTime,omitempty"`
	// lastGatherDuration is the total time taken to process
	// all gatherers during the last gather event.
	// +optional
	// +kubebuilder:validation:Pattern="^0|([1-9][0-9]*(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Type=string
	LastGatherDuration metav1.Duration `json:"lastGatherDuration,omitempty"`
	// gatherers is a list of active gatherers (and their statuses) in the last gathering.
	// +listType=atomic
	// +optional
	Gatherers []GathererStatus `json:"gatherers,omitempty"`
}

gatherStatus provides information about the last known gather event.

func (*GatherStatus) DeepCopy

func (in *GatherStatus) DeepCopy() *GatherStatus

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

func (*GatherStatus) DeepCopyInto

func (in *GatherStatus) DeepCopyInto(out *GatherStatus)

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

func (GatherStatus) SwaggerDoc

func (GatherStatus) SwaggerDoc() map[string]string

type GathererStatus

type GathererStatus struct {
	// conditions provide details on the status of each gatherer.
	// +listType=atomic
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Conditions []metav1.Condition `json:"conditions"`
	// name is the name of the gatherer.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:MinLength=5
	Name string `json:"name"`
	// lastGatherDuration represents the time spent gathering.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([1-9][0-9]*(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	LastGatherDuration metav1.Duration `json:"lastGatherDuration"`
}

gathererStatus represents information about a particular data gatherer.

func (*GathererStatus) DeepCopy

func (in *GathererStatus) DeepCopy() *GathererStatus

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

func (*GathererStatus) DeepCopyInto

func (in *GathererStatus) DeepCopyInto(out *GathererStatus)

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

func (GathererStatus) SwaggerDoc

func (GathererStatus) SwaggerDoc() map[string]string

type GenerationStatus

type GenerationStatus struct {
	// group is the group of the thing you're tracking
	Group string `json:"group"`
	// resource is the resource type of the thing you're tracking
	Resource string `json:"resource"`
	// namespace is where the thing you're tracking is
	Namespace string `json:"namespace"`
	// name is the name of the thing you're tracking
	Name string `json:"name"`
	// lastGeneration is the last generation of the workload controller involved
	LastGeneration int64 `json:"lastGeneration"`
	// hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps
	Hash string `json:"hash"`
}

GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made.

func (*GenerationStatus) DeepCopy

func (in *GenerationStatus) DeepCopy() *GenerationStatus

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

func (*GenerationStatus) DeepCopyInto

func (in *GenerationStatus) DeepCopyInto(out *GenerationStatus)

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

func (GenerationStatus) SwaggerDoc

func (GenerationStatus) SwaggerDoc() map[string]string

type HTTPCompressionPolicy

type HTTPCompressionPolicy struct {
	// mimeTypes is a list of MIME types that should have compression applied.
	// This list can be empty, in which case the ingress controller does not apply compression.
	//
	// Note: Not all MIME types benefit from compression, but HAProxy will still use resources
	// to try to compress if instructed to.  Generally speaking, text (html, css, js, etc.)
	// formats benefit from compression, but formats that are already compressed (image,
	// audio, video, etc.) benefit little in exchange for the time and cpu spent on compressing
	// again. See https://joehonton.medium.com/the-gzip-penalty-d31bd697f1a2
	//
	// +listType=set
	MimeTypes []CompressionMIMEType `json:"mimeTypes,omitempty"`
}

httpCompressionPolicy turns on compression for the specified MIME types.

This field is optional, and its absence implies that compression should not be enabled globally in HAProxy.

If httpCompressionPolicy exists, compression should be enabled only for the specified MIME types.

func (*HTTPCompressionPolicy) DeepCopy

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

func (*HTTPCompressionPolicy) DeepCopyInto

func (in *HTTPCompressionPolicy) DeepCopyInto(out *HTTPCompressionPolicy)

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

func (HTTPCompressionPolicy) SwaggerDoc

func (HTTPCompressionPolicy) SwaggerDoc() map[string]string

type HTTPEmptyRequestsPolicy

type HTTPEmptyRequestsPolicy string

HTTPEmptyRequestsPolicy indicates how HTTP connections for which no request is received should be handled. +kubebuilder:validation:Enum=Respond;Ignore

const (
	// HTTPEmptyRequestsPolicyRespond indicates that the ingress controller
	// should respond to empty requests.
	HTTPEmptyRequestsPolicyRespond HTTPEmptyRequestsPolicy = "Respond"
	// HTTPEmptyRequestsPolicyIgnore indicates that the ingress controller
	// should ignore empty requests.
	HTTPEmptyRequestsPolicyIgnore HTTPEmptyRequestsPolicy = "Ignore"
)

type HealthCheck

type HealthCheck struct {
	// description provides basic description of the healtcheck.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:MinLength=10
	Description string `json:"description"`
	// totalRisk of the healthcheck. Indicator of the total risk posed
	// by the detected issue; combination of impact and likelihood. The values can be from 1 to 4,
	// and the higher the number, the more important the issue.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=4
	TotalRisk int32 `json:"totalRisk"`
	// advisorURI provides the URL link to the Insights Advisor.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^https:\/\/\S+`
	AdvisorURI string `json:"advisorURI"`
	// state determines what the current state of the health check is.
	// Health check is enabled by default and can be disabled
	// by the user in the Insights advisor user interface.
	// +kubebuilder:validation:Required
	State HealthCheckState `json:"state"`
}

healthCheck represents an Insights health check attributes.

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

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

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

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

func (HealthCheck) SwaggerDoc

func (HealthCheck) SwaggerDoc() map[string]string

type HealthCheckState

type HealthCheckState string

healthCheckState provides information about the status of the health check (for example, the health check may be marked as disabled by the user). +kubebuilder:validation:Enum:=Enabled;Disabled

const (
	// enabled marks the health check as enabled
	HealthCheckEnabled HealthCheckState = "Enabled"
	// disabled marks the health check as disabled
	HealthCheckDisabled HealthCheckState = "Disabled"
)

type HostNetworkStrategy

type HostNetworkStrategy struct {
	// protocol specifies whether the IngressController expects incoming
	// connections to use plain TCP or whether the IngressController expects
	// PROXY protocol.
	//
	// PROXY protocol can be used with load balancers that support it to
	// communicate the source addresses of client connections when
	// forwarding those connections to the IngressController.  Using PROXY
	// protocol enables the IngressController to report those source
	// addresses instead of reporting the load balancer's address in HTTP
	// headers and logs.  Note that enabling PROXY protocol on the
	// IngressController will cause connections to fail if you are not using
	// a load balancer that uses PROXY protocol to forward connections to
	// the IngressController.  See
	// http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for
	// information about PROXY protocol.
	//
	// The following values are valid for this field:
	//
	// * The empty string.
	// * "TCP".
	// * "PROXY".
	//
	// The empty string specifies the default, which is TCP without PROXY
	// protocol.  Note that the default is subject to change.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Protocol IngressControllerProtocol `json:"protocol,omitempty"`

	// httpPort is the port on the host which should be used to listen for
	// HTTP requests. This field should be set when port 80 is already in use.
	// The value should not coincide with the NodePort range of the cluster.
	// When the value is 0 or is not specified it defaults to 80.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=80
	// +optional
	HTTPPort int32 `json:"httpPort,omitempty"`

	// httpsPort is the port on the host which should be used to listen for
	// HTTPS requests. This field should be set when port 443 is already in use.
	// The value should not coincide with the NodePort range of the cluster.
	// When the value is 0 or is not specified it defaults to 443.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=443
	// +optional
	HTTPSPort int32 `json:"httpsPort,omitempty"`

	// statsPort is the port on the host where the stats from the router are
	// published. The value should not coincide with the NodePort range of the
	// cluster. If an external load balancer is configured to forward connections
	// to this IngressController, the load balancer should use this port for
	// health checks. The load balancer can send HTTP probes on this port on a
	// given node, with the path /healthz/ready to determine if the ingress
	// controller is ready to receive traffic on the node. For proper operation
	// the load balancer must not forward traffic to a node until the health
	// check reports ready. The load balancer should also stop forwarding requests
	// within a maximum of 45 seconds after /healthz/ready starts reporting
	// not-ready. Probing every 5 to 10 seconds, with a 5-second timeout and with
	// a threshold of two successful or failed requests to become healthy or
	// unhealthy respectively, are well-tested values. When the value is 0 or
	// is not specified it defaults to 1936.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1936
	// +optional
	StatsPort int32 `json:"statsPort,omitempty"`
}

HostNetworkStrategy holds parameters for the HostNetwork endpoint publishing strategy.

func (*HostNetworkStrategy) DeepCopy

func (in *HostNetworkStrategy) DeepCopy() *HostNetworkStrategy

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

func (*HostNetworkStrategy) DeepCopyInto

func (in *HostNetworkStrategy) DeepCopyInto(out *HostNetworkStrategy)

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

func (HostNetworkStrategy) SwaggerDoc

func (HostNetworkStrategy) SwaggerDoc() map[string]string

type HybridOverlayConfig

type HybridOverlayConfig struct {
	// HybridClusterNetwork defines a network space given to nodes on an additional overlay network.
	HybridClusterNetwork []ClusterNetworkEntry `json:"hybridClusterNetwork"`
	// HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network.
	// Default is 4789
	// +optional
	HybridOverlayVXLANPort *uint32 `json:"hybridOverlayVXLANPort,omitempty"`
}

func (*HybridOverlayConfig) DeepCopy

func (in *HybridOverlayConfig) DeepCopy() *HybridOverlayConfig

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

func (*HybridOverlayConfig) DeepCopyInto

func (in *HybridOverlayConfig) DeepCopyInto(out *HybridOverlayConfig)

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

func (HybridOverlayConfig) SwaggerDoc

func (HybridOverlayConfig) SwaggerDoc() map[string]string

type IBMCloudCSIDriverConfigSpec

type IBMCloudCSIDriverConfigSpec struct {
	// encryptionKeyCRN is the IBM Cloud CRN of the customer-managed root key to use
	// for disk encryption of volumes for the default storage classes.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength:=154
	// +kubebuilder:validation:MinLength:=144
	// +kubebuilder:validation:Pattern:=`^crn:v[0-9]+:bluemix:(public|private):(kms|hs-crypto):[a-z-]+:a/[0-9a-f]+:[0-9a-f-]{36}:key:[0-9a-f-]{36}$`
	EncryptionKeyCRN string `json:"encryptionKeyCRN"`
}

IBMCloudCSIDriverConfigSpec defines the properties that can be configured for the IBM Cloud CSI driver.

func (*IBMCloudCSIDriverConfigSpec) DeepCopy

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

func (*IBMCloudCSIDriverConfigSpec) DeepCopyInto

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

func (IBMCloudCSIDriverConfigSpec) SwaggerDoc

func (IBMCloudCSIDriverConfigSpec) SwaggerDoc() map[string]string

type IBMLoadBalancerParameters

type IBMLoadBalancerParameters struct {
	// protocol specifies whether the load balancer uses PROXY protocol to forward connections to
	// the IngressController. See "service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features:
	// "proxy-protocol"" at https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas"
	//
	// PROXY protocol can be used with load balancers that support it to
	// communicate the source addresses of client connections when
	// forwarding those connections to the IngressController.  Using PROXY
	// protocol enables the IngressController to report those source
	// addresses instead of reporting the load balancer's address in HTTP
	// headers and logs.  Note that enabling PROXY protocol on the
	// IngressController will cause connections to fail if you are not using
	// a load balancer that uses PROXY protocol to forward connections to
	// the IngressController.  See
	// http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for
	// information about PROXY protocol.
	//
	// Valid values for protocol are TCP, PROXY and omitted.
	// When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.
	// The current default is TCP, without the proxy protocol enabled.
	//
	// +optional
	Protocol IngressControllerProtocol `json:"protocol,omitempty"`
}

IBMLoadBalancerParameters provides configuration settings that are specific to IBM Cloud load balancers.

func (*IBMLoadBalancerParameters) DeepCopy

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

func (*IBMLoadBalancerParameters) DeepCopyInto

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

func (IBMLoadBalancerParameters) SwaggerDoc

func (IBMLoadBalancerParameters) SwaggerDoc() map[string]string

type IPAMConfig

type IPAMConfig struct {
	// Type is the type of IPAM module will be used for IP Address Management(IPAM).
	// The supported values are IPAMTypeDHCP, IPAMTypeStatic
	Type IPAMType `json:"type"`

	// StaticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic
	// +optional
	StaticIPAMConfig *StaticIPAMConfig `json:"staticIPAMConfig,omitempty"`
}

IPAMConfig contains configurations for IPAM (IP Address Management)

func (*IPAMConfig) DeepCopy

func (in *IPAMConfig) DeepCopy() *IPAMConfig

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

func (*IPAMConfig) DeepCopyInto

func (in *IPAMConfig) DeepCopyInto(out *IPAMConfig)

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

func (IPAMConfig) SwaggerDoc

func (IPAMConfig) SwaggerDoc() map[string]string

type IPAMType

type IPAMType string

IPAMType describes the IP address management type to configure

const (
	// IPAMTypeDHCP uses DHCP for IP management
	IPAMTypeDHCP IPAMType = "DHCP"
	// IPAMTypeStatic uses static IP
	IPAMTypeStatic IPAMType = "Static"
)

type IPFIXConfig

type IPFIXConfig struct {
	// ipfixCollectors is list of strings formatted as ip:port with a maximum of ten items
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=10
	Collectors []IPPort `json:"collectors,omitempty"`
}

func (*IPFIXConfig) DeepCopy

func (in *IPFIXConfig) DeepCopy() *IPFIXConfig

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

func (*IPFIXConfig) DeepCopyInto

func (in *IPFIXConfig) DeepCopyInto(out *IPFIXConfig)

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

func (IPFIXConfig) SwaggerDoc

func (IPFIXConfig) SwaggerDoc() map[string]string

type IPForwardingMode

type IPForwardingMode string
const (
	// IPForwardingRestricted limits the IP forwarding on OVN-Kube managed interfaces (br-ex, br-ex1) to only required
	// service and other k8s related traffic
	IPForwardingRestricted IPForwardingMode = "Restricted"

	// IPForwardingGlobal allows all IP traffic to be forwarded across OVN-Kube managed interfaces
	IPForwardingGlobal IPForwardingMode = "Global"
)

type IPPort

type IPPort string

+kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$`

type IPsecConfig

type IPsecConfig struct {
	// mode defines the behaviour of the ipsec configuration within the platform.
	// Valid values are `Disabled`, `External` and `Full`.
	// When 'Disabled', ipsec will not be enabled at the node level.
	// When 'External', ipsec is enabled on the node level but requires the user to configure the secure communication parameters.
	// This mode is for external secure communications and the configuration can be done using the k8s-nmstate operator.
	// When 'Full', ipsec is configured on the node level and inter-pod secure communication within the cluster is configured.
	// Note with `Full`, if ipsec is desired for communication with external (to the cluster) entities (such as storage arrays),
	// this is left to the user to configure.
	// +kubebuilder:validation:Enum=Disabled;External;Full
	// +optional
	Mode IPsecMode `json:"mode,omitempty"`
}

+kubebuilder:validation:XValidation:rule="self == oldSelf || has(self.mode)",message="ipsecConfig.mode is required"

func (*IPsecConfig) DeepCopy

func (in *IPsecConfig) DeepCopy() *IPsecConfig

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

func (*IPsecConfig) DeepCopyInto

func (in *IPsecConfig) DeepCopyInto(out *IPsecConfig)

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

func (IPsecConfig) SwaggerDoc

func (IPsecConfig) SwaggerDoc() map[string]string

type IPsecMode

type IPsecMode string

IPsecMode enumerates the modes for IPsec configuration

const (
	// IPsecModeDisabled disables IPsec altogether
	IPsecModeDisabled IPsecMode = "Disabled"
	// IPsecModeExternal enables IPsec on the node level, but expects the user to configure it using k8s-nmstate or
	// other means - it is most useful for secure communication from the cluster to external endpoints
	IPsecModeExternal IPsecMode = "External"
	// IPsecModeFull enables IPsec on the node level (the same as IPsecModeExternal), and configures it to secure communication
	// between pods on the cluster network.
	IPsecModeFull IPsecMode = "Full"
)

type IPv4GatewayConfig

type IPv4GatewayConfig struct {
	// internalMasqueradeSubnet contains the masquerade addresses in IPV4 CIDR format used internally by
	// ovn-kubernetes to enable host to service traffic. Each host in the cluster is configured with these
	// addresses, as well as the shared gateway bridge interface. The values can be changed after
	// installation. The subnet chosen should not overlap with other networks specified for
	// OVN-Kubernetes as well as other networks used on the host. Additionally the subnet must
	// be large enough to accommodate 6 IPs (maximum prefix length /29).
	// When omitted, this means no opinion and the platform is left to choose a reasonable default which is subject to change over time.
	// The current default subnet is 169.254.169.0/29
	// The value must be in proper IPV4 CIDR format
	// +kubebuilder:validation:MaxLength=18
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 4",message="Subnet must be in valid IPV4 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 29",message="subnet must be in the range /0 to /29 inclusive"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && int(self.split('.')[0]) > 0",message="first IP address octet must not be 0"
	// +optional
	InternalMasqueradeSubnet string `json:"internalMasqueradeSubnet,omitempty"`
}

IPV4GatewayConfig holds the configuration paramaters for IPV4 connections in the GatewayConfig for OVN-Kubernetes

func (*IPv4GatewayConfig) DeepCopy

func (in *IPv4GatewayConfig) DeepCopy() *IPv4GatewayConfig

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

func (*IPv4GatewayConfig) DeepCopyInto

func (in *IPv4GatewayConfig) DeepCopyInto(out *IPv4GatewayConfig)

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

func (IPv4GatewayConfig) SwaggerDoc

func (IPv4GatewayConfig) SwaggerDoc() map[string]string

type IPv4OVNKubernetesConfig

type IPv4OVNKubernetesConfig struct {
	// internalTransitSwitchSubnet is a v4 subnet in IPV4 CIDR format used internally
	// by OVN-Kubernetes for the distributed transit switch in the OVN Interconnect
	// architecture that connects the cluster routers on each node together to enable
	// east west traffic. The subnet chosen should not overlap with other networks
	// specified for OVN-Kubernetes as well as other networks used on the host.
	// The value cannot be changed after installation.
	// When ommitted, this means no opinion and the platform is left to choose a reasonable
	// default which is subject to change over time.
	// The current default subnet is 100.88.0.0/16
	// The subnet must be large enough to accomadate one IP per node in your cluster
	// The value must be in proper IPV4 CIDR format
	// +kubebuilder:validation:MaxLength=18
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 4",message="Subnet must be in valid IPV4 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 30",message="subnet must be in the range /0 to /30 inclusive"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && int(self.split('.')[0]) > 0",message="first IP address octet must not be 0"
	// +optional
	InternalTransitSwitchSubnet string `json:"internalTransitSwitchSubnet,omitempty"`
	// internalJoinSubnet is a v4 subnet used internally by ovn-kubernetes in case the
	// default one is being already used by something else. It must not overlap with
	// any other subnet being used by OpenShift or by the node network. The size of the
	// subnet must be larger than the number of nodes. The value cannot be changed
	// after installation.
	// The current default value is 100.64.0.0/16
	// The subnet must be large enough to accomadate one IP per node in your cluster
	// The value must be in proper IPV4 CIDR format
	// +kubebuilder:validation:MaxLength=18
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 4",message="Subnet must be in valid IPV4 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 30",message="subnet must be in the range /0 to /30 inclusive"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && int(self.split('.')[0]) > 0",message="first IP address octet must not be 0"
	// +optional
	InternalJoinSubnet string `json:"internalJoinSubnet,omitempty"`
}

func (*IPv4OVNKubernetesConfig) DeepCopy

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

func (*IPv4OVNKubernetesConfig) DeepCopyInto

func (in *IPv4OVNKubernetesConfig) DeepCopyInto(out *IPv4OVNKubernetesConfig)

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

func (IPv4OVNKubernetesConfig) SwaggerDoc

func (IPv4OVNKubernetesConfig) SwaggerDoc() map[string]string

type IPv6GatewayConfig

type IPv6GatewayConfig struct {
	// internalMasqueradeSubnet contains the masquerade addresses in IPV6 CIDR format used internally by
	// ovn-kubernetes to enable host to service traffic. Each host in the cluster is configured with these
	// addresses, as well as the shared gateway bridge interface. The values can be changed after
	// installation. The subnet chosen should not overlap with other networks specified for
	// OVN-Kubernetes as well as other networks used on the host. Additionally the subnet must
	// be large enough to accommodate 6 IPs (maximum prefix length /125).
	// When omitted, this means no opinion and the platform is left to choose a reasonable default which is subject to change over time.
	// The current default subnet is fd69::/125
	// Note that IPV6 dual addresses are not permitted
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 6",message="Subnet must be in valid IPV6 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 125",message="subnet must be in the range /0 to /125 inclusive"
	// +optional
	InternalMasqueradeSubnet string `json:"internalMasqueradeSubnet,omitempty"`
}

IPV6GatewayConfig holds the configuration paramaters for IPV6 connections in the GatewayConfig for OVN-Kubernetes

func (*IPv6GatewayConfig) DeepCopy

func (in *IPv6GatewayConfig) DeepCopy() *IPv6GatewayConfig

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

func (*IPv6GatewayConfig) DeepCopyInto

func (in *IPv6GatewayConfig) DeepCopyInto(out *IPv6GatewayConfig)

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

func (IPv6GatewayConfig) SwaggerDoc

func (IPv6GatewayConfig) SwaggerDoc() map[string]string

type IPv6OVNKubernetesConfig

type IPv6OVNKubernetesConfig struct {
	// internalTransitSwitchSubnet is a v4 subnet in IPV4 CIDR format used internally
	// by OVN-Kubernetes for the distributed transit switch in the OVN Interconnect
	// architecture that connects the cluster routers on each node together to enable
	// east west traffic. The subnet chosen should not overlap with other networks
	// specified for OVN-Kubernetes as well as other networks used on the host.
	// The value cannot be changed after installation.
	// When ommitted, this means no opinion and the platform is left to choose a reasonable
	// default which is subject to change over time.
	// The subnet must be large enough to accomadate one IP per node in your cluster
	// The current default subnet is fd97::/64
	// The value must be in proper IPV6 CIDR format
	// Note that IPV6 dual addresses are not permitted
	// +kubebuilder:validation:MaxLength=48
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 6",message="Subnet must be in valid IPV6 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 125",message="subnet must be in the range /0 to /125 inclusive"
	// +optional
	InternalTransitSwitchSubnet string `json:"internalTransitSwitchSubnet,omitempty"`
	// internalJoinSubnet is a v6 subnet used internally by ovn-kubernetes in case the
	// default one is being already used by something else. It must not overlap with
	// any other subnet being used by OpenShift or by the node network. The size of the
	// subnet must be larger than the number of nodes. The value cannot be changed
	// after installation.
	// The subnet must be large enough to accomadate one IP per node in your cluster
	// The current default value is fd98::/48
	// The value must be in proper IPV6 CIDR format
	// Note that IPV6 dual addresses are not permitted
	// +kubebuilder:validation:MaxLength=48
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).ip().family() == 6",message="Subnet must be in valid IPV6 CIDR format"
	// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self).prefixLength() <= 125",message="subnet must be in the range /0 to /125 inclusive"
	// +optional
	InternalJoinSubnet string `json:"internalJoinSubnet,omitempty"`
}

func (*IPv6OVNKubernetesConfig) DeepCopy

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

func (*IPv6OVNKubernetesConfig) DeepCopyInto

func (in *IPv6OVNKubernetesConfig) DeepCopyInto(out *IPv6OVNKubernetesConfig)

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

func (IPv6OVNKubernetesConfig) SwaggerDoc

func (IPv6OVNKubernetesConfig) SwaggerDoc() map[string]string

type IngressController

type IngressController struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification of the desired behavior of the IngressController.
	Spec IngressControllerSpec `json:"spec,omitempty"`
	// status is the most recently observed status of the IngressController.
	Status IngressControllerStatus `json:"status,omitempty"`
}

IngressController describes a managed ingress controller for the cluster. The controller can service OpenShift Route and Kubernetes Ingress resources.

When an IngressController is created, a new ingress controller deployment is created to allow external traffic to reach the services that expose Ingress or Route resources. Updating this resource may lead to disruption for public facing network connections as a new ingress controller revision may be rolled out.

https://kubernetes.io/docs/concepts/services-networking/ingress-controllers

Whenever possible, sensible defaults for the platform are used. See each field for more details.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*IngressController) DeepCopy

func (in *IngressController) DeepCopy() *IngressController

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

func (*IngressController) DeepCopyInto

func (in *IngressController) DeepCopyInto(out *IngressController)

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

func (*IngressController) DeepCopyObject

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

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

func (IngressController) SwaggerDoc

func (IngressController) SwaggerDoc() map[string]string

type IngressControllerCaptureHTTPCookie

type IngressControllerCaptureHTTPCookie struct {
	IngressControllerCaptureHTTPCookieUnion `json:",inline"`

	// maxLength specifies a maximum length of the string that will be
	// logged, which includes the cookie name, cookie value, and
	// one-character delimiter.  If the log entry exceeds this length, the
	// value will be truncated in the log message.  Note that the ingress
	// controller may impose a separate bound on the total length of HTTP
	// headers in a request.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1024
	// +required
	MaxLength int `json:"maxLength"`
}

IngressControllerCaptureHTTPCookie describes an HTTP cookie that should be captured.

func (*IngressControllerCaptureHTTPCookie) DeepCopy

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

func (*IngressControllerCaptureHTTPCookie) DeepCopyInto

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

func (IngressControllerCaptureHTTPCookie) SwaggerDoc

type IngressControllerCaptureHTTPCookieUnion

type IngressControllerCaptureHTTPCookieUnion struct {
	// matchType specifies the type of match to be performed on the cookie
	// name.  Allowed values are "Exact" for an exact string match and
	// "Prefix" for a string prefix match.  If "Exact" is specified, a name
	// must be specified in the name field.  If "Prefix" is provided, a
	// prefix must be specified in the namePrefix field.  For example,
	// specifying matchType "Prefix" and namePrefix "foo" will capture a
	// cookie named "foo" or "foobar" but not one named "bar".  The first
	// matching cookie is captured.
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	// +required
	MatchType CookieMatchType `json:"matchType,omitempty"`

	// name specifies a cookie name.  Its value must be a valid HTTP cookie
	// name as defined in RFC 6265 section 4.1.
	//
	// +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]*$"
	// +kubebuilder:validation:MinLength=0
	// +kubebuilder:validation:MaxLength=1024
	// +optional
	Name string `json:"name"`

	// namePrefix specifies a cookie name prefix.  Its value must be a valid
	// HTTP cookie name as defined in RFC 6265 section 4.1.
	//
	// +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]*$"
	// +kubebuilder:validation:MinLength=0
	// +kubebuilder:validation:MaxLength=1024
	// +optional
	NamePrefix string `json:"namePrefix"`
}

IngressControllerCaptureHTTPCookieUnion describes optional fields of an HTTP cookie that should be captured. +union

func (*IngressControllerCaptureHTTPCookieUnion) DeepCopy

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

func (*IngressControllerCaptureHTTPCookieUnion) DeepCopyInto

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

func (IngressControllerCaptureHTTPCookieUnion) SwaggerDoc

type IngressControllerCaptureHTTPHeader

type IngressControllerCaptureHTTPHeader struct {
	// name specifies a header name.  Its value must be a valid HTTP header
	// name as defined in RFC 2616 section 4.2.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$"
	// +required
	Name string `json:"name"`

	// maxLength specifies a maximum length for the header value.  If a
	// header value exceeds this length, the value will be truncated in the
	// log message.  Note that the ingress controller may impose a separate
	// bound on the total length of HTTP headers in a request.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +required
	MaxLength int `json:"maxLength"`
}

IngressControllerCaptureHTTPHeader describes an HTTP header that should be captured.

func (*IngressControllerCaptureHTTPHeader) DeepCopy

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

func (*IngressControllerCaptureHTTPHeader) DeepCopyInto

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

func (IngressControllerCaptureHTTPHeader) SwaggerDoc

type IngressControllerCaptureHTTPHeaders

type IngressControllerCaptureHTTPHeaders struct {
	// request specifies which HTTP request headers to capture.
	//
	// If this field is empty, no request headers are captured.
	//
	// +nullable
	// +optional
	Request []IngressControllerCaptureHTTPHeader `json:"request,omitempty"`

	// response specifies which HTTP response headers to capture.
	//
	// If this field is empty, no response headers are captured.
	//
	// +nullable
	// +optional
	Response []IngressControllerCaptureHTTPHeader `json:"response,omitempty"`
}

IngressControllerCaptureHTTPHeaders specifies which HTTP headers the IngressController captures.

func (*IngressControllerCaptureHTTPHeaders) DeepCopy

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

func (*IngressControllerCaptureHTTPHeaders) DeepCopyInto

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

func (IngressControllerCaptureHTTPHeaders) SwaggerDoc

type IngressControllerHTTPHeader

type IngressControllerHTTPHeader struct {
	// name specifies the name of a header on which to perform an action. Its value must be a valid HTTP header
	// name as defined in RFC 2616 section 4.2.
	// The name must consist only of alphanumeric and the following special characters, "-!#$%&'*+.^_`".
	// The following header names are reserved and may not be modified via this API:
	// Strict-Transport-Security, Proxy, Host, Cookie, Set-Cookie.
	// It must be no more than 255 characters in length.
	// Header name must be unique.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$"
	// +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'strict-transport-security'",message="strict-transport-security header may not be modified via header actions"
	// +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'proxy'",message="proxy header may not be modified via header actions"
	// +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'host'",message="host header may not be modified via header actions"
	// +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'cookie'",message="cookie header may not be modified via header actions"
	// +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'set-cookie'",message="set-cookie header may not be modified via header actions"
	Name string `json:"name"`
	// action specifies actions to perform on headers, such as setting or deleting headers.
	// +kubebuilder:validation:Required
	Action IngressControllerHTTPHeaderActionUnion `json:"action"`
}

IngressControllerHTTPHeader specifies configuration for setting or deleting an HTTP header.

func (*IngressControllerHTTPHeader) DeepCopy

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

func (*IngressControllerHTTPHeader) DeepCopyInto

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

func (IngressControllerHTTPHeader) SwaggerDoc

func (IngressControllerHTTPHeader) SwaggerDoc() map[string]string

type IngressControllerHTTPHeaderActionType

type IngressControllerHTTPHeaderActionType string

IngressControllerHTTPHeaderActionType defines actions that can be performed on HTTP headers.

const (
	// Set specifies that an HTTP header should be set.
	Set IngressControllerHTTPHeaderActionType = "Set"
	// Delete specifies that an HTTP header should be deleted.
	Delete IngressControllerHTTPHeaderActionType = "Delete"
)

type IngressControllerHTTPHeaderActionUnion

type IngressControllerHTTPHeaderActionUnion struct {
	// type defines the type of the action to be applied on the header.
	// Possible values are Set or Delete.
	// Set allows you to set HTTP request and response headers.
	// Delete allows you to delete HTTP request and response headers.
	// +unionDiscriminator
	// +kubebuilder:validation:Enum:=Set;Delete
	// +kubebuilder:validation:Required
	Type IngressControllerHTTPHeaderActionType `json:"type"`

	// set specifies how the HTTP header should be set.
	// This field is required when type is Set and forbidden otherwise.
	// +optional
	// +unionMember
	Set *IngressControllerSetHTTPHeader `json:"set,omitempty"`
}

IngressControllerHTTPHeaderActionUnion specifies an action to take on an HTTP header. +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Set' ? has(self.set) : !has(self.set)",message="set is required when type is Set, and forbidden otherwise" +union

func (*IngressControllerHTTPHeaderActionUnion) DeepCopy

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

func (*IngressControllerHTTPHeaderActionUnion) DeepCopyInto

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

func (IngressControllerHTTPHeaderActionUnion) SwaggerDoc

type IngressControllerHTTPHeaderActions

type IngressControllerHTTPHeaderActions struct {
	// response is a list of HTTP response headers to modify.
	// Actions defined here will modify the response headers of all requests passing through an ingress controller.
	// These actions are applied to all Routes i.e. for all connections handled by the ingress controller defined within a cluster.
	// IngressController actions for response headers will be executed after Route actions.
	// Currently, actions may define to either `Set` or `Delete` headers values.
	// Actions are applied in sequence as defined in this list.
	// A maximum of 20 response header actions may be configured.
	// Sample fetchers allowed are "res.hdr" and "ssl_c_der".
	// Converters allowed are "lower" and "base64".
	// Example header values: "%[res.hdr(X-target),lower]", "%{+Q}[ssl_c_der,base64]".
	// +listType=map
	// +listMapKey=name
	// +optional
	// +kubebuilder:validation:MaxItems=20
	// +kubebuilder:validation:XValidation:rule=`self.all(key, key.action.type == "Delete" || (has(key.action.set) && key.action.set.value.matches('^(?:%(?:%|(?:\\{[-+]?[QXE](?:,[-+]?[QXE])*\\})?\\[(?:res\\.hdr\\([0-9A-Za-z-]+\\)|ssl_c_der)(?:,(?:lower|base64))*\\])|[^%[:cntrl:]])+$')))`,message="Either the header value provided is not in correct format or the sample fetcher/converter specified is not allowed. The dynamic header value will be interpreted as an HAProxy format string as defined in http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 and may use HAProxy's %[] syntax and otherwise must be a valid HTTP header value as defined in https://datatracker.ietf.org/doc/html/rfc7230#section-3.2. Sample fetchers allowed are res.hdr, ssl_c_der. Converters allowed are lower, base64."
	Response []IngressControllerHTTPHeader `json:"response"`
	// request is a list of HTTP request headers to modify.
	// Actions defined here will modify the request headers of all requests passing through an ingress controller.
	// These actions are applied to all Routes i.e. for all connections handled by the ingress controller defined within a cluster.
	// IngressController actions for request headers will be executed before Route actions.
	// Currently, actions may define to either `Set` or `Delete` headers values.
	// Actions are applied in sequence as defined in this list.
	// A maximum of 20 request header actions may be configured.
	// Sample fetchers allowed are "req.hdr" and "ssl_c_der".
	// Converters allowed are "lower" and "base64".
	// Example header values: "%[req.hdr(X-target),lower]", "%{+Q}[ssl_c_der,base64]".
	// + ---
	// + Note: Any change to regex mentioned below must be reflected in the CRD validation of route in https://github.com/openshift/library-go/blob/master/pkg/route/validation/validation.go and vice-versa.
	// +listType=map
	// +listMapKey=name
	// +optional
	// +kubebuilder:validation:MaxItems=20
	// +kubebuilder:validation:XValidation:rule=`self.all(key, key.action.type == "Delete" || (has(key.action.set) && key.action.set.value.matches('^(?:%(?:%|(?:\\{[-+]?[QXE](?:,[-+]?[QXE])*\\})?\\[(?:req\\.hdr\\([0-9A-Za-z-]+\\)|ssl_c_der)(?:,(?:lower|base64))*\\])|[^%[:cntrl:]])+$')))`,message="Either the header value provided is not in correct format or the sample fetcher/converter specified is not allowed. The dynamic header value will be interpreted as an HAProxy format string as defined in http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 and may use HAProxy's %[] syntax and otherwise must be a valid HTTP header value as defined in https://datatracker.ietf.org/doc/html/rfc7230#section-3.2. Sample fetchers allowed are req.hdr, ssl_c_der. Converters allowed are lower, base64."
	Request []IngressControllerHTTPHeader `json:"request"`
}

IngressControllerHTTPHeaderActions defines configuration for actions on HTTP request and response headers.

func (*IngressControllerHTTPHeaderActions) DeepCopy

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

func (*IngressControllerHTTPHeaderActions) DeepCopyInto

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

func (IngressControllerHTTPHeaderActions) SwaggerDoc

type IngressControllerHTTPHeaderNameCaseAdjustment

type IngressControllerHTTPHeaderNameCaseAdjustment string

IngressControllerHTTPHeaderNameCaseAdjustment is the name of an HTTP header (for example, "X-Forwarded-For") in the desired capitalization. The value must be a valid HTTP header name as defined in RFC 2616 section 4.2.

+optional +kubebuilder:validation:Pattern="^$|^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$" +kubebuilder:validation:MinLength=0 +kubebuilder:validation:MaxLength=1024

type IngressControllerHTTPHeaderPolicy

type IngressControllerHTTPHeaderPolicy string

IngressControllerHTTPHeaderPolicy is a policy for setting HTTP headers.

+kubebuilder:validation:Enum=Append;Replace;IfNone;Never

const (
	// AppendHTTPHeaderPolicy appends the header, preserving any existing header.
	AppendHTTPHeaderPolicy IngressControllerHTTPHeaderPolicy = "Append"
	// ReplaceHTTPHeaderPolicy sets the header, removing any existing header.
	ReplaceHTTPHeaderPolicy IngressControllerHTTPHeaderPolicy = "Replace"
	// IfNoneHTTPHeaderPolicy sets the header if it is not already set.
	IfNoneHTTPHeaderPolicy IngressControllerHTTPHeaderPolicy = "IfNone"
	// NeverHTTPHeaderPolicy never sets the header, preserving any existing
	// header.
	NeverHTTPHeaderPolicy IngressControllerHTTPHeaderPolicy = "Never"
)

type IngressControllerHTTPHeaders

type IngressControllerHTTPHeaders struct {
	// forwardedHeaderPolicy specifies when and how the IngressController
	// sets the Forwarded, X-Forwarded-For, X-Forwarded-Host,
	// X-Forwarded-Port, X-Forwarded-Proto, and X-Forwarded-Proto-Version
	// HTTP headers.  The value may be one of the following:
	//
	// * "Append", which specifies that the IngressController appends the
	//   headers, preserving existing headers.
	//
	// * "Replace", which specifies that the IngressController sets the
	//   headers, replacing any existing Forwarded or X-Forwarded-* headers.
	//
	// * "IfNone", which specifies that the IngressController sets the
	//   headers if they are not already set.
	//
	// * "Never", which specifies that the IngressController never sets the
	//   headers, preserving any existing headers.
	//
	// By default, the policy is "Append".
	//
	// +optional
	ForwardedHeaderPolicy IngressControllerHTTPHeaderPolicy `json:"forwardedHeaderPolicy,omitempty"`

	// uniqueId describes configuration for a custom HTTP header that the
	// ingress controller should inject into incoming HTTP requests.
	// Typically, this header is configured to have a value that is unique
	// to the HTTP request.  The header can be used by applications or
	// included in access logs to facilitate tracing individual HTTP
	// requests.
	//
	// If this field is empty, no such header is injected into requests.
	//
	// +optional
	UniqueId IngressControllerHTTPUniqueIdHeaderPolicy `json:"uniqueId,omitempty"`

	// headerNameCaseAdjustments specifies case adjustments that can be
	// applied to HTTP header names.  Each adjustment is specified as an
	// HTTP header name with the desired capitalization.  For example,
	// specifying "X-Forwarded-For" indicates that the "x-forwarded-for"
	// HTTP header should be adjusted to have the specified capitalization.
	//
	// These adjustments are only applied to cleartext, edge-terminated, and
	// re-encrypt routes, and only when using HTTP/1.
	//
	// For request headers, these adjustments are applied only for routes
	// that have the haproxy.router.openshift.io/h1-adjust-case=true
	// annotation.  For response headers, these adjustments are applied to
	// all HTTP responses.
	//
	// If this field is empty, no request headers are adjusted.
	//
	// +nullable
	// +optional
	HeaderNameCaseAdjustments []IngressControllerHTTPHeaderNameCaseAdjustment `json:"headerNameCaseAdjustments,omitempty"`

	// actions specifies options for modifying headers and their values.
	// Note that this option only applies to cleartext HTTP connections
	// and to secure HTTP connections for which the ingress controller
	// terminates encryption (that is, edge-terminated or reencrypt
	// connections).  Headers cannot be modified for TLS passthrough
	// connections.
	// Setting the HSTS (`Strict-Transport-Security`) header is not supported via actions. `Strict-Transport-Security`
	// may only be configured using the "haproxy.router.openshift.io/hsts_header" route annotation, and only in
	// accordance with the policy specified in Ingress.Spec.RequiredHSTSPolicies.
	// Any actions defined here are applied after any actions related to the following other fields:
	// cache-control, spec.clientTLS,
	// spec.httpHeaders.forwardedHeaderPolicy, spec.httpHeaders.uniqueId,
	// and spec.httpHeaders.headerNameCaseAdjustments.
	// In case of HTTP request headers, the actions specified in spec.httpHeaders.actions on the Route will be executed after
	// the actions specified in the IngressController's spec.httpHeaders.actions field.
	// In case of HTTP response headers, the actions specified in spec.httpHeaders.actions on the IngressController will be
	// executed after the actions specified in the Route's spec.httpHeaders.actions field.
	// Headers set using this API cannot be captured for use in access logs.
	// The following header names are reserved and may not be modified via this API:
	// Strict-Transport-Security, Proxy, Host, Cookie, Set-Cookie.
	// Note that the total size of all net added headers *after* interpolating dynamic values
	// must not exceed the value of spec.tuningOptions.headerBufferMaxRewriteBytes on the
	// IngressController. Please refer to the documentation
	// for that API field for more details.
	// +optional
	Actions IngressControllerHTTPHeaderActions `json:"actions,omitempty"`
}

IngressControllerHTTPHeaders specifies how the IngressController handles certain HTTP headers.

func (*IngressControllerHTTPHeaders) DeepCopy

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

func (*IngressControllerHTTPHeaders) DeepCopyInto

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

func (IngressControllerHTTPHeaders) SwaggerDoc

func (IngressControllerHTTPHeaders) SwaggerDoc() map[string]string

type IngressControllerHTTPUniqueIdHeaderPolicy

type IngressControllerHTTPUniqueIdHeaderPolicy struct {
	// name specifies the name of the HTTP header (for example, "unique-id")
	// that the ingress controller should inject into HTTP requests.  The
	// field's value must be a valid HTTP header name as defined in RFC 2616
	// section 4.2.  If the field is empty, no header is injected.
	//
	// +optional
	// +kubebuilder:validation:Pattern="^$|^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$"
	// +kubebuilder:validation:MinLength=0
	// +kubebuilder:validation:MaxLength=1024
	Name string `json:"name,omitempty"`

	// format specifies the format for the injected HTTP header's value.
	// This field has no effect unless name is specified.  For the
	// HAProxy-based ingress controller implementation, this format uses the
	// same syntax as the HTTP log format.  If the field is empty, the
	// default value is "%{+X}o\\ %ci:%cp_%fi:%fp_%Ts_%rt:%pid"; see the
	// corresponding HAProxy documentation:
	// http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3
	//
	// +optional
	// +kubebuilder:validation:Pattern="^(%(%|(\\{[-+]?[QXE](,[-+]?[QXE])*\\})?([A-Za-z]+|\\[[.0-9A-Z_a-z]+(\\([^)]+\\))?(,[.0-9A-Z_a-z]+(\\([^)]+\\))?)*\\]))|[^%[:cntrl:]])*$"
	// +kubebuilder:validation:MinLength=0
	// +kubebuilder:validation:MaxLength=1024
	Format string `json:"format,omitempty"`
}

IngressControllerHTTPUniqueIdHeaderPolicy describes configuration for a unique id header.

func (*IngressControllerHTTPUniqueIdHeaderPolicy) DeepCopy

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

func (*IngressControllerHTTPUniqueIdHeaderPolicy) DeepCopyInto

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

func (IngressControllerHTTPUniqueIdHeaderPolicy) SwaggerDoc

type IngressControllerList

type IngressControllerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

IngressControllerList contains a list of IngressControllers.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*IngressControllerList) DeepCopy

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

func (*IngressControllerList) DeepCopyInto

func (in *IngressControllerList) DeepCopyInto(out *IngressControllerList)

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

func (*IngressControllerList) DeepCopyObject

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

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

func (IngressControllerList) SwaggerDoc

func (IngressControllerList) SwaggerDoc() map[string]string

type IngressControllerLogging

type IngressControllerLogging struct {
	// access describes how the client requests should be logged.
	//
	// If this field is empty, access logging is disabled.
	//
	// +optional
	Access *AccessLogging `json:"access,omitempty"`
}

IngressControllerLogging describes what should be logged where.

func (*IngressControllerLogging) DeepCopy

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

func (*IngressControllerLogging) DeepCopyInto

func (in *IngressControllerLogging) DeepCopyInto(out *IngressControllerLogging)

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

func (IngressControllerLogging) SwaggerDoc

func (IngressControllerLogging) SwaggerDoc() map[string]string

type IngressControllerProtocol

type IngressControllerProtocol string

IngressControllerProtocol specifies whether PROXY protocol is enabled or not. +kubebuilder:validation:Enum="";TCP;PROXY

const (
	DefaultProtocol IngressControllerProtocol = ""
	TCPProtocol     IngressControllerProtocol = "TCP"
	ProxyProtocol   IngressControllerProtocol = "PROXY"
)

type IngressControllerSetHTTPHeader

type IngressControllerSetHTTPHeader struct {
	// value specifies a header value.
	// Dynamic values can be added. The value will be interpreted as an HAProxy format string as defined in
	// http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6  and may use HAProxy's %[] syntax and
	// otherwise must be a valid HTTP header value as defined in https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.
	// The value of this field must be no more than 16384 characters in length.
	// Note that the total size of all net added headers *after* interpolating dynamic values
	// must not exceed the value of spec.tuningOptions.headerBufferMaxRewriteBytes on the
	// IngressController.
	// + ---
	// + Note: This limit was selected as most common web servers have a limit of 16384 characters or some lower limit.
	// + See <https://www.geekersdigest.com/max-http-request-header-size-server-comparison/>.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=16384
	Value string `json:"value"`
}

IngressControllerSetHTTPHeader defines the value which needs to be set on an HTTP header.

func (*IngressControllerSetHTTPHeader) DeepCopy

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

func (*IngressControllerSetHTTPHeader) DeepCopyInto

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

func (IngressControllerSetHTTPHeader) SwaggerDoc

func (IngressControllerSetHTTPHeader) SwaggerDoc() map[string]string

type IngressControllerSpec

type IngressControllerSpec struct {
	// domain is a DNS name serviced by the ingress controller and is used to
	// configure multiple features:
	//
	// * For the LoadBalancerService endpoint publishing strategy, domain is
	//   used to configure DNS records. See endpointPublishingStrategy.
	//
	// * When using a generated default certificate, the certificate will be valid
	//   for domain and its subdomains. See defaultCertificate.
	//
	// * The value is published to individual Route statuses so that end-users
	//   know where to target external DNS records.
	//
	// domain must be unique among all IngressControllers, and cannot be
	// updated.
	//
	// If empty, defaults to ingress.config.openshift.io/cluster .spec.domain.
	//
	// +optional
	Domain string `json:"domain,omitempty"`

	// httpErrorCodePages specifies a configmap with custom error pages.
	// The administrator must create this configmap in the openshift-config namespace.
	// This configmap should have keys in the format "error-page-<error code>.http",
	// where <error code> is an HTTP error code.
	// For example, "error-page-503.http" defines an error page for HTTP 503 responses.
	// Currently only error pages for 503 and 404 responses can be customized.
	// Each value in the configmap should be the full response, including HTTP headers.
	// Eg- https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http
	// If this field is empty, the ingress controller uses the default error pages.
	HttpErrorCodePages configv1.ConfigMapNameReference `json:"httpErrorCodePages,omitempty"`

	// replicas is the desired number of ingress controller replicas. If unset,
	// the default depends on the value of the defaultPlacement field in the
	// cluster config.openshift.io/v1/ingresses status.
	//
	// The value of replicas is set based on the value of a chosen field in the
	// Infrastructure CR. If defaultPlacement is set to ControlPlane, the
	// chosen field will be controlPlaneTopology. If it is set to Workers the
	// chosen field will be infrastructureTopology. Replicas will then be set to 1
	// or 2 based whether the chosen field's value is SingleReplica or
	// HighlyAvailable, respectively.
	//
	// These defaults are subject to change.
	//
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// endpointPublishingStrategy is used to publish the ingress controller
	// endpoints to other networks, enable load balancer integrations, etc.
	//
	// If unset, the default is based on
	// infrastructure.config.openshift.io/cluster .status.platform:
	//
	//   AWS:          LoadBalancerService (with External scope)
	//   Azure:        LoadBalancerService (with External scope)
	//   GCP:          LoadBalancerService (with External scope)
	//   IBMCloud:     LoadBalancerService (with External scope)
	//   AlibabaCloud: LoadBalancerService (with External scope)
	//   Libvirt:      HostNetwork
	//
	// Any other platform types (including None) default to HostNetwork.
	//
	// endpointPublishingStrategy cannot be updated.
	//
	// +optional
	EndpointPublishingStrategy *EndpointPublishingStrategy `json:"endpointPublishingStrategy,omitempty"`

	// defaultCertificate is a reference to a secret containing the default
	// certificate served by the ingress controller. When Routes don't specify
	// their own certificate, defaultCertificate is used.
	//
	// The secret must contain the following keys and data:
	//
	//   tls.crt: certificate file contents
	//   tls.key: key file contents
	//
	// If unset, a wildcard certificate is automatically generated and used. The
	// certificate is valid for the ingress controller domain (and subdomains) and
	// the generated certificate's CA will be automatically integrated with the
	// cluster's trust store.
	//
	// If a wildcard certificate is used and shared by multiple
	// HTTP/2 enabled routes (which implies ALPN) then clients
	// (i.e., notably browsers) are at liberty to reuse open
	// connections. This means a client can reuse a connection to
	// another route and that is likely to fail. This behaviour is
	// generally known as connection coalescing.
	//
	// The in-use certificate (whether generated or user-specified) will be
	// automatically integrated with OpenShift's built-in OAuth server.
	//
	// +optional
	DefaultCertificate *corev1.LocalObjectReference `json:"defaultCertificate,omitempty"`

	// namespaceSelector is used to filter the set of namespaces serviced by the
	// ingress controller. This is useful for implementing shards.
	//
	// If unset, the default is no filtering.
	//
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// routeSelector is used to filter the set of Routes serviced by the ingress
	// controller. This is useful for implementing shards.
	//
	// If unset, the default is no filtering.
	//
	// +optional
	RouteSelector *metav1.LabelSelector `json:"routeSelector,omitempty"`

	// nodePlacement enables explicit control over the scheduling of the ingress
	// controller.
	//
	// If unset, defaults are used. See NodePlacement for more details.
	//
	// +optional
	NodePlacement *NodePlacement `json:"nodePlacement,omitempty"`

	// tlsSecurityProfile specifies settings for TLS connections for ingresscontrollers.
	//
	// If unset, the default is based on the apiservers.config.openshift.io/cluster resource.
	//
	// Note that when using the Old, Intermediate, and Modern profile types, the effective
	// profile configuration is subject to change between releases. For example, given
	// a specification to use the Intermediate profile deployed on release X.Y.Z, an upgrade
	// to release X.Y.Z+1 may cause a new profile configuration to be applied to the ingress
	// controller, resulting in a rollout.
	//
	// +optional
	TLSSecurityProfile *configv1.TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"`

	// clientTLS specifies settings for requesting and verifying client
	// certificates, which can be used to enable mutual TLS for
	// edge-terminated and reencrypt routes.
	//
	// +optional
	ClientTLS ClientTLS `json:"clientTLS"`

	// routeAdmission defines a policy for handling new route claims (for example,
	// to allow or deny claims across namespaces).
	//
	// If empty, defaults will be applied. See specific routeAdmission fields
	// for details about their defaults.
	//
	// +optional
	RouteAdmission *RouteAdmissionPolicy `json:"routeAdmission,omitempty"`

	// logging defines parameters for what should be logged where.  If this
	// field is empty, operational logs are enabled but access logs are
	// disabled.
	//
	// +optional
	Logging *IngressControllerLogging `json:"logging,omitempty"`

	// httpHeaders defines policy for HTTP headers.
	//
	// If this field is empty, the default values are used.
	//
	// +optional
	HTTPHeaders *IngressControllerHTTPHeaders `json:"httpHeaders,omitempty"`

	// httpEmptyRequestsPolicy describes how HTTP connections should be
	// handled if the connection times out before a request is received.
	// Allowed values for this field are "Respond" and "Ignore".  If the
	// field is set to "Respond", the ingress controller sends an HTTP 400
	// or 408 response, logs the connection (if access logging is enabled),
	// and counts the connection in the appropriate metrics.  If the field
	// is set to "Ignore", the ingress controller closes the connection
	// without sending a response, logging the connection, or incrementing
	// metrics.  The default value is "Respond".
	//
	// Typically, these connections come from load balancers' health probes
	// or Web browsers' speculative connections ("preconnect") and can be
	// safely ignored.  However, these requests may also be caused by
	// network errors, and so setting this field to "Ignore" may impede
	// detection and diagnosis of problems.  In addition, these requests may
	// be caused by port scans, in which case logging empty requests may aid
	// in detecting intrusion attempts.
	//
	// +optional
	// +kubebuilder:default:="Respond"
	HTTPEmptyRequestsPolicy HTTPEmptyRequestsPolicy `json:"httpEmptyRequestsPolicy,omitempty"`

	// tuningOptions defines parameters for adjusting the performance of
	// ingress controller pods. All fields are optional and will use their
	// respective defaults if not set. See specific tuningOptions fields for
	// more details.
	//
	// Setting fields within tuningOptions is generally not recommended. The
	// default values are suitable for most configurations.
	//
	// +optional
	TuningOptions IngressControllerTuningOptions `json:"tuningOptions,omitempty"`

	// unsupportedConfigOverrides allows specifying unsupported
	// configuration options.  Its use is unsupported.
	//
	// +optional
	// +nullable
	// +kubebuilder:pruning:PreserveUnknownFields
	UnsupportedConfigOverrides runtime.RawExtension `json:"unsupportedConfigOverrides"`

	// httpCompression defines a policy for HTTP traffic compression.
	// By default, there is no HTTP compression.
	//
	// +optional
	HTTPCompression HTTPCompressionPolicy `json:"httpCompression,omitempty"`
}

IngressControllerSpec is the specification of the desired behavior of the IngressController.

func (*IngressControllerSpec) DeepCopy

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

func (*IngressControllerSpec) DeepCopyInto

func (in *IngressControllerSpec) DeepCopyInto(out *IngressControllerSpec)

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

func (IngressControllerSpec) SwaggerDoc

func (IngressControllerSpec) SwaggerDoc() map[string]string

type IngressControllerStatus

type IngressControllerStatus struct {
	// availableReplicas is number of observed available replicas according to the
	// ingress controller deployment.
	AvailableReplicas int32 `json:"availableReplicas"`

	// selector is a label selector, in string format, for ingress controller pods
	// corresponding to the IngressController. The number of matching pods should
	// equal the value of availableReplicas.
	Selector string `json:"selector"`

	// domain is the actual domain in use.
	Domain string `json:"domain"`

	// endpointPublishingStrategy is the actual strategy in use.
	EndpointPublishingStrategy *EndpointPublishingStrategy `json:"endpointPublishingStrategy,omitempty"`

	// conditions is a list of conditions and their status.
	//
	// Available means the ingress controller deployment is available and
	// servicing route and ingress resources (i.e, .status.availableReplicas
	// equals .spec.replicas)
	//
	// There are additional conditions which indicate the status of other
	// ingress controller features and capabilities.
	//
	//   * LoadBalancerManaged
	//   - True if the following conditions are met:
	//     * The endpoint publishing strategy requires a service load balancer.
	//   - False if any of those conditions are unsatisfied.
	//
	//   * LoadBalancerReady
	//   - True if the following conditions are met:
	//     * A load balancer is managed.
	//     * The load balancer is ready.
	//   - False if any of those conditions are unsatisfied.
	//
	//   * DNSManaged
	//   - True if the following conditions are met:
	//     * The endpoint publishing strategy and platform support DNS.
	//     * The ingress controller domain is set.
	//     * dns.config.openshift.io/cluster configures DNS zones.
	//   - False if any of those conditions are unsatisfied.
	//
	//   * DNSReady
	//   - True if the following conditions are met:
	//     * DNS is managed.
	//     * DNS records have been successfully created.
	//   - False if any of those conditions are unsatisfied.
	Conditions []OperatorCondition `json:"conditions,omitempty"`

	// tlsProfile is the TLS connection configuration that is in effect.
	// +optional
	TLSProfile *configv1.TLSProfileSpec `json:"tlsProfile,omitempty"`

	// observedGeneration is the most recent generation observed.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// namespaceSelector is the actual namespaceSelector in use.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// routeSelector is the actual routeSelector in use.
	// +optional
	RouteSelector *metav1.LabelSelector `json:"routeSelector,omitempty"`
}

IngressControllerStatus defines the observed status of the IngressController.

func (*IngressControllerStatus) DeepCopy

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

func (*IngressControllerStatus) DeepCopyInto

func (in *IngressControllerStatus) DeepCopyInto(out *IngressControllerStatus)

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

func (IngressControllerStatus) SwaggerDoc

func (IngressControllerStatus) SwaggerDoc() map[string]string

type IngressControllerTuningOptions

type IngressControllerTuningOptions struct {
	// headerBufferBytes describes how much memory should be reserved
	// (in bytes) for IngressController connection sessions.
	// Note that this value must be at least 16384 if HTTP/2 is
	// enabled for the IngressController (https://tools.ietf.org/html/rfc7540).
	// If this field is empty, the IngressController will use a default value
	// of 32768 bytes.
	//
	// Setting this field is generally not recommended as headerBufferBytes
	// values that are too small may break the IngressController and
	// headerBufferBytes values that are too large could cause the
	// IngressController to use significantly more memory than necessary.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=16384
	// +optional
	HeaderBufferBytes int32 `json:"headerBufferBytes,omitempty"`

	// headerBufferMaxRewriteBytes describes how much memory should be reserved
	// (in bytes) from headerBufferBytes for HTTP header rewriting
	// and appending for IngressController connection sessions.
	// Note that incoming HTTP requests will be limited to
	// (headerBufferBytes - headerBufferMaxRewriteBytes) bytes, meaning
	// headerBufferBytes must be greater than headerBufferMaxRewriteBytes.
	// If this field is empty, the IngressController will use a default value
	// of 8192 bytes.
	//
	// Setting this field is generally not recommended as
	// headerBufferMaxRewriteBytes values that are too small may break the
	// IngressController and headerBufferMaxRewriteBytes values that are too
	// large could cause the IngressController to use significantly more memory
	// than necessary.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=4096
	// +optional
	HeaderBufferMaxRewriteBytes int32 `json:"headerBufferMaxRewriteBytes,omitempty"`

	// threadCount defines the number of threads created per HAProxy process.
	// Creating more threads allows each ingress controller pod to handle more
	// connections, at the cost of more system resources being used. HAProxy
	// currently supports up to 64 threads. If this field is empty, the
	// IngressController will use the default value.  The current default is 4
	// threads, but this may change in future releases.
	//
	// Setting this field is generally not recommended. Increasing the number
	// of HAProxy threads allows ingress controller pods to utilize more CPU
	// time under load, potentially starving other pods if set too high.
	// Reducing the number of threads may cause the ingress controller to
	// perform poorly.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=64
	// +optional
	ThreadCount int32 `json:"threadCount,omitempty"`

	// clientTimeout defines how long a connection will be held open while
	// waiting for a client response.
	//
	// If unset, the default timeout is 30s
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	ClientTimeout *metav1.Duration `json:"clientTimeout,omitempty"`

	// clientFinTimeout defines how long a connection will be held open while
	// waiting for the client response to the server/backend closing the
	// connection.
	//
	// If unset, the default timeout is 1s
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	ClientFinTimeout *metav1.Duration `json:"clientFinTimeout,omitempty"`

	// serverTimeout defines how long a connection will be held open while
	// waiting for a server/backend response.
	//
	// If unset, the default timeout is 30s
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	ServerTimeout *metav1.Duration `json:"serverTimeout,omitempty"`

	// serverFinTimeout defines how long a connection will be held open while
	// waiting for the server/backend response to the client closing the
	// connection.
	//
	// If unset, the default timeout is 1s
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	ServerFinTimeout *metav1.Duration `json:"serverFinTimeout,omitempty"`

	// tunnelTimeout defines how long a tunnel connection (including
	// websockets) will be held open while the tunnel is idle.
	//
	// If unset, the default timeout is 1h
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	TunnelTimeout *metav1.Duration `json:"tunnelTimeout,omitempty"`

	// ConnectTimeout defines the maximum time to wait for
	// a connection attempt to a server/backend to succeed.
	//
	// This field expects an unsigned duration string of decimal numbers, each with optional
	// fraction and a unit suffix, e.g. "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs" U+00B5 or "μs" U+03BC), "ms", "s", "m", "h".
	//
	// When omitted, this means the user has no opinion and the platform is left
	// to choose a reasonable default. This default is subject to change over time.
	// The current default is 5s.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$
	// +kubebuilder:validation:Type:=string
	// +optional
	ConnectTimeout *metav1.Duration `json:"connectTimeout,omitempty"`

	// tlsInspectDelay defines how long the router can hold data to find a
	// matching route.
	//
	// Setting this too short can cause the router to fall back to the default
	// certificate for edge-terminated or reencrypt routes even when a better
	// matching certificate could be used.
	//
	// If unset, the default inspect delay is 5s
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=duration
	// +optional
	TLSInspectDelay *metav1.Duration `json:"tlsInspectDelay,omitempty"`

	// healthCheckInterval defines how long the router waits between two consecutive
	// health checks on its configured backends.  This value is applied globally as
	// a default for all routes, but may be overridden per-route by the route annotation
	// "router.openshift.io/haproxy.health.check.interval".
	//
	// Expects an unsigned duration string of decimal numbers, each with optional
	// fraction and a unit suffix, eg "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs" U+00B5 or "μs" U+03BC), "ms", "s", "m", "h".
	//
	// Setting this to less than 5s can cause excess traffic due to too frequent
	// TCP health checks and accompanying SYN packet storms.  Alternatively, setting
	// this too high can result in increased latency, due to backend servers that are no
	// longer available, but haven't yet been detected as such.
	//
	// An empty or zero healthCheckInterval means no opinion and IngressController chooses
	// a default, which is subject to change over time.
	// Currently the default healthCheckInterval value is 5s.
	//
	// Currently the minimum allowed value is 1s and the maximum allowed value is
	// 2147483647ms (24.85 days).  Both are subject to change over time.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$
	// +kubebuilder:validation:Type:=string
	// +optional
	HealthCheckInterval *metav1.Duration `json:"healthCheckInterval,omitempty"`

	// maxConnections defines the maximum number of simultaneous
	// connections that can be established per HAProxy process.
	// Increasing this value allows each ingress controller pod to
	// handle more connections but at the cost of additional
	// system resources being consumed.
	//
	// Permitted values are: empty, 0, -1, and the range
	// 2000-2000000.
	//
	// If this field is empty or 0, the IngressController will use
	// the default value of 50000, but the default is subject to
	// change in future releases.
	//
	// If the value is -1 then HAProxy will dynamically compute a
	// maximum value based on the available ulimits in the running
	// container. Selecting -1 (i.e., auto) will result in a large
	// value being computed (~520000 on OpenShift >=4.10 clusters)
	// and therefore each HAProxy process will incur significant
	// memory usage compared to the current default of 50000.
	//
	// Setting a value that is greater than the current operating
	// system limit will prevent the HAProxy process from
	// starting.
	//
	// If you choose a discrete value (e.g., 750000) and the
	// router pod is migrated to a new node, there's no guarantee
	// that that new node has identical ulimits configured. In
	// such a scenario the pod would fail to start. If you have
	// nodes with different ulimits configured (e.g., different
	// tuned profiles) and you choose a discrete value then the
	// guidance is to use -1 and let the value be computed
	// dynamically at runtime.
	//
	// You can monitor memory usage for router containers with the
	// following metric:
	// 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}'.
	//
	// You can monitor memory usage of individual HAProxy
	// processes in router containers with the following metric:
	// 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}/container_processes{container="router",namespace="openshift-ingress"}'.
	//
	// +kubebuilder:validation:Optional
	// +optional
	MaxConnections int32 `json:"maxConnections,omitempty"`

	// reloadInterval defines the minimum interval at which the router is allowed to reload
	// to accept new changes. Increasing this value can prevent the accumulation of
	// HAProxy processes, depending on the scenario. Increasing this interval can
	// also lessen load imbalance on a backend's servers when using the roundrobin
	// balancing algorithm. Alternatively, decreasing this value may decrease latency
	// since updates to HAProxy's configuration can take effect more quickly.
	//
	// The value must be a time duration value; see <https://pkg.go.dev/time#ParseDuration>.
	// Currently, the minimum value allowed is 1s, and the maximum allowed value is
	// 120s. Minimum and maximum allowed values may change in future versions of OpenShift.
	// Note that if a duration outside of these bounds is provided, the value of reloadInterval
	// will be capped/floored and not rejected (e.g. a duration of over 120s will be capped to
	// 120s; the IngressController will not reject and replace this disallowed value with
	// the default).
	//
	// A zero value for reloadInterval tells the IngressController to choose the default,
	// which is currently 5s and subject to change without notice.
	//
	// This field expects an unsigned duration string of decimal numbers, each with optional
	// fraction and a unit suffix, e.g. "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs" U+00B5 or "μs" U+03BC), "ms", "s", "m", "h".
	//
	// Note: Setting a value significantly larger than the default of 5s can cause latency
	// in observing updates to routes and their endpoints. HAProxy's configuration will
	// be reloaded less frequently, and newly created routes will not be served until the
	// subsequent reload.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$
	// +kubebuilder:validation:Type:=string
	// +optional
	ReloadInterval metav1.Duration `json:"reloadInterval,omitempty"`
}

IngressControllerTuningOptions specifies options for tuning the performance of ingress controller pods

func (*IngressControllerTuningOptions) DeepCopy

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

func (*IngressControllerTuningOptions) DeepCopyInto

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

func (IngressControllerTuningOptions) SwaggerDoc

func (IngressControllerTuningOptions) SwaggerDoc() map[string]string

type InsightsOperator

type InsightsOperator struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Insights.
	// +kubebuilder:validation:Required
	Spec InsightsOperatorSpec `json:"spec"`

	// status is the most recently observed status of the Insights operator.
	// +optional
	Status InsightsOperatorStatus `json:"status"`
}

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:path=insightsoperators,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1237 +openshift:file-pattern=cvoRunLevel=0000_50,operatorName=insights,operatorOrdering=00

InsightsOperator holds cluster-wide information about the Insights Operator.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*InsightsOperator) DeepCopy

func (in *InsightsOperator) DeepCopy() *InsightsOperator

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

func (*InsightsOperator) DeepCopyInto

func (in *InsightsOperator) DeepCopyInto(out *InsightsOperator)

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

func (*InsightsOperator) DeepCopyObject

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

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

func (InsightsOperator) SwaggerDoc

func (InsightsOperator) SwaggerDoc() map[string]string

type InsightsOperatorList

type InsightsOperatorList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

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

InsightsOperatorList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*InsightsOperatorList) DeepCopy

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

func (*InsightsOperatorList) DeepCopyInto

func (in *InsightsOperatorList) DeepCopyInto(out *InsightsOperatorList)

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

func (*InsightsOperatorList) DeepCopyObject

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

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

func (InsightsOperatorList) SwaggerDoc

func (InsightsOperatorList) SwaggerDoc() map[string]string

type InsightsOperatorSpec

type InsightsOperatorSpec struct {
	OperatorSpec `json:",inline"`
}

func (*InsightsOperatorSpec) DeepCopy

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

func (*InsightsOperatorSpec) DeepCopyInto

func (in *InsightsOperatorSpec) DeepCopyInto(out *InsightsOperatorSpec)

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

type InsightsOperatorStatus

type InsightsOperatorStatus struct {
	OperatorStatus `json:",inline"`
	// gatherStatus provides basic information about the last Insights data gathering.
	// When omitted, this means no data gathering has taken place yet.
	// +optional
	GatherStatus GatherStatus `json:"gatherStatus,omitempty"`
	// insightsReport provides general Insights analysis results.
	// When omitted, this means no data gathering has taken place yet.
	// +optional
	InsightsReport InsightsReport `json:"insightsReport,omitempty"`
}

func (*InsightsOperatorStatus) DeepCopy

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

func (*InsightsOperatorStatus) DeepCopyInto

func (in *InsightsOperatorStatus) DeepCopyInto(out *InsightsOperatorStatus)

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

func (InsightsOperatorStatus) SwaggerDoc

func (InsightsOperatorStatus) SwaggerDoc() map[string]string

type InsightsReport

type InsightsReport struct {
	// downloadedAt is the time when the last Insights report was downloaded.
	// An empty value means that there has not been any Insights report downloaded yet and
	// it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled).
	// +optional
	DownloadedAt metav1.Time `json:"downloadedAt,omitempty"`
	// healthChecks provides basic information about active Insights health checks
	// in a cluster.
	// +listType=atomic
	// +optional
	HealthChecks []HealthCheck `json:"healthChecks,omitempty"`
}

insightsReport provides Insights health check report based on the most recently sent Insights data.

func (*InsightsReport) DeepCopy

func (in *InsightsReport) DeepCopy() *InsightsReport

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

func (*InsightsReport) DeepCopyInto

func (in *InsightsReport) DeepCopyInto(out *InsightsReport)

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

func (InsightsReport) SwaggerDoc

func (InsightsReport) SwaggerDoc() map[string]string

type KubeAPIServer

type KubeAPIServer struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Kubernetes API Server
	// +kubebuilder:validation:Required
	// +required
	Spec KubeAPIServerSpec `json:"spec"`

	// status is the most recently observed status of the Kubernetes API Server
	// +optional
	Status KubeAPIServerStatus `json:"status"`
}

KubeAPIServer provides information to configure an operator to manage kube-apiserver.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1 +openshift:compatibility-gen:level=1

func (*KubeAPIServer) DeepCopy

func (in *KubeAPIServer) DeepCopy() *KubeAPIServer

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

func (*KubeAPIServer) DeepCopyInto

func (in *KubeAPIServer) DeepCopyInto(out *KubeAPIServer)

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

func (*KubeAPIServer) DeepCopyObject

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

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

func (KubeAPIServer) SwaggerDoc

func (KubeAPIServer) SwaggerDoc() map[string]string

type KubeAPIServerList

type KubeAPIServerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []KubeAPIServer `json:"items"`
}

KubeAPIServerList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeAPIServerList) DeepCopy

func (in *KubeAPIServerList) DeepCopy() *KubeAPIServerList

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

func (*KubeAPIServerList) DeepCopyInto

func (in *KubeAPIServerList) DeepCopyInto(out *KubeAPIServerList)

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

func (*KubeAPIServerList) DeepCopyObject

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

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

func (KubeAPIServerList) SwaggerDoc

func (KubeAPIServerList) SwaggerDoc() map[string]string

type KubeAPIServerSpec

type KubeAPIServerSpec struct {
	StaticPodOperatorSpec `json:",inline"`
}

func (*KubeAPIServerSpec) DeepCopy

func (in *KubeAPIServerSpec) DeepCopy() *KubeAPIServerSpec

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

func (*KubeAPIServerSpec) DeepCopyInto

func (in *KubeAPIServerSpec) DeepCopyInto(out *KubeAPIServerSpec)

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

type KubeAPIServerStatus

type KubeAPIServerStatus struct {
	StaticPodOperatorStatus `json:",inline"`

	// serviceAccountIssuers tracks history of used service account issuers.
	// The item without expiration time represents the currently used service account issuer.
	// The other items represents service account issuers that were used previously and are still being trusted.
	// The default expiration for the items is set by the platform and it defaults to 24h.
	// see: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
	// +optional
	ServiceAccountIssuers []ServiceAccountIssuerStatus `json:"serviceAccountIssuers,omitempty"`
}

func (*KubeAPIServerStatus) DeepCopy

func (in *KubeAPIServerStatus) DeepCopy() *KubeAPIServerStatus

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

func (*KubeAPIServerStatus) DeepCopyInto

func (in *KubeAPIServerStatus) DeepCopyInto(out *KubeAPIServerStatus)

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

func (KubeAPIServerStatus) SwaggerDoc

func (KubeAPIServerStatus) SwaggerDoc() map[string]string

type KubeControllerManager

type KubeControllerManager struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Kubernetes Controller Manager
	// +kubebuilder:validation:Required
	// +required
	Spec KubeControllerManagerSpec `json:"spec"`

	// status is the most recently observed status of the Kubernetes Controller Manager
	// +optional
	Status KubeControllerManagerStatus `json:"status"`
}

KubeControllerManager provides information to configure an operator to manage kube-controller-manager.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeControllerManager) DeepCopy

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

func (*KubeControllerManager) DeepCopyInto

func (in *KubeControllerManager) DeepCopyInto(out *KubeControllerManager)

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

func (*KubeControllerManager) DeepCopyObject

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

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

func (KubeControllerManager) SwaggerDoc

func (KubeControllerManager) SwaggerDoc() map[string]string

type KubeControllerManagerList

type KubeControllerManagerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []KubeControllerManager `json:"items"`
}

KubeControllerManagerList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeControllerManagerList) DeepCopy

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

func (*KubeControllerManagerList) DeepCopyInto

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

func (*KubeControllerManagerList) DeepCopyObject

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

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

func (KubeControllerManagerList) SwaggerDoc

func (KubeControllerManagerList) SwaggerDoc() map[string]string

type KubeControllerManagerSpec

type KubeControllerManagerSpec struct {
	StaticPodOperatorSpec `json:",inline"`

	// useMoreSecureServiceCA indicates that the service-ca.crt provided in SA token volumes should include only
	// enough certificates to validate service serving certificates.
	// Once set to true, it cannot be set to false.
	// Even if someone finds a way to set it back to false, the service-ca.crt files that previously existed will
	// only have the more secure content.
	// +kubebuilder:default=false
	UseMoreSecureServiceCA bool `json:"useMoreSecureServiceCA"`
}

func (*KubeControllerManagerSpec) DeepCopy

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

func (*KubeControllerManagerSpec) DeepCopyInto

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

func (KubeControllerManagerSpec) SwaggerDoc

func (KubeControllerManagerSpec) SwaggerDoc() map[string]string

type KubeControllerManagerStatus

type KubeControllerManagerStatus struct {
	StaticPodOperatorStatus `json:",inline"`
}

func (*KubeControllerManagerStatus) DeepCopy

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

func (*KubeControllerManagerStatus) DeepCopyInto

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

type KubeScheduler

type KubeScheduler struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Kubernetes Scheduler
	// +kubebuilder:validation:Required
	// +required
	Spec KubeSchedulerSpec `json:"spec"`

	// status is the most recently observed status of the Kubernetes Scheduler
	// +optional
	Status KubeSchedulerStatus `json:"status"`
}

KubeScheduler provides information to configure an operator to manage scheduler.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeScheduler) DeepCopy

func (in *KubeScheduler) DeepCopy() *KubeScheduler

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

func (*KubeScheduler) DeepCopyInto

func (in *KubeScheduler) DeepCopyInto(out *KubeScheduler)

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

func (*KubeScheduler) DeepCopyObject

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

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

func (KubeScheduler) SwaggerDoc

func (KubeScheduler) SwaggerDoc() map[string]string

type KubeSchedulerList

type KubeSchedulerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []KubeScheduler `json:"items"`
}

KubeSchedulerList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeSchedulerList) DeepCopy

func (in *KubeSchedulerList) DeepCopy() *KubeSchedulerList

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

func (*KubeSchedulerList) DeepCopyInto

func (in *KubeSchedulerList) DeepCopyInto(out *KubeSchedulerList)

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

func (*KubeSchedulerList) DeepCopyObject

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

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

func (KubeSchedulerList) SwaggerDoc

func (KubeSchedulerList) SwaggerDoc() map[string]string

type KubeSchedulerSpec

type KubeSchedulerSpec struct {
	StaticPodOperatorSpec `json:",inline"`
}

func (*KubeSchedulerSpec) DeepCopy

func (in *KubeSchedulerSpec) DeepCopy() *KubeSchedulerSpec

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

func (*KubeSchedulerSpec) DeepCopyInto

func (in *KubeSchedulerSpec) DeepCopyInto(out *KubeSchedulerSpec)

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

type KubeSchedulerStatus

type KubeSchedulerStatus struct {
	StaticPodOperatorStatus `json:",inline"`
}

func (*KubeSchedulerStatus) DeepCopy

func (in *KubeSchedulerStatus) DeepCopy() *KubeSchedulerStatus

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

func (*KubeSchedulerStatus) DeepCopyInto

func (in *KubeSchedulerStatus) DeepCopyInto(out *KubeSchedulerStatus)

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

type KubeStorageVersionMigrator

type KubeStorageVersionMigrator struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// +kubebuilder:validation:Required
	// +required
	Spec KubeStorageVersionMigratorSpec `json:"spec"`
	// +optional
	Status KubeStorageVersionMigratorStatus `json:"status"`
}

KubeStorageVersionMigrator provides information to configure an operator to manage kube-storage-version-migrator.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeStorageVersionMigrator) DeepCopy

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

func (*KubeStorageVersionMigrator) DeepCopyInto

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

func (*KubeStorageVersionMigrator) DeepCopyObject

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

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

func (KubeStorageVersionMigrator) SwaggerDoc

func (KubeStorageVersionMigrator) SwaggerDoc() map[string]string

type KubeStorageVersionMigratorList

type KubeStorageVersionMigratorList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []KubeStorageVersionMigrator `json:"items"`
}

KubeStorageVersionMigratorList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*KubeStorageVersionMigratorList) DeepCopy

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

func (*KubeStorageVersionMigratorList) DeepCopyInto

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

func (*KubeStorageVersionMigratorList) DeepCopyObject

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

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

func (KubeStorageVersionMigratorList) SwaggerDoc

func (KubeStorageVersionMigratorList) SwaggerDoc() map[string]string

type KubeStorageVersionMigratorSpec

type KubeStorageVersionMigratorSpec struct {
	OperatorSpec `json:",inline"`
}

func (*KubeStorageVersionMigratorSpec) DeepCopy

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

func (*KubeStorageVersionMigratorSpec) DeepCopyInto

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

type KubeStorageVersionMigratorStatus

type KubeStorageVersionMigratorStatus struct {
	OperatorStatus `json:",inline"`
}

func (*KubeStorageVersionMigratorStatus) DeepCopy

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

func (*KubeStorageVersionMigratorStatus) DeepCopyInto

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

type LoadBalancerDNSManagementPolicy

type LoadBalancerDNSManagementPolicy string

LoadBalancerDNSManagementPolicy is a policy for configuring how ingresscontrollers manage DNS.

+kubebuilder:validation:Enum=Managed;Unmanaged

const (
	// ManagedLoadBalancerDNS specifies that the operator manages
	// a wildcard DNS record for the ingresscontroller.
	ManagedLoadBalancerDNS LoadBalancerDNSManagementPolicy = "Managed"
	// UnmanagedLoadBalancerDNS specifies that the operator does not manage
	// any wildcard DNS record for the ingresscontroller.
	UnmanagedLoadBalancerDNS LoadBalancerDNSManagementPolicy = "Unmanaged"
)

type LoadBalancerProviderType

type LoadBalancerProviderType string

LoadBalancerProviderType is the underlying infrastructure provider for the load balancer. Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", "OpenStack", and "VSphere".

+kubebuilder:validation:Enum=AWS;Azure;BareMetal;GCP;Nutanix;OpenStack;VSphere;IBM

const (
	AWSLoadBalancerProvider          LoadBalancerProviderType = "AWS"
	AzureLoadBalancerProvider        LoadBalancerProviderType = "Azure"
	GCPLoadBalancerProvider          LoadBalancerProviderType = "GCP"
	OpenStackLoadBalancerProvider    LoadBalancerProviderType = "OpenStack"
	VSphereLoadBalancerProvider      LoadBalancerProviderType = "VSphere"
	IBMLoadBalancerProvider          LoadBalancerProviderType = "IBM"
	BareMetalLoadBalancerProvider    LoadBalancerProviderType = "BareMetal"
	AlibabaCloudLoadBalancerProvider LoadBalancerProviderType = "AlibabaCloud"
	NutanixLoadBalancerProvider      LoadBalancerProviderType = "Nutanix"
)

type LoadBalancerScope

type LoadBalancerScope string

LoadBalancerScope is the scope at which a load balancer is exposed. +kubebuilder:validation:Enum=Internal;External

var (
	// InternalLoadBalancer is a load balancer that is exposed only on the
	// cluster's private network.
	InternalLoadBalancer LoadBalancerScope = "Internal"

	// ExternalLoadBalancer is a load balancer that is exposed on the
	// cluster's public network (which is typically on the Internet).
	ExternalLoadBalancer LoadBalancerScope = "External"
)

type LoadBalancerStrategy

type LoadBalancerStrategy struct {
	// scope indicates the scope at which the load balancer is exposed.
	// Possible values are "External" and "Internal".
	//
	// +kubebuilder:validation:Required
	// +required
	Scope LoadBalancerScope `json:"scope"`

	// allowedSourceRanges specifies an allowlist of IP address ranges to which
	// access to the load balancer should be restricted.  Each range must be
	// specified using CIDR notation (e.g. "10.0.0.0/8" or "fd00::/8"). If no range is
	// specified, "0.0.0.0/0" for IPv4 and "::/0" for IPv6 are used by default,
	// which allows all source addresses.
	//
	// To facilitate migration from earlier versions of OpenShift that did
	// not have the allowedSourceRanges field, you may set the
	// service.beta.kubernetes.io/load-balancer-source-ranges annotation on
	// the "router-<ingresscontroller name>" service in the
	// "openshift-ingress" namespace, and this annotation will take
	// effect if allowedSourceRanges is empty on OpenShift 4.12.
	//
	// +nullable
	// +optional
	AllowedSourceRanges []CIDR `json:"allowedSourceRanges,omitempty"`

	// providerParameters holds desired load balancer information specific to
	// the underlying infrastructure provider.
	//
	// If empty, defaults will be applied. See specific providerParameters
	// fields for details about their defaults.
	//
	// +optional
	ProviderParameters *ProviderLoadBalancerParameters `json:"providerParameters,omitempty"`

	// dnsManagementPolicy indicates if the lifecycle of the wildcard DNS record
	// associated with the load balancer service will be managed by
	// the ingress operator. It defaults to Managed.
	// Valid values are: Managed and Unmanaged.
	//
	// +kubebuilder:default:="Managed"
	// +kubebuilder:validation:Required
	// +default="Managed"
	DNSManagementPolicy LoadBalancerDNSManagementPolicy `json:"dnsManagementPolicy,omitempty"`
}

LoadBalancerStrategy holds parameters for a load balancer.

func (*LoadBalancerStrategy) DeepCopy

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

func (*LoadBalancerStrategy) DeepCopyInto

func (in *LoadBalancerStrategy) DeepCopyInto(out *LoadBalancerStrategy)

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

func (LoadBalancerStrategy) SwaggerDoc

func (LoadBalancerStrategy) SwaggerDoc() map[string]string

type LogLevel

type LogLevel string

+kubebuilder:validation:Enum="";Normal;Debug;Trace;TraceAll

var (
	// Normal is the default.  Normal, working log information, everything is fine, but helpful notices for auditing or common operations.  In kube, this is probably glog=2.
	Normal LogLevel = "Normal"

	// Debug is used when something went wrong.  Even common operations may be logged, and less helpful but more quantity of notices.  In kube, this is probably glog=4.
	Debug LogLevel = "Debug"

	// Trace is used when something went really badly and even more verbose logs are needed.  Logging every function call as part of a common operation, to tracing execution of a query.  In kube, this is probably glog=6.
	Trace LogLevel = "Trace"

	// TraceAll is used when something is broken at the level of API content/decoding.  It will dump complete body content.  If you turn this on in a production cluster
	// prepare from serious performance issues and massive amounts of logs.  In kube, this is probably glog=8.
	TraceAll LogLevel = "TraceAll"
)

type LoggingDestination

type LoggingDestination struct {
	// type is the type of destination for logs.  It must be one of the
	// following:
	//
	// * Container
	//
	// The ingress operator configures the sidecar container named "logs" on
	// the ingress controller pod and configures the ingress controller to
	// write logs to the sidecar.  The logs are then available as container
	// logs.  The expectation is that the administrator configures a custom
	// logging solution that reads logs from this sidecar.  Note that using
	// container logs means that logs may be dropped if the rate of logs
	// exceeds the container runtime's or the custom logging solution's
	// capacity.
	//
	// * Syslog
	//
	// Logs are sent to a syslog endpoint.  The administrator must specify
	// an endpoint that can receive syslog messages.  The expectation is
	// that the administrator has configured a custom syslog instance.
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	// +required
	Type LoggingDestinationType `json:"type"`

	// syslog holds parameters for a syslog endpoint.  Present only if
	// type is Syslog.
	//
	// +optional
	Syslog *SyslogLoggingDestinationParameters `json:"syslog,omitempty"`

	// container holds parameters for the Container logging destination.
	// Present only if type is Container.
	//
	// +optional
	Container *ContainerLoggingDestinationParameters `json:"container,omitempty"`
}

LoggingDestination describes a destination for log messages. +union

func (*LoggingDestination) DeepCopy

func (in *LoggingDestination) DeepCopy() *LoggingDestination

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

func (*LoggingDestination) DeepCopyInto

func (in *LoggingDestination) DeepCopyInto(out *LoggingDestination)

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

func (LoggingDestination) SwaggerDoc

func (LoggingDestination) SwaggerDoc() map[string]string

type LoggingDestinationType

type LoggingDestinationType string

LoggingDestinationType is a type of destination to which to send log messages.

+kubebuilder:validation:Enum=Container;Syslog

const (
	// Container sends log messages to a sidecar container.
	ContainerLoggingDestinationType LoggingDestinationType = "Container"

	// Syslog sends log messages to a syslog endpoint.
	SyslogLoggingDestinationType LoggingDestinationType = "Syslog"

	// ContainerLoggingSidecarContainerName is the name of the container
	// with the log output in an ingress controller pod when container
	// logging is used.
	ContainerLoggingSidecarContainerName = "logs"
)

type LoggingPolicy

type LoggingPolicy string

LoggingPolicy indicates how an event should be logged. +kubebuilder:validation:Enum=Log;Ignore

const (
	// LoggingPolicyLog indicates that an event should be logged.
	LoggingPolicyLog LoggingPolicy = "Log"
	// LoggingPolicyIgnore indicates that an event should not be logged.
	LoggingPolicyIgnore LoggingPolicy = "Ignore"
)

type MTUMigration

type MTUMigration struct {
	// network contains information about MTU migration for the default network.
	// Migrations are only allowed to MTU values lower than the machine's uplink
	// MTU by the minimum appropriate offset.
	// +optional
	Network *MTUMigrationValues `json:"network,omitempty"`

	// machine contains MTU migration configuration for the machine's uplink.
	// Needs to be migrated along with the default network MTU unless the
	// current uplink MTU already accommodates the default network MTU.
	// +optional
	Machine *MTUMigrationValues `json:"machine,omitempty"`
}

MTUMigration MTU contains infomation about MTU migration.

func (*MTUMigration) DeepCopy

func (in *MTUMigration) DeepCopy() *MTUMigration

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

func (*MTUMigration) DeepCopyInto

func (in *MTUMigration) DeepCopyInto(out *MTUMigration)

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

func (MTUMigration) SwaggerDoc

func (MTUMigration) SwaggerDoc() map[string]string

type MTUMigrationValues

type MTUMigrationValues struct {
	// to is the MTU to migrate to.
	// +kubebuilder:validation:Minimum=0
	To *uint32 `json:"to"`

	// from is the MTU to migrate from.
	// +kubebuilder:validation:Minimum=0
	// +optional
	From *uint32 `json:"from,omitempty"`
}

MTUMigrationValues contains the values for a MTU migration.

func (*MTUMigrationValues) DeepCopy

func (in *MTUMigrationValues) DeepCopy() *MTUMigrationValues

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

func (*MTUMigrationValues) DeepCopyInto

func (in *MTUMigrationValues) DeepCopyInto(out *MTUMigrationValues)

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

func (MTUMigrationValues) SwaggerDoc

func (MTUMigrationValues) SwaggerDoc() map[string]string

type MachineConfiguration

type MachineConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the Machine Config Operator
	// +kubebuilder:validation:Required
	Spec MachineConfigurationSpec `json:"spec"`

	// status is the most recently observed status of the Machine Config Operator
	// +optional
	Status MachineConfigurationStatus `json:"status"`
}

MachineConfiguration provides information to configure an operator to manage Machine Configuration.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*MachineConfiguration) DeepCopy

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

func (*MachineConfiguration) DeepCopyInto

func (in *MachineConfiguration) DeepCopyInto(out *MachineConfiguration)

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

func (*MachineConfiguration) DeepCopyObject

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

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

func (MachineConfiguration) SwaggerDoc

func (MachineConfiguration) SwaggerDoc() map[string]string

type MachineConfigurationList

type MachineConfigurationList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []MachineConfiguration `json:"items"`
}

MachineConfigurationList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*MachineConfigurationList) DeepCopy

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

func (*MachineConfigurationList) DeepCopyInto

func (in *MachineConfigurationList) DeepCopyInto(out *MachineConfigurationList)

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

func (*MachineConfigurationList) DeepCopyObject

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

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

func (MachineConfigurationList) SwaggerDoc

func (MachineConfigurationList) SwaggerDoc() map[string]string

type MachineConfigurationSpec

type MachineConfigurationSpec struct {
	StaticPodOperatorSpec `json:",inline"`

	// managedBootImages allows configuration for the management of boot images for machine
	// resources within the cluster. This configuration allows users to select resources that should
	// be updated to the latest boot images during cluster upgrades, ensuring that new machines
	// always boot with the current cluster version's boot image. When omitted, no boot images
	// will be updated.
	// +openshift:enable:FeatureGate=ManagedBootImages
	// +optional
	ManagedBootImages ManagedBootImages `json:"managedBootImages"`

	// nodeDisruptionPolicy allows an admin to set granular node disruption actions for
	// MachineConfig-based updates, such as drains, service reloads, etc. Specifying this will allow
	// for less downtime when doing small configuration updates to the cluster. This configuration
	// has no effect on cluster upgrades which will still incur node disruption where required.
	// +openshift:enable:FeatureGate=NodeDisruptionPolicy
	// +optional
	NodeDisruptionPolicy NodeDisruptionPolicyConfig `json:"nodeDisruptionPolicy"`
}

func (*MachineConfigurationSpec) DeepCopy

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

func (*MachineConfigurationSpec) DeepCopyInto

func (in *MachineConfigurationSpec) DeepCopyInto(out *MachineConfigurationSpec)

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

func (MachineConfigurationSpec) SwaggerDoc

func (MachineConfigurationSpec) SwaggerDoc() map[string]string

type MachineConfigurationStatus

type MachineConfigurationStatus struct {
	// TODO tombstone this field
	StaticPodOperatorStatus `json:",inline"`

	// nodeDisruptionPolicyStatus status reflects what the latest cluster-validated policies are,
	// and will be used by the Machine Config Daemon during future node updates.
	// +openshift:enable:FeatureGate=NodeDisruptionPolicy
	// +optional
	NodeDisruptionPolicyStatus NodeDisruptionPolicyStatus `json:"nodeDisruptionPolicyStatus"`
}

func (*MachineConfigurationStatus) DeepCopy

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

func (*MachineConfigurationStatus) DeepCopyInto

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

func (MachineConfigurationStatus) SwaggerDoc

func (MachineConfigurationStatus) SwaggerDoc() map[string]string

type MachineManager

type MachineManager struct {
	// resource is the machine management resource's type.
	// The only current valid value is machinesets.
	// machinesets means that the machine manager will only register resources of the kind MachineSet.
	// +kubebuilder:validation:Required
	Resource MachineManagerMachineSetsResourceType `json:"resource"`

	// apiGroup is name of the APIGroup that the machine management resource belongs to.
	// The only current valid value is machine.openshift.io.
	// machine.openshift.io means that the machine manager will only register resources that belong to OpenShift machine API group.
	// +kubebuilder:validation:Required
	APIGroup MachineManagerMachineSetsAPIGroupType `json:"apiGroup"`

	// selection allows granular control of the machine management resources that will be registered for boot image updates.
	// +kubebuilder:validation:Required
	Selection MachineManagerSelector `json:"selection"`
}

MachineManager describes a target machine resource that is registered for boot image updates. It stores identifying information such as the resource type and the API Group of the resource. It also provides granular control via the selection field.

func (*MachineManager) DeepCopy

func (in *MachineManager) DeepCopy() *MachineManager

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

func (*MachineManager) DeepCopyInto

func (in *MachineManager) DeepCopyInto(out *MachineManager)

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

func (MachineManager) SwaggerDoc

func (MachineManager) SwaggerDoc() map[string]string

type MachineManagerMachineSetsAPIGroupType

type MachineManagerMachineSetsAPIGroupType string

MachineManagerManagedAPIGroupType is a string enum used in in the MachineManager type to describe the APIGroup of the resource type being registered. +kubebuilder:validation:Enum:="machine.openshift.io"

const (
	// MachineAPI represent the traditional MAPI Group that a machineset may belong to.
	// This feature only supports MAPI machinesets at this time.
	MachineAPI MachineManagerMachineSetsAPIGroupType = "machine.openshift.io"
)

type MachineManagerMachineSetsResourceType

type MachineManagerMachineSetsResourceType string

MachineManagerManagedResourceType is a string enum used in the MachineManager type to describe the resource type to be registered. +kubebuilder:validation:Enum:="machinesets"

const (
	// MachineSets represent the MachineSet resource type, which manage a group of machines and belong to the Openshift machine API group.
	MachineSets MachineManagerMachineSetsResourceType = "machinesets"
)

type MachineManagerSelector

type MachineManagerSelector struct {
	// mode determines how machine managers will be selected for updates.
	// Valid values are All and Partial.
	// All means that every resource matched by the machine manager will be updated.
	// Partial requires specified selector(s) and allows customisation of which resources matched by the machine manager will be updated.
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	Mode MachineManagerSelectorMode `json:"mode"`

	// partial provides label selector(s) that can be used to match machine management resources.
	// Only permitted when mode is set to "Partial".
	// +optional
	Partial *PartialSelector `json:"partial,omitempty"`
}

+kubebuilder:validation:XValidation:rule="has(self.mode) && self.mode == 'Partial' ? has(self.partial) : !has(self.partial)",message="Partial is required when type is partial, and forbidden otherwise" +union

func (*MachineManagerSelector) DeepCopy

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

func (*MachineManagerSelector) DeepCopyInto

func (in *MachineManagerSelector) DeepCopyInto(out *MachineManagerSelector)

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

func (MachineManagerSelector) SwaggerDoc

func (MachineManagerSelector) SwaggerDoc() map[string]string

type MachineManagerSelectorMode

type MachineManagerSelectorMode string

MachineManagerSelectorMode is a string enum used in the MachineManagerSelector union discriminator. +kubebuilder:validation:Enum:="All";"Partial"

const (
	// All represents a configuration mode that registers all resources specified by the parent MachineManager for boot image updates.
	All MachineManagerSelectorMode = "All"

	// Partial represents a configuration mode that will register resources specified by the parent MachineManager only
	// if they match with the label selector.
	Partial MachineManagerSelectorMode = "Partial"
)

type MacvlanMode

type MacvlanMode string

MacvlanMode is the Mode of macvlan. The value are lowercase to match the CNI plugin config values. See "man ip-link" for its detail.

const (
	// MacvlanModeBridge is the macvlan with thin bridge function.
	MacvlanModeBridge MacvlanMode = "Bridge"
	// MacvlanModePrivate
	MacvlanModePrivate MacvlanMode = "Private"
	// MacvlanModeVEPA is used with Virtual Ethernet Port Aggregator
	// (802.1qbg) swtich
	MacvlanModeVEPA MacvlanMode = "VEPA"
	// MacvlanModePassthru
	MacvlanModePassthru MacvlanMode = "Passthru"
)

type ManagedBootImages

type ManagedBootImages struct {
	// machineManagers can be used to register machine management resources for boot image updates. The Machine Config Operator
	// will watch for changes to this list. Only one entry is permitted per type of machine management resource.
	// +optional
	// +listType=map
	// +listMapKey=resource
	// +listMapKey=apiGroup
	MachineManagers []MachineManager `json:"machineManagers"`
}

func (*ManagedBootImages) DeepCopy

func (in *ManagedBootImages) DeepCopy() *ManagedBootImages

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

func (*ManagedBootImages) DeepCopyInto

func (in *ManagedBootImages) DeepCopyInto(out *ManagedBootImages)

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

func (ManagedBootImages) SwaggerDoc

func (ManagedBootImages) SwaggerDoc() map[string]string

type ManagementState

type ManagementState string

+kubebuilder:validation:Pattern=`^(Managed|Unmanaged|Force|Removed)$`

var (
	// Force means that the operator is actively managing its resources but will not block an upgrade
	// if unmet prereqs exist. This state puts the operator at risk for unsuccessful upgrades
	Force ManagementState = "Force"
	// Managed means that the operator is actively managing its resources and trying to keep the component active.
	// It will only upgrade the component if it is safe to do so
	Managed ManagementState = "Managed"
	// Unmanaged means that the operator will not take any action related to the component
	// Some operators might not support this management state as it might damage the cluster and lead to manual recovery.
	Unmanaged ManagementState = "Unmanaged"
	// Removed means that the operator is actively managing its resources and trying to remove all traces of the component
	// Some operators (like kube-apiserver-operator) might not support this management state as removing the API server will
	// brick the cluster.
	Removed ManagementState = "Removed"
)

type MyOperatorResource

type MyOperatorResource struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// +kubebuilder:validation:Required
	// +required
	Spec   MyOperatorResourceSpec   `json:"spec"`
	Status MyOperatorResourceStatus `json:"status"`
}

MyOperatorResource is an example operator configuration type

Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:internal

func (*MyOperatorResource) DeepCopy

func (in *MyOperatorResource) DeepCopy() *MyOperatorResource

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

func (*MyOperatorResource) DeepCopyInto

func (in *MyOperatorResource) DeepCopyInto(out *MyOperatorResource)

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

func (MyOperatorResource) SwaggerDoc

func (MyOperatorResource) SwaggerDoc() map[string]string

type MyOperatorResourceSpec

type MyOperatorResourceSpec struct {
	OperatorSpec `json:",inline"`
}

func (*MyOperatorResourceSpec) DeepCopy

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

func (*MyOperatorResourceSpec) DeepCopyInto

func (in *MyOperatorResourceSpec) DeepCopyInto(out *MyOperatorResourceSpec)

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

type MyOperatorResourceStatus

type MyOperatorResourceStatus struct {
	OperatorStatus `json:",inline"`
}

func (*MyOperatorResourceStatus) DeepCopy

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

func (*MyOperatorResourceStatus) DeepCopyInto

func (in *MyOperatorResourceStatus) DeepCopyInto(out *MyOperatorResourceStatus)

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

type NamespaceOwnershipCheck

type NamespaceOwnershipCheck string

NamespaceOwnershipCheck is a route admission policy component that describes how host name claims across namespaces should be handled. +kubebuilder:validation:Enum=InterNamespaceAllowed;Strict

const (
	// InterNamespaceAllowedOwnershipCheck allows routes to claim different paths of the same host name across namespaces.
	InterNamespaceAllowedOwnershipCheck NamespaceOwnershipCheck = "InterNamespaceAllowed"

	// StrictNamespaceOwnershipCheck does not allow routes to claim the same host name across namespaces.
	StrictNamespaceOwnershipCheck NamespaceOwnershipCheck = "Strict"
)

type NetFlowConfig

type NetFlowConfig struct {
	// netFlow defines the NetFlow collectors that will consume the flow data exported from OVS.
	// It is a list of strings formatted as ip:port with a maximum of ten items
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=10
	Collectors []IPPort `json:"collectors,omitempty"`
}

func (*NetFlowConfig) DeepCopy

func (in *NetFlowConfig) DeepCopy() *NetFlowConfig

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

func (*NetFlowConfig) DeepCopyInto

func (in *NetFlowConfig) DeepCopyInto(out *NetFlowConfig)

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

func (NetFlowConfig) SwaggerDoc

func (NetFlowConfig) SwaggerDoc() map[string]string

type Network

type Network struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NetworkSpec   `json:"spec,omitempty"`
	Status NetworkStatus `json:"status,omitempty"`
}

Network describes the cluster's desired network configuration. It is consumed by the cluster-network-operator.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +k8s:openapi-gen=true +openshift:compatibility-gen:level=1

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

func (*Network) DeepCopyObject

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

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

func (Network) SwaggerDoc

func (Network) SwaggerDoc() map[string]string

type NetworkList

type NetworkList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

NetworkList contains a list of Network configurations

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

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

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

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

func (*NetworkList) DeepCopyObject

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

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

func (NetworkList) SwaggerDoc

func (NetworkList) SwaggerDoc() map[string]string

type NetworkMigration

type NetworkMigration struct {
	// networkType is the target type of network migration. Set this to the
	// target network type to allow changing the default network. If unset, the
	// operation of changing cluster default network plugin will be rejected.
	// The supported values are OpenShiftSDN, OVNKubernetes
	// +optional
	NetworkType string `json:"networkType,omitempty"`

	// mtu contains the MTU migration configuration. Set this to allow changing
	// the MTU values for the default network. If unset, the operation of
	// changing the MTU for the default network will be rejected.
	// +optional
	MTU *MTUMigration `json:"mtu,omitempty"`

	// features contains the features migration configuration. Set this to migrate
	// feature configuration when changing the cluster default network provider.
	// if unset, the default operation is to migrate all the configuration of
	// supported features.
	// +optional
	Features *FeaturesMigration `json:"features,omitempty"`

	// mode indicates the mode of network migration.
	// The supported values are "Live", "Offline" and omitted.
	// A "Live" migration operation will not cause service interruption by migrating the CNI of each node one by one. The cluster network will work as normal during the network migration.
	// An "Offline" migration operation will cause service interruption. During an "Offline" migration, two rounds of node reboots are required. The cluster network will be malfunctioning during the network migration.
	// When omitted, this means no opinion and the platform is left to choose a reasonable default which is subject to change over time.
	// The current default value is "Offline".
	// +optional
	Mode NetworkMigrationMode `json:"mode"`
}

NetworkMigration represents the cluster network configuration. +openshift:validation:FeatureGateAwareXValidation:featureGate=NetworkLiveMigration,rule="!has(self.mtu) || !has(self.networkType) || self.networkType == \"\" || has(self.mode) && self.mode == 'Live'",message="networkType migration in mode other than 'Live' may not be configured at the same time as mtu migration"

func (*NetworkMigration) DeepCopy

func (in *NetworkMigration) DeepCopy() *NetworkMigration

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

func (*NetworkMigration) DeepCopyInto

func (in *NetworkMigration) DeepCopyInto(out *NetworkMigration)

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

func (NetworkMigration) SwaggerDoc

func (NetworkMigration) SwaggerDoc() map[string]string

type NetworkMigrationMode

type NetworkMigrationMode string

NetworkMigrationMode is an enumeration of the possible mode of the network migration Valid values are "Live", "Offline" and omitted. +kubebuilder:validation:Enum:=Live;Offline;""

const (
	// A "Live" migration operation will not cause service interruption by migrating the CNI of each node one by one. The cluster network will work as normal during the network migration.
	LiveNetworkMigrationMode NetworkMigrationMode = "Live"
	// An "Offline" migration operation will cause service interruption. During an "Offline" migration, two rounds of node reboots are required. The cluster network will be malfunctioning during the network migration.
	OfflineNetworkMigrationMode NetworkMigrationMode = "Offline"
)

type NetworkSpec

type NetworkSpec struct {
	OperatorSpec `json:",inline"`

	// clusterNetwork is the IP address pool to use for pod IPs.
	// Some network providers, e.g. OpenShift SDN, support multiple ClusterNetworks.
	// Others only support one. This is equivalent to the cluster-cidr.
	ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork"`

	// serviceNetwork is the ip address pool to use for Service IPs
	// Currently, all existing network providers only support a single value
	// here, but this is an array to allow for growth.
	ServiceNetwork []string `json:"serviceNetwork"`

	// defaultNetwork is the "default" network that all pods will receive
	DefaultNetwork DefaultNetworkDefinition `json:"defaultNetwork"`

	// additionalNetworks is a list of extra networks to make available to pods
	// when multiple networks are enabled.
	AdditionalNetworks []AdditionalNetworkDefinition `json:"additionalNetworks,omitempty"`

	// disableMultiNetwork specifies whether or not multiple pod network
	// support should be disabled. If unset, this property defaults to
	// 'false' and multiple network support is enabled.
	DisableMultiNetwork *bool `json:"disableMultiNetwork,omitempty"`

	// useMultiNetworkPolicy enables a controller which allows for
	// MultiNetworkPolicy objects to be used on additional networks as
	// created by Multus CNI. MultiNetworkPolicy are similar to NetworkPolicy
	// objects, but NetworkPolicy objects only apply to the primary interface.
	// With MultiNetworkPolicy, you can control the traffic that a pod can receive
	// over the secondary interfaces. If unset, this property defaults to 'false'
	// and MultiNetworkPolicy objects are ignored. If 'disableMultiNetwork' is
	// 'true' then the value of this field is ignored.
	UseMultiNetworkPolicy *bool `json:"useMultiNetworkPolicy,omitempty"`

	// deployKubeProxy specifies whether or not a standalone kube-proxy should
	// be deployed by the operator. Some network providers include kube-proxy
	// or similar functionality. If unset, the plugin will attempt to select
	// the correct value, which is false when OpenShift SDN and ovn-kubernetes are
	// used and true otherwise.
	// +optional
	DeployKubeProxy *bool `json:"deployKubeProxy,omitempty"`

	// disableNetworkDiagnostics specifies whether or not PodNetworkConnectivityCheck
	// CRs from a test pod to every node, apiserver and LB should be disabled or not.
	// If unset, this property defaults to 'false' and network diagnostics is enabled.
	// Setting this to 'true' would reduce the additional load of the pods performing the checks.
	// +optional
	// +kubebuilder:default:=false
	DisableNetworkDiagnostics bool `json:"disableNetworkDiagnostics"`

	// kubeProxyConfig lets us configure desired proxy configuration.
	// If not specified, sensible defaults will be chosen by OpenShift directly.
	// Not consumed by all network providers - currently only openshift-sdn.
	KubeProxyConfig *ProxyConfig `json:"kubeProxyConfig,omitempty"`

	// exportNetworkFlows enables and configures the export of network flow metadata from the pod network
	// by using protocols NetFlow, SFlow or IPFIX. Currently only supported on OVN-Kubernetes plugin.
	// If unset, flows will not be exported to any collector.
	// +optional
	ExportNetworkFlows *ExportNetworkFlows `json:"exportNetworkFlows,omitempty"`

	// migration enables and configures the cluster network migration. The
	// migration procedure allows to change the network type and the MTU.
	// +optional
	Migration *NetworkMigration `json:"migration,omitempty"`
}

NetworkSpec is the top-level network configuration object. +kubebuilder:validation:XValidation:rule="!has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding) || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == oldSelf.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Restricted' || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Global'",message="invalid value for IPForwarding, valid values are 'Restricted' or 'Global'"

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

func (NetworkSpec) SwaggerDoc

func (NetworkSpec) SwaggerDoc() map[string]string

type NetworkStatus

type NetworkStatus struct {
	OperatorStatus `json:",inline"`
}

NetworkStatus is detailed operator status, which is distilled up to the Network clusteroperator object.

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

func (NetworkStatus) SwaggerDoc

func (NetworkStatus) SwaggerDoc() map[string]string

type NetworkType

type NetworkType string

NetworkType describes the network plugin type to configure

const (
	// NetworkTypeOpenShiftSDN means the openshift-sdn plugin will be configured
	NetworkTypeOpenShiftSDN NetworkType = "OpenShiftSDN"

	// NetworkTypeOVNKubernetes means the ovn-kubernetes project will be configured.
	// This is currently not implemented.
	NetworkTypeOVNKubernetes NetworkType = "OVNKubernetes"

	// NetworkTypeRaw
	NetworkTypeRaw NetworkType = "Raw"

	// NetworkTypeSimpleMacvlan
	NetworkTypeSimpleMacvlan NetworkType = "SimpleMacvlan"
)

type NodeDisruptionPolicyClusterStatus

type NodeDisruptionPolicyClusterStatus struct {
	// files is a list of MachineConfig file definitions and actions to take to changes on those paths
	// +optional
	// +listType=map
	// +listMapKey=path
	// +kubebuilder:validation:MaxItems=100
	Files []NodeDisruptionPolicyStatusFile `json:"files,omitempty"`
	// units is a list MachineConfig unit definitions and actions to take on changes to those services
	// +optional
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MaxItems=100
	Units []NodeDisruptionPolicyStatusUnit `json:"units,omitempty"`
	// sshkey is the overall sshkey MachineConfig definition
	// +optional
	SSHKey NodeDisruptionPolicyStatusSSHKey `json:"sshkey,omitempty"`
}

NodeDisruptionPolicyClusterStatus is the type for the status object, rendered by the controller as a merge of cluster defaults and user provided policies

func (*NodeDisruptionPolicyClusterStatus) DeepCopy

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

func (*NodeDisruptionPolicyClusterStatus) DeepCopyInto

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

func (NodeDisruptionPolicyClusterStatus) SwaggerDoc

type NodeDisruptionPolicyConfig

type NodeDisruptionPolicyConfig struct {
	// files is a list of MachineConfig file definitions and actions to take to changes on those paths
	// This list supports a maximum of 50 entries.
	// +optional
	// +listType=map
	// +listMapKey=path
	// +kubebuilder:validation:MaxItems=50
	Files []NodeDisruptionPolicySpecFile `json:"files"`
	// units is a list MachineConfig unit definitions and actions to take on changes to those services
	// This list supports a maximum of 50 entries.
	// +optional
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MaxItems=50
	Units []NodeDisruptionPolicySpecUnit `json:"units"`
	// sshkey maps to the ignition.sshkeys field in the MachineConfig object, definition an action for this
	// will apply to all sshkey changes in the cluster
	// +optional
	SSHKey NodeDisruptionPolicySpecSSHKey `json:"sshkey"`
}

NodeDisruptionPolicyConfig is the overall spec definition for files/units/sshkeys

func (*NodeDisruptionPolicyConfig) DeepCopy

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

func (*NodeDisruptionPolicyConfig) DeepCopyInto

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

func (NodeDisruptionPolicyConfig) SwaggerDoc

func (NodeDisruptionPolicyConfig) SwaggerDoc() map[string]string

type NodeDisruptionPolicyServiceName

type NodeDisruptionPolicyServiceName string

+kubebuilder:validation:XValidation:rule=`self.matches('\\.(service|socket|device|mount|automount|swap|target|path|timer|snapshot|slice|scope)$')`, message="Invalid ${SERVICETYPE} in service name. Expected format is ${NAME}${SERVICETYPE}, where ${SERVICETYPE} must be one of \".service\", \".socket\", \".device\", \".mount\", \".automount\", \".swap\", \".target\", \".path\", \".timer\",\".snapshot\", \".slice\" or \".scope\"." +kubebuilder:validation:XValidation:rule=`self.matches('^[a-zA-Z0-9:._\\\\-]+\\..')`, message="Invalid ${NAME} in service name. Expected format is ${NAME}${SERVICETYPE}, where {NAME} must be atleast 1 character long and can only consist of alphabets, digits, \":\", \"-\", \"_\", \".\", and \"\\\"" +kubebuilder:validation:MaxLength=255

type NodeDisruptionPolicySpecAction

type NodeDisruptionPolicySpecAction struct {
	// type represents the commands that will be carried out if this NodeDisruptionPolicySpecActionType is executed
	// Valid values are Reboot, Drain, Reload, Restart, DaemonReload and None.
	// reload/restart requires a corresponding service target specified in the reload/restart field.
	// Other values require no further configuration
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	Type NodeDisruptionPolicySpecActionType `json:"type"`
	// reload specifies the service to reload, only valid if type is reload
	// +optional
	Reload *ReloadService `json:"reload,omitempty"`
	// restart specifies the service to restart, only valid if type is restart
	// +optional
	Restart *RestartService `json:"restart,omitempty"`
}

+kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Reload' ? has(self.reload) : !has(self.reload)",message="reload is required when type is Reload, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Restart' ? has(self.restart) : !has(self.restart)",message="restart is required when type is Restart, and forbidden otherwise" +union

func (*NodeDisruptionPolicySpecAction) DeepCopy

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

func (*NodeDisruptionPolicySpecAction) DeepCopyInto

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

func (NodeDisruptionPolicySpecAction) SwaggerDoc

func (NodeDisruptionPolicySpecAction) SwaggerDoc() map[string]string

type NodeDisruptionPolicySpecActionType

type NodeDisruptionPolicySpecActionType string

NodeDisruptionPolicySpecActionType is a string enum used in a NodeDisruptionPolicySpecAction object. They describe an action to be performed. +kubebuilder:validation:Enum:="Reboot";"Drain";"Reload";"Restart";"DaemonReload";"None"

const (
	// Reboot represents an action that will cause nodes to be rebooted. This is the default action by the MCO
	// if a reboot policy is not found for a change/update being performed by the MCO.
	RebootSpecAction NodeDisruptionPolicySpecActionType = "Reboot"

	// Drain represents an action that will cause nodes to be drained of their workloads.
	DrainSpecAction NodeDisruptionPolicySpecActionType = "Drain"

	// Reload represents an action that will cause nodes to reload the service described by the Target field.
	ReloadSpecAction NodeDisruptionPolicySpecActionType = "Reload"

	// Restart represents an action that will cause nodes to restart the service described by the Target field.
	RestartSpecAction NodeDisruptionPolicySpecActionType = "Restart"

	// DaemonReload represents an action that TBD
	DaemonReloadSpecAction NodeDisruptionPolicySpecActionType = "DaemonReload"

	// None represents an action that no handling is required by the MCO.
	NoneSpecAction NodeDisruptionPolicySpecActionType = "None"
)

type NodeDisruptionPolicySpecFile

type NodeDisruptionPolicySpecFile struct {
	// path is the location of a file being managed through a MachineConfig.
	// The Actions in the policy will apply to changes to the file at this path.
	// +kubebuilder:validation:Required
	Path string `json:"path"`
	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicySpecAction `json:"actions"`
}

NodeDisruptionPolicySpecFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object

func (*NodeDisruptionPolicySpecFile) DeepCopy

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

func (*NodeDisruptionPolicySpecFile) DeepCopyInto

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

func (NodeDisruptionPolicySpecFile) SwaggerDoc

func (NodeDisruptionPolicySpecFile) SwaggerDoc() map[string]string

type NodeDisruptionPolicySpecSSHKey

type NodeDisruptionPolicySpecSSHKey struct {
	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicySpecAction `json:"actions"`
}

NodeDisruptionPolicySpecSSHKey is actions to take for any SSHKey change and is used in the NodeDisruptionPolicyConfig object

func (*NodeDisruptionPolicySpecSSHKey) DeepCopy

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

func (*NodeDisruptionPolicySpecSSHKey) DeepCopyInto

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

func (NodeDisruptionPolicySpecSSHKey) SwaggerDoc

func (NodeDisruptionPolicySpecSSHKey) SwaggerDoc() map[string]string

type NodeDisruptionPolicySpecUnit

type NodeDisruptionPolicySpecUnit struct {
	// name represents the service name of a systemd service managed through a MachineConfig
	// Actions specified will be applied for changes to the named service.
	// Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long.
	// ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\".
	// ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".
	// +kubebuilder:validation:Required
	Name NodeDisruptionPolicyServiceName `json:"name"`

	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicySpecAction `json:"actions"`
}

NodeDisruptionPolicySpecUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyConfig object

func (*NodeDisruptionPolicySpecUnit) DeepCopy

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

func (*NodeDisruptionPolicySpecUnit) DeepCopyInto

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

func (NodeDisruptionPolicySpecUnit) SwaggerDoc

func (NodeDisruptionPolicySpecUnit) SwaggerDoc() map[string]string

type NodeDisruptionPolicyStatus

type NodeDisruptionPolicyStatus struct {
	// clusterPolicies is a merge of cluster default and user provided node disruption policies.
	// +optional
	ClusterPolicies NodeDisruptionPolicyClusterStatus `json:"clusterPolicies"`
}

func (*NodeDisruptionPolicyStatus) DeepCopy

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

func (*NodeDisruptionPolicyStatus) DeepCopyInto

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

func (NodeDisruptionPolicyStatus) SwaggerDoc

func (NodeDisruptionPolicyStatus) SwaggerDoc() map[string]string

type NodeDisruptionPolicyStatusAction

type NodeDisruptionPolicyStatusAction struct {
	// type represents the commands that will be carried out if this NodeDisruptionPolicyStatusActionType is executed
	// Valid values are Reboot, Drain, Reload, Restart, DaemonReload, None and Special.
	// reload/restart requires a corresponding service target specified in the reload/restart field.
	// Other values require no further configuration
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	Type NodeDisruptionPolicyStatusActionType `json:"type"`
	// reload specifies the service to reload, only valid if type is reload
	// +optional
	Reload *ReloadService `json:"reload,omitempty"`
	// restart specifies the service to restart, only valid if type is restart
	// +optional
	Restart *RestartService `json:"restart,omitempty"`
}

+kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Reload' ? has(self.reload) : !has(self.reload)",message="reload is required when type is Reload, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Restart' ? has(self.restart) : !has(self.restart)",message="restart is required when type is Restart, and forbidden otherwise" +union

func (*NodeDisruptionPolicyStatusAction) DeepCopy

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

func (*NodeDisruptionPolicyStatusAction) DeepCopyInto

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

func (NodeDisruptionPolicyStatusAction) SwaggerDoc

type NodeDisruptionPolicyStatusActionType

type NodeDisruptionPolicyStatusActionType string

NodeDisruptionPolicyStatusActionType is a string enum used in a NodeDisruptionPolicyStatusAction object. They describe an action to be performed. The key difference of this object from NodeDisruptionPolicySpecActionType is that there is a additional SpecialStatusAction value in this enum. This will only be used by the MCO's controller to indicate some internal actions. They are not part of the NodeDisruptionPolicyConfig object and cannot be set by the user. +kubebuilder:validation:Enum:="Reboot";"Drain";"Reload";"Restart";"DaemonReload";"None";"Special"

const (
	// Reboot represents an action that will cause nodes to be rebooted. This is the default action by the MCO
	// if a reboot policy is not found for a change/update being performed by the MCO.
	RebootStatusAction NodeDisruptionPolicyStatusActionType = "Reboot"

	// Drain represents an action that will cause nodes to be drained of their workloads.
	DrainStatusAction NodeDisruptionPolicyStatusActionType = "Drain"

	// Reload represents an action that will cause nodes to reload the service described by the Target field.
	ReloadStatusAction NodeDisruptionPolicyStatusActionType = "Reload"

	// Restart represents an action that will cause nodes to restart the service described by the Target field.
	RestartStatusAction NodeDisruptionPolicyStatusActionType = "Restart"

	// DaemonReload represents an action that TBD
	DaemonReloadStatusAction NodeDisruptionPolicyStatusActionType = "DaemonReload"

	// None represents an action that no handling is required by the MCO.
	NoneStatusAction NodeDisruptionPolicyStatusActionType = "None"

	// Special represents an action that is internal to the MCO, and is not allowed in user defined NodeDisruption policies.
	SpecialStatusAction NodeDisruptionPolicyStatusActionType = "Special"
)

type NodeDisruptionPolicyStatusFile

type NodeDisruptionPolicyStatusFile struct {
	// path is the location of a file being managed through a MachineConfig.
	// The Actions in the policy will apply to changes to the file at this path.
	// +kubebuilder:validation:Required
	Path string `json:"path"`
	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicyStatusAction `json:"actions"`
}

NodeDisruptionPolicyStatusFile is a file entry and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object

func (*NodeDisruptionPolicyStatusFile) DeepCopy

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

func (*NodeDisruptionPolicyStatusFile) DeepCopyInto

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

func (NodeDisruptionPolicyStatusFile) SwaggerDoc

func (NodeDisruptionPolicyStatusFile) SwaggerDoc() map[string]string

type NodeDisruptionPolicyStatusSSHKey

type NodeDisruptionPolicyStatusSSHKey struct {
	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicyStatusAction `json:"actions"`
}

NodeDisruptionPolicyStatusSSHKey is actions to take for any SSHKey change and is used in the NodeDisruptionPolicyClusterStatus object

func (*NodeDisruptionPolicyStatusSSHKey) DeepCopy

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

func (*NodeDisruptionPolicyStatusSSHKey) DeepCopyInto

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

func (NodeDisruptionPolicyStatusSSHKey) SwaggerDoc

type NodeDisruptionPolicyStatusUnit

type NodeDisruptionPolicyStatusUnit struct {
	// name represents the service name of a systemd service managed through a MachineConfig
	// Actions specified will be applied for changes to the named service.
	// Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long.
	// ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\".
	// ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".
	// +kubebuilder:validation:Required
	Name NodeDisruptionPolicyServiceName `json:"name"`

	// actions represents the series of commands to be executed on changes to the file at
	// the corresponding file path. Actions will be applied in the order that
	// they are set in this list. If there are other incoming changes to other MachineConfig
	// entries in the same update that require a reboot, the reboot will supercede these actions.
	// Valid actions are Reboot, Drain, Reload, DaemonReload and None.
	// The Reboot action and the None action cannot be used in conjunction with any of the other actions.
	// This list supports a maximum of 10 entries.
	// +kubebuilder:validation:Required
	// +listType=atomic
	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions"
	// +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='None') ? size(self) == 1 : true", message="None action can only be specified standalone, as it will override any other actions"
	Actions []NodeDisruptionPolicyStatusAction `json:"actions"`
}

NodeDisruptionPolicyStatusUnit is a systemd unit name and corresponding actions to take and is used in the NodeDisruptionPolicyClusterStatus object

func (*NodeDisruptionPolicyStatusUnit) DeepCopy

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

func (*NodeDisruptionPolicyStatusUnit) DeepCopyInto

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

func (NodeDisruptionPolicyStatusUnit) SwaggerDoc

func (NodeDisruptionPolicyStatusUnit) SwaggerDoc() map[string]string

type NodePlacement

type NodePlacement struct {
	// nodeSelector is the node selector applied to ingress controller
	// deployments.
	//
	// If set, the specified selector is used and replaces the default.
	//
	// If unset, the default depends on the value of the defaultPlacement
	// field in the cluster config.openshift.io/v1/ingresses status.
	//
	// When defaultPlacement is Workers, the default is:
	//
	//   kubernetes.io/os: linux
	//   node-role.kubernetes.io/worker: ”
	//
	// When defaultPlacement is ControlPlane, the default is:
	//
	//   kubernetes.io/os: linux
	//   node-role.kubernetes.io/master: ”
	//
	// These defaults are subject to change.
	//
	// Note that using nodeSelector.matchExpressions is not supported.  Only
	// nodeSelector.matchLabels may be used.  This is a limitation of the
	// Kubernetes API: the pod spec does not allow complex expressions for
	// node selectors.
	//
	// +optional
	NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`

	// tolerations is a list of tolerations applied to ingress controller
	// deployments.
	//
	// The default is an empty list.
	//
	// See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
	//
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

NodePlacement describes node scheduling configuration for an ingress controller.

func (*NodePlacement) DeepCopy

func (in *NodePlacement) DeepCopy() *NodePlacement

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

func (*NodePlacement) DeepCopyInto

func (in *NodePlacement) DeepCopyInto(out *NodePlacement)

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

func (NodePlacement) SwaggerDoc

func (NodePlacement) SwaggerDoc() map[string]string

type NodePortStrategy

type NodePortStrategy struct {
	// protocol specifies whether the IngressController expects incoming
	// connections to use plain TCP or whether the IngressController expects
	// PROXY protocol.
	//
	// PROXY protocol can be used with load balancers that support it to
	// communicate the source addresses of client connections when
	// forwarding those connections to the IngressController.  Using PROXY
	// protocol enables the IngressController to report those source
	// addresses instead of reporting the load balancer's address in HTTP
	// headers and logs.  Note that enabling PROXY protocol on the
	// IngressController will cause connections to fail if you are not using
	// a load balancer that uses PROXY protocol to forward connections to
	// the IngressController.  See
	// http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for
	// information about PROXY protocol.
	//
	// The following values are valid for this field:
	//
	// * The empty string.
	// * "TCP".
	// * "PROXY".
	//
	// The empty string specifies the default, which is TCP without PROXY
	// protocol.  Note that the default is subject to change.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Protocol IngressControllerProtocol `json:"protocol,omitempty"`
}

NodePortStrategy holds parameters for the NodePortService endpoint publishing strategy.

func (*NodePortStrategy) DeepCopy

func (in *NodePortStrategy) DeepCopy() *NodePortStrategy

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

func (*NodePortStrategy) DeepCopyInto

func (in *NodePortStrategy) DeepCopyInto(out *NodePortStrategy)

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

func (NodePortStrategy) SwaggerDoc

func (NodePortStrategy) SwaggerDoc() map[string]string

type NodeStatus

type NodeStatus struct {
	// nodeName is the name of the node
	// +kubebuilder:validation:Required
	NodeName string `json:"nodeName"`

	// currentRevision is the generation of the most recently successful deployment
	CurrentRevision int32 `json:"currentRevision"`
	// targetRevision is the generation of the deployment we're trying to apply
	TargetRevision int32 `json:"targetRevision,omitempty"`

	// lastFailedRevision is the generation of the deployment we tried and failed to deploy.
	LastFailedRevision int32 `json:"lastFailedRevision,omitempty"`
	// lastFailedTime is the time the last failed revision failed the last time.
	LastFailedTime *metav1.Time `json:"lastFailedTime,omitempty"`
	// lastFailedReason is a machine readable failure reason string.
	LastFailedReason string `json:"lastFailedReason,omitempty"`
	// lastFailedCount is how often the installer pod of the last failed revision failed.
	LastFailedCount int `json:"lastFailedCount,omitempty"`
	// lastFallbackCount is how often a fallback to a previous revision happened.
	LastFallbackCount int `json:"lastFallbackCount,omitempty"`
	// lastFailedRevisionErrors is a list of human readable errors during the failed deployment referenced in lastFailedRevision.
	// +listType=atomic
	LastFailedRevisionErrors []string `json:"lastFailedRevisionErrors,omitempty"`
}

NodeStatus provides information about the current state of a particular node managed by this operator.

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

func (NodeStatus) SwaggerDoc

func (NodeStatus) SwaggerDoc() map[string]string

type OAuthAPIServerStatus

type OAuthAPIServerStatus struct {
	// LatestAvailableRevision is the latest revision used as suffix of revisioned
	// secrets like encryption-config. A new revision causes a new deployment of pods.
	// +optional
	// +kubebuilder:validation:Minimum=0
	LatestAvailableRevision int32 `json:"latestAvailableRevision,omitempty"`
}

func (*OAuthAPIServerStatus) DeepCopy

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

func (*OAuthAPIServerStatus) DeepCopyInto

func (in *OAuthAPIServerStatus) DeepCopyInto(out *OAuthAPIServerStatus)

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

func (OAuthAPIServerStatus) SwaggerDoc

func (OAuthAPIServerStatus) SwaggerDoc() map[string]string

type OVNKubernetesConfig

type OVNKubernetesConfig struct {
	// mtu is the MTU to use for the tunnel interface. This must be 100
	// bytes smaller than the uplink mtu.
	// Default is 1400
	// +kubebuilder:validation:Minimum=0
	// +optional
	MTU *uint32 `json:"mtu,omitempty"`
	// geneve port is the UDP port to be used by geneve encapulation.
	// Default is 6081
	// +kubebuilder:validation:Minimum=1
	// +optional
	GenevePort *uint32 `json:"genevePort,omitempty"`
	// HybridOverlayConfig configures an additional overlay network for peers that are
	// not using OVN.
	// +optional
	HybridOverlayConfig *HybridOverlayConfig `json:"hybridOverlayConfig,omitempty"`
	// ipsecConfig enables and configures IPsec for pods on the pod network within the
	// cluster.
	// +optional
	// +kubebuilder:default={"mode": "Disabled"}
	// +default={"mode": "Disabled"}
	IPsecConfig *IPsecConfig `json:"ipsecConfig,omitempty"`
	// policyAuditConfig is the configuration for network policy audit events. If unset,
	// reported defaults are used.
	// +optional
	PolicyAuditConfig *PolicyAuditConfig `json:"policyAuditConfig,omitempty"`
	// gatewayConfig holds the configuration for node gateway options.
	// +optional
	GatewayConfig *GatewayConfig `json:"gatewayConfig,omitempty"`
	// v4InternalSubnet is a v4 subnet used internally by ovn-kubernetes in case the
	// default one is being already used by something else. It must not overlap with
	// any other subnet being used by OpenShift or by the node network. The size of the
	// subnet must be larger than the number of nodes. The value cannot be changed
	// after installation.
	// Default is 100.64.0.0/16
	// +optional
	V4InternalSubnet string `json:"v4InternalSubnet,omitempty"`
	// v6InternalSubnet is a v6 subnet used internally by ovn-kubernetes in case the
	// default one is being already used by something else. It must not overlap with
	// any other subnet being used by OpenShift or by the node network. The size of the
	// subnet must be larger than the number of nodes. The value cannot be changed
	// after installation.
	// Default is fd98::/48
	// +optional
	V6InternalSubnet string `json:"v6InternalSubnet,omitempty"`
	// egressIPConfig holds the configuration for EgressIP options.
	// +optional
	EgressIPConfig EgressIPConfig `json:"egressIPConfig,omitempty"`
	// ipv4 allows users to configure IP settings for IPv4 connections. When ommitted,
	// this means no opinions and the default configuration is used. Check individual
	// fields within ipv4 for details of default values.
	// +optional
	IPv4 *IPv4OVNKubernetesConfig `json:"ipv4,omitempty"`
	// ipv6 allows users to configure IP settings for IPv6 connections. When ommitted,
	// this means no opinions and the default configuration is used. Check individual
	// fields within ipv4 for details of default values.
	// +optional
	IPv6 *IPv6OVNKubernetesConfig `json:"ipv6,omitempty"`
}

ovnKubernetesConfig contains the configuration parameters for networks using the ovn-kubernetes network project

func (*OVNKubernetesConfig) DeepCopy

func (in *OVNKubernetesConfig) DeepCopy() *OVNKubernetesConfig

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

func (*OVNKubernetesConfig) DeepCopyInto

func (in *OVNKubernetesConfig) DeepCopyInto(out *OVNKubernetesConfig)

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

func (OVNKubernetesConfig) SwaggerDoc

func (OVNKubernetesConfig) SwaggerDoc() map[string]string

type OpenShiftAPIServer

type OpenShiftAPIServer struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec is the specification of the desired behavior of the OpenShift API Server.
	// +kubebuilder:validation:Required
	// +required
	Spec OpenShiftAPIServerSpec `json:"spec"`

	// status defines the observed status of the OpenShift API Server.
	// +optional
	Status OpenShiftAPIServerStatus `json:"status"`
}

OpenShiftAPIServer provides information to configure an operator to manage openshift-apiserver.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*OpenShiftAPIServer) DeepCopy

func (in *OpenShiftAPIServer) DeepCopy() *OpenShiftAPIServer

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

func (*OpenShiftAPIServer) DeepCopyInto

func (in *OpenShiftAPIServer) DeepCopyInto(out *OpenShiftAPIServer)

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

func (*OpenShiftAPIServer) DeepCopyObject

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

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

func (OpenShiftAPIServer) SwaggerDoc

func (OpenShiftAPIServer) SwaggerDoc() map[string]string

type OpenShiftAPIServerList

type OpenShiftAPIServerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []OpenShiftAPIServer `json:"items"`
}

OpenShiftAPIServerList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*OpenShiftAPIServerList) DeepCopy

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

func (*OpenShiftAPIServerList) DeepCopyInto

func (in *OpenShiftAPIServerList) DeepCopyInto(out *OpenShiftAPIServerList)

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

func (*OpenShiftAPIServerList) DeepCopyObject

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

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

func (OpenShiftAPIServerList) SwaggerDoc

func (OpenShiftAPIServerList) SwaggerDoc() map[string]string

type OpenShiftAPIServerSpec

type OpenShiftAPIServerSpec struct {
	OperatorSpec `json:",inline"`
}

func (*OpenShiftAPIServerSpec) DeepCopy

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

func (*OpenShiftAPIServerSpec) DeepCopyInto

func (in *OpenShiftAPIServerSpec) DeepCopyInto(out *OpenShiftAPIServerSpec)

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

type OpenShiftAPIServerStatus

type OpenShiftAPIServerStatus struct {
	OperatorStatus `json:",inline"`

	// latestAvailableRevision is the latest revision used as suffix of revisioned
	// secrets like encryption-config. A new revision causes a new deployment of
	// pods.
	// +optional
	// +kubebuilder:validation:Minimum=0
	LatestAvailableRevision int32 `json:"latestAvailableRevision,omitempty"`
}

func (*OpenShiftAPIServerStatus) DeepCopy

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

func (*OpenShiftAPIServerStatus) DeepCopyInto

func (in *OpenShiftAPIServerStatus) DeepCopyInto(out *OpenShiftAPIServerStatus)

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

func (OpenShiftAPIServerStatus) SwaggerDoc

func (OpenShiftAPIServerStatus) SwaggerDoc() map[string]string

type OpenShiftControllerManager

type OpenShiftControllerManager struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// +kubebuilder:validation:Required
	// +required
	Spec OpenShiftControllerManagerSpec `json:"spec"`
	// +optional
	Status OpenShiftControllerManagerStatus `json:"status"`
}

OpenShiftControllerManager provides information to configure an operator to manage openshift-controller-manager.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*OpenShiftControllerManager) DeepCopy

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

func (*OpenShiftControllerManager) DeepCopyInto

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

func (*OpenShiftControllerManager) DeepCopyObject

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

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

func (OpenShiftControllerManager) SwaggerDoc

func (OpenShiftControllerManager) SwaggerDoc() map[string]string

type OpenShiftControllerManagerList

type OpenShiftControllerManagerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []OpenShiftControllerManager `json:"items"`
}

OpenShiftControllerManagerList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*OpenShiftControllerManagerList) DeepCopy

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

func (*OpenShiftControllerManagerList) DeepCopyInto

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

func (*OpenShiftControllerManagerList) DeepCopyObject

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

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

func (OpenShiftControllerManagerList) SwaggerDoc

func (OpenShiftControllerManagerList) SwaggerDoc() map[string]string

type OpenShiftControllerManagerSpec

type OpenShiftControllerManagerSpec struct {
	OperatorSpec `json:",inline"`
}

func (*OpenShiftControllerManagerSpec) DeepCopy

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

func (*OpenShiftControllerManagerSpec) DeepCopyInto

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

type OpenShiftControllerManagerStatus

type OpenShiftControllerManagerStatus struct {
	OperatorStatus `json:",inline"`
}

func (*OpenShiftControllerManagerStatus) DeepCopy

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

func (*OpenShiftControllerManagerStatus) DeepCopyInto

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

type OpenShiftSDNConfig

type OpenShiftSDNConfig struct {
	// mode is one of "Multitenant", "Subnet", or "NetworkPolicy"
	Mode SDNMode `json:"mode"`

	// vxlanPort is the port to use for all vxlan packets. The default is 4789.
	// +kubebuilder:validation:Minimum=0
	// +optional
	VXLANPort *uint32 `json:"vxlanPort,omitempty"`

	// mtu is the mtu to use for the tunnel interface. Defaults to 1450 if unset.
	// This must be 50 bytes smaller than the machine's uplink.
	// +kubebuilder:validation:Minimum=0
	// +optional
	MTU *uint32 `json:"mtu,omitempty"`

	// useExternalOpenvswitch used to control whether the operator would deploy an OVS
	// DaemonSet itself or expect someone else to start OVS. As of 4.6, OVS is always
	// run as a system service, and this flag is ignored.
	// DEPRECATED: non-functional as of 4.6
	// +optional
	UseExternalOpenvswitch *bool `json:"useExternalOpenvswitch,omitempty"`

	// enableUnidling controls whether or not the service proxy will support idling
	// and unidling of services. By default, unidling is enabled.
	EnableUnidling *bool `json:"enableUnidling,omitempty"`
}

OpenShiftSDNConfig configures the three openshift-sdn plugins

func (*OpenShiftSDNConfig) DeepCopy

func (in *OpenShiftSDNConfig) DeepCopy() *OpenShiftSDNConfig

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

func (*OpenShiftSDNConfig) DeepCopyInto

func (in *OpenShiftSDNConfig) DeepCopyInto(out *OpenShiftSDNConfig)

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

func (OpenShiftSDNConfig) SwaggerDoc

func (OpenShiftSDNConfig) SwaggerDoc() map[string]string

type OperatorCondition

type OperatorCondition struct {
	// +kubebuilder:validation:Required
	Type               string          `json:"type"`
	Status             ConditionStatus `json:"status"`
	LastTransitionTime metav1.Time     `json:"lastTransitionTime,omitempty"`
	Reason             string          `json:"reason,omitempty"`
	Message            string          `json:"message,omitempty"`
}

OperatorCondition is just the standard condition fields.

func (*OperatorCondition) DeepCopy

func (in *OperatorCondition) DeepCopy() *OperatorCondition

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

func (*OperatorCondition) DeepCopyInto

func (in *OperatorCondition) DeepCopyInto(out *OperatorCondition)

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

func (OperatorCondition) SwaggerDoc

func (OperatorCondition) SwaggerDoc() map[string]string

type OperatorSpec

type OperatorSpec struct {
	// managementState indicates whether and how the operator should manage the component
	ManagementState ManagementState `json:"managementState"`

	// logLevel is an intent based logging for an overall component.  It does not give fine grained control, but it is a
	// simple way to manage coarse grained logging choices that operators have to interpret for their operands.
	//
	// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
	// Defaults to "Normal".
	// +optional
	// +kubebuilder:default=Normal
	LogLevel LogLevel `json:"logLevel,omitempty"`

	// operatorLogLevel is an intent based logging for the operator itself.  It does not give fine grained control, but it is a
	// simple way to manage coarse grained logging choices that operators have to interpret for themselves.
	//
	// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
	// Defaults to "Normal".
	// +optional
	// +kubebuilder:default=Normal
	OperatorLogLevel LogLevel `json:"operatorLogLevel,omitempty"`

	// unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
	// Red Hat does not support the use of this field.
	// Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
	// Seek guidance from the Red Hat support before using this field.
	// Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
	// +optional
	// +nullable
	// +kubebuilder:pruning:PreserveUnknownFields
	UnsupportedConfigOverrides runtime.RawExtension `json:"unsupportedConfigOverrides"`

	// observedConfig holds a sparse config that controller has observed from the cluster state.  It exists in spec because
	// it is an input to the level for the operator
	// +optional
	// +nullable
	// +kubebuilder:pruning:PreserveUnknownFields
	ObservedConfig runtime.RawExtension `json:"observedConfig"`
}

OperatorSpec contains common fields operators need. It is intended to be anonymous included inside of the Spec struct for your particular operator.

func (*OperatorSpec) DeepCopy

func (in *OperatorSpec) DeepCopy() *OperatorSpec

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

func (*OperatorSpec) DeepCopyInto

func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec)

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

func (OperatorSpec) SwaggerDoc

func (OperatorSpec) SwaggerDoc() map[string]string

type OperatorStatus

type OperatorStatus struct {
	// observedGeneration is the last generation change you've dealt with
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// conditions is a list of conditions and their status
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []OperatorCondition `json:"conditions,omitempty"`

	// version is the level this availability applies to
	// +optional
	Version string `json:"version,omitempty"`

	// readyReplicas indicates how many replicas are ready and at the desired state
	ReadyReplicas int32 `json:"readyReplicas"`

	// generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.
	// +listType=atomic
	// +optional
	Generations []GenerationStatus `json:"generations,omitempty"`
}

func (*OperatorStatus) DeepCopy

func (in *OperatorStatus) DeepCopy() *OperatorStatus

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

func (*OperatorStatus) DeepCopyInto

func (in *OperatorStatus) DeepCopyInto(out *OperatorStatus)

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

func (OperatorStatus) SwaggerDoc

func (OperatorStatus) SwaggerDoc() map[string]string

type PartialSelector

type PartialSelector struct {
	// machineResourceSelector is a label selector that can be used to select machine resources like MachineSets.
	// +kubebuilder:validation:Required
	MachineResourceSelector *metav1.LabelSelector `json:"machineResourceSelector,omitempty"`
}

PartialSelector provides label selector(s) that can be used to match machine management resources.

func (*PartialSelector) DeepCopy

func (in *PartialSelector) DeepCopy() *PartialSelector

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

func (*PartialSelector) DeepCopyInto

func (in *PartialSelector) DeepCopyInto(out *PartialSelector)

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

func (PartialSelector) SwaggerDoc

func (PartialSelector) SwaggerDoc() map[string]string

type Perspective

type Perspective struct {
	// id defines the id of the perspective.
	// Example: "dev", "admin".
	// The available perspective ids can be found in the code snippet section next to the yaml editor.
	// Incorrect or unknown ids will be ignored.
	// +kubebuilder:validation:Required
	ID string `json:"id"`
	// visibility defines the state of perspective along with access review checks if needed for that perspective.
	// +kubebuilder:validation:Required
	Visibility PerspectiveVisibility `json:"visibility"`
	// pinnedResources defines the list of default pinned resources that users will see on the perspective navigation if they have not customized these pinned resources themselves.
	// The list of available Kubernetes resources could be read via `kubectl api-resources`.
	// The console will also provide a configuration UI and a YAML snippet that will list the available resources that can be pinned to the navigation.
	// Incorrect or unknown resources will be ignored.
	// +kubebuilder:validation:MaxItems=100
	// +optional
	PinnedResources *[]PinnedResourceReference `json:"pinnedResources,omitempty"`
}

Perspective defines a perspective that cluster admins want to show/hide in the perspective switcher dropdown +kubebuilder:validation:XValidation:rule="has(self.id) && self.id != 'dev'? !has(self.pinnedResources) : true",message="pinnedResources is allowed only for dev and forbidden for other perspectives" +optional

func (*Perspective) DeepCopy

func (in *Perspective) DeepCopy() *Perspective

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

func (*Perspective) DeepCopyInto

func (in *Perspective) DeepCopyInto(out *Perspective)

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

func (Perspective) SwaggerDoc

func (Perspective) SwaggerDoc() map[string]string

type PerspectiveState

type PerspectiveState string

PerspectiveState defines the visibility state of the perspective. "Enabled" means the perspective is shown. "Disabled" means the Perspective is hidden. "AccessReview" means access review check is required to show or hide a Perspective.

const (
	PerspectiveEnabled      PerspectiveState = "Enabled"
	PerspectiveDisabled     PerspectiveState = "Disabled"
	PerspectiveAccessReview PerspectiveState = "AccessReview"
)

type PerspectiveVisibility

type PerspectiveVisibility struct {
	// state defines the perspective is enabled or disabled or access review check is required.
	// +unionDiscriminator
	// +kubebuilder:validation:Enum:="Enabled";"Disabled";"AccessReview"
	// +kubebuilder:validation:Required
	State PerspectiveState `json:"state"`
	// accessReview defines required and missing access review checks.
	// +optional
	AccessReview *ResourceAttributesAccessReview `json:"accessReview,omitempty"`
}

PerspectiveVisibility defines the criteria to show/hide a perspective +kubebuilder:validation:XValidation:rule="self.state == 'AccessReview' ? has(self.accessReview) : !has(self.accessReview)",message="accessReview configuration is required when state is AccessReview, and forbidden otherwise" +union

func (*PerspectiveVisibility) DeepCopy

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

func (*PerspectiveVisibility) DeepCopyInto

func (in *PerspectiveVisibility) DeepCopyInto(out *PerspectiveVisibility)

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

func (PerspectiveVisibility) SwaggerDoc

func (PerspectiveVisibility) SwaggerDoc() map[string]string

type PinnedResourceReference

type PinnedResourceReference struct {
	// group is the API Group of the Resource.
	// Enter empty string for the core group.
	// This value should consist of only lowercase alphanumeric characters, hyphens and periods.
	// Example: "", "apps", "build.openshift.io", etc.
	// +kubebuilder:validation:Pattern:="^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
	// +kubebuilder:validation:Required
	Group string `json:"group"`
	// version is the API Version of the Resource.
	// This value should consist of only lowercase alphanumeric characters.
	// Example: "v1", "v1beta1", etc.
	// +kubebuilder:validation:Pattern:="^[a-z0-9]+$"
	// +kubebuilder:validation:Required
	Version string `json:"version"`
	// resource is the type that is being referenced.
	// It is normally the plural form of the resource kind in lowercase.
	// This value should consist of only lowercase alphanumeric characters and hyphens.
	// Example: "deployments", "deploymentconfigs", "pods", etc.
	// +kubebuilder:validation:Pattern:="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
	// +kubebuilder:validation:Required
	Resource string `json:"resource"`
}

PinnedResourceReference includes the group, version and type of resource

func (*PinnedResourceReference) DeepCopy

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

func (*PinnedResourceReference) DeepCopyInto

func (in *PinnedResourceReference) DeepCopyInto(out *PinnedResourceReference)

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

func (PinnedResourceReference) SwaggerDoc

func (PinnedResourceReference) SwaggerDoc() map[string]string

type PolicyAuditConfig

type PolicyAuditConfig struct {
	// rateLimit is the approximate maximum number of messages to generate per-second per-node. If
	// unset the default of 20 msg/sec is used.
	// +kubebuilder:default=20
	// +kubebuilder:validation:Minimum=1
	// +optional
	RateLimit *uint32 `json:"rateLimit,omitempty"`

	// maxFilesSize is the max size an ACL_audit log file is allowed to reach before rotation occurs
	// Units are in MB and the Default is 50MB
	// +kubebuilder:default=50
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxFileSize *uint32 `json:"maxFileSize,omitempty"`

	// maxLogFiles specifies the maximum number of ACL_audit log files that can be present.
	// +kubebuilder:default=5
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxLogFiles *int32 `json:"maxLogFiles,omitempty"`

	// destination is the location for policy log messages.
	// Regardless of this config, persistent logs will always be dumped to the host
	// at /var/log/ovn/ however
	// Additionally syslog output may be configured as follows.
	// Valid values are:
	// - "libc" -> to use the libc syslog() function of the host node's journdald process
	// - "udp:host:port" -> for sending syslog over UDP
	// - "unix:file" -> for using the UNIX domain socket directly
	// - "null" -> to discard all messages logged to syslog
	// The default is "null"
	// +kubebuilder:default=null
	// +kubebuilder:pattern='^libc$|^null$|^udp:(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]):([0-9]){0,5}$|^unix:(\/[^\/ ]*)+([^\/\s])$'
	// +optional
	Destination string `json:"destination,omitempty"`

	// syslogFacility the RFC5424 facility for generated messages, e.g. "kern". Default is "local0"
	// +kubebuilder:default=local0
	// +kubebuilder:Enum=kern;user;mail;daemon;auth;syslog;lpr;news;uucp;clock;ftp;ntp;audit;alert;clock2;local0;local1;local2;local3;local4;local5;local6;local7
	// +optional
	SyslogFacility string `json:"syslogFacility,omitempty"`
}

func (*PolicyAuditConfig) DeepCopy

func (in *PolicyAuditConfig) DeepCopy() *PolicyAuditConfig

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

func (*PolicyAuditConfig) DeepCopyInto

func (in *PolicyAuditConfig) DeepCopyInto(out *PolicyAuditConfig)

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

func (PolicyAuditConfig) SwaggerDoc

func (PolicyAuditConfig) SwaggerDoc() map[string]string

type PrivateStrategy

type PrivateStrategy struct {
	// protocol specifies whether the IngressController expects incoming
	// connections to use plain TCP or whether the IngressController expects
	// PROXY protocol.
	//
	// PROXY protocol can be used with load balancers that support it to
	// communicate the source addresses of client connections when
	// forwarding those connections to the IngressController.  Using PROXY
	// protocol enables the IngressController to report those source
	// addresses instead of reporting the load balancer's address in HTTP
	// headers and logs.  Note that enabling PROXY protocol on the
	// IngressController will cause connections to fail if you are not using
	// a load balancer that uses PROXY protocol to forward connections to
	// the IngressController.  See
	// http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt for
	// information about PROXY protocol.
	//
	// The following values are valid for this field:
	//
	// * The empty string.
	// * "TCP".
	// * "PROXY".
	//
	// The empty string specifies the default, which is TCP without PROXY
	// protocol.  Note that the default is subject to change.
	//
	// +kubebuilder:validation:Optional
	// +optional
	Protocol IngressControllerProtocol `json:"protocol,omitempty"`
}

PrivateStrategy holds parameters for the Private endpoint publishing strategy.

func (*PrivateStrategy) DeepCopy

func (in *PrivateStrategy) DeepCopy() *PrivateStrategy

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

func (*PrivateStrategy) DeepCopyInto

func (in *PrivateStrategy) DeepCopyInto(out *PrivateStrategy)

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

func (PrivateStrategy) SwaggerDoc

func (PrivateStrategy) SwaggerDoc() map[string]string

type ProjectAccess

type ProjectAccess struct {
	// availableClusterRoles is the list of ClusterRole names that are assignable to users
	// through the project access tab.
	// +kubebuilder:validation:Optional
	// +optional
	AvailableClusterRoles []string `json:"availableClusterRoles,omitempty"`
}

ProjectAccess contains options for project access roles

func (*ProjectAccess) DeepCopy

func (in *ProjectAccess) DeepCopy() *ProjectAccess

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

func (*ProjectAccess) DeepCopyInto

func (in *ProjectAccess) DeepCopyInto(out *ProjectAccess)

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

func (ProjectAccess) SwaggerDoc

func (ProjectAccess) SwaggerDoc() map[string]string

type ProtocolStrategy

type ProtocolStrategy string

ProtocolStrategy is a preference for the protocol to use for DNS queries. + --- + When consumers observe an unknown value, they should use the default strategy. +kubebuilder:validation:Enum:=TCP;""

var (
	// ProtocolStrategyDefault specifies no opinion for DNS protocol.
	// If empty, the default behavior of CoreDNS is used. Currently, this means that CoreDNS uses the protocol of the
	// originating client request as the upstream protocol.
	// Note that the default behavior of CoreDNS is subject to change.
	ProtocolStrategyDefault ProtocolStrategy = ""

	// ProtocolStrategyTCP instructs CoreDNS to always use TCP, regardless of the originating client's request protocol.
	ProtocolStrategyTCP ProtocolStrategy = "TCP"
)

type ProviderLoadBalancerParameters

type ProviderLoadBalancerParameters struct {
	// type is the underlying infrastructure provider for the load balancer.
	// Allowed values are "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix",
	// "OpenStack", and "VSphere".
	//
	// +unionDiscriminator
	// +kubebuilder:validation:Required
	// +required
	Type LoadBalancerProviderType `json:"type"`

	// aws provides configuration settings that are specific to AWS
	// load balancers.
	//
	// If empty, defaults will be applied. See specific aws fields for
	// details about their defaults.
	//
	// +optional
	AWS *AWSLoadBalancerParameters `json:"aws,omitempty"`

	// gcp provides configuration settings that are specific to GCP
	// load balancers.
	//
	// If empty, defaults will be applied. See specific gcp fields for
	// details about their defaults.
	//
	// +optional
	GCP *GCPLoadBalancerParameters `json:"gcp,omitempty"`

	// ibm provides configuration settings that are specific to IBM Cloud
	// load balancers.
	//
	// If empty, defaults will be applied. See specific ibm fields for
	// details about their defaults.
	//
	// +optional
	IBM *IBMLoadBalancerParameters `json:"ibm,omitempty"`
}

ProviderLoadBalancerParameters holds desired load balancer information specific to the underlying infrastructure provider. +union

func (*ProviderLoadBalancerParameters) DeepCopy

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

func (*ProviderLoadBalancerParameters) DeepCopyInto

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

func (ProviderLoadBalancerParameters) SwaggerDoc

func (ProviderLoadBalancerParameters) SwaggerDoc() map[string]string

type ProxyArgumentList

type ProxyArgumentList []string

ProxyArgumentList is a list of arguments to pass to the kubeproxy process

func (ProxyArgumentList) DeepCopy

func (in ProxyArgumentList) DeepCopy() ProxyArgumentList

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

func (ProxyArgumentList) DeepCopyInto

func (in ProxyArgumentList) DeepCopyInto(out *ProxyArgumentList)

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

type ProxyConfig

type ProxyConfig struct {
	// An internal kube-proxy parameter. In older releases of OCP, this sometimes needed to be adjusted
	// in large clusters for performance reasons, but this is no longer necessary, and there is no reason
	// to change this from the default value.
	// Default: 30s
	IptablesSyncPeriod string `json:"iptablesSyncPeriod,omitempty"`

	// The address to "bind" on
	// Defaults to 0.0.0.0
	BindAddress string `json:"bindAddress,omitempty"`

	// Any additional arguments to pass to the kubeproxy process
	ProxyArguments map[string]ProxyArgumentList `json:"proxyArguments,omitempty"`
}

ProxyConfig defines the configuration knobs for kubeproxy All of these are optional and have sensible defaults

func (*ProxyConfig) DeepCopy

func (in *ProxyConfig) DeepCopy() *ProxyConfig

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

func (*ProxyConfig) DeepCopyInto

func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig)

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

func (ProxyConfig) SwaggerDoc

func (ProxyConfig) SwaggerDoc() map[string]string

type QuickStarts

type QuickStarts struct {
	// disabled is a list of ConsoleQuickStart resource names that are not shown to users.
	// +kubebuilder:validation:Optional
	// +optional
	Disabled []string `json:"disabled,omitempty"`
}

QuickStarts allow cluster admins to customize available ConsoleQuickStart resources.

func (*QuickStarts) DeepCopy

func (in *QuickStarts) DeepCopy() *QuickStarts

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

func (*QuickStarts) DeepCopyInto

func (in *QuickStarts) DeepCopyInto(out *QuickStarts)

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

func (QuickStarts) SwaggerDoc

func (QuickStarts) SwaggerDoc() map[string]string

type ReloadService

type ReloadService struct {
	// serviceName is the full name (e.g. crio.service) of the service to be reloaded
	// Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long.
	// ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\".
	// ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".
	// +kubebuilder:validation:Required
	ServiceName NodeDisruptionPolicyServiceName `json:"serviceName"`
}

ReloadService allows the user to specify the services to be reloaded

func (*ReloadService) DeepCopy

func (in *ReloadService) DeepCopy() *ReloadService

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

func (*ReloadService) DeepCopyInto

func (in *ReloadService) DeepCopyInto(out *ReloadService)

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

func (ReloadService) SwaggerDoc

func (ReloadService) SwaggerDoc() map[string]string

type ResourceAttributesAccessReview

type ResourceAttributesAccessReview struct {
	// required defines a list of permission checks. The perspective will only be shown when all checks are successful. When omitted, the access review is skipped and the perspective will not be shown unless it is required to do so based on the configuration of the missing access review list.
	// +optional
	Required []authorizationv1.ResourceAttributes `json:"required"`
	// missing defines a list of permission checks. The perspective will only be shown when at least one check fails. When omitted, the access review is skipped and the perspective will not be shown unless it is required to do so based on the configuration of the required access review list.
	// +optional
	Missing []authorizationv1.ResourceAttributes `json:"missing"`
}

ResourceAttributesAccessReview defines the visibility of the perspective depending on the access review checks. `required` and `missing` can work together esp. in the case where the cluster admin wants to show another perspective to users without specific permissions. Out of `required` and `missing` atleast one property should be non-empty. +kubebuilder:validation:MinProperties:=1

func (*ResourceAttributesAccessReview) DeepCopy

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

func (*ResourceAttributesAccessReview) DeepCopyInto

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

func (ResourceAttributesAccessReview) SwaggerDoc

func (ResourceAttributesAccessReview) SwaggerDoc() map[string]string

type RestartService

type RestartService struct {
	// serviceName is the full name (e.g. crio.service) of the service to be restarted
	// Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long.
	// ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\".
	// ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope".
	// +kubebuilder:validation:Required
	ServiceName NodeDisruptionPolicyServiceName `json:"serviceName"`
}

RestartService allows the user to specify the services to be restarted

func (*RestartService) DeepCopy

func (in *RestartService) DeepCopy() *RestartService

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

func (*RestartService) DeepCopyInto

func (in *RestartService) DeepCopyInto(out *RestartService)

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

func (RestartService) SwaggerDoc

func (RestartService) SwaggerDoc() map[string]string

type RouteAdmissionPolicy

type RouteAdmissionPolicy struct {
	// namespaceOwnership describes how host name claims across namespaces should
	// be handled.
	//
	// Value must be one of:
	//
	// - Strict: Do not allow routes in different namespaces to claim the same host.
	//
	// - InterNamespaceAllowed: Allow routes to claim different paths of the same
	//   host name across namespaces.
	//
	// If empty, the default is Strict.
	// +optional
	NamespaceOwnership NamespaceOwnershipCheck `json:"namespaceOwnership,omitempty"`
	// wildcardPolicy describes how routes with wildcard policies should
	// be handled for the ingress controller. WildcardPolicy controls use
	// of routes [1] exposed by the ingress controller based on the route's
	// wildcard policy.
	//
	// [1] https://github.com/openshift/api/blob/master/route/v1/types.go
	//
	// Note: Updating WildcardPolicy from WildcardsAllowed to WildcardsDisallowed
	// will cause admitted routes with a wildcard policy of Subdomain to stop
	// working. These routes must be updated to a wildcard policy of None to be
	// readmitted by the ingress controller.
	//
	// WildcardPolicy supports WildcardsAllowed and WildcardsDisallowed values.
	//
	// If empty, defaults to "WildcardsDisallowed".
	//
	WildcardPolicy WildcardPolicy `json:"wildcardPolicy,omitempty"`
}

RouteAdmissionPolicy is an admission policy for allowing new route claims.

func (*RouteAdmissionPolicy) DeepCopy

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

func (*RouteAdmissionPolicy) DeepCopyInto

func (in *RouteAdmissionPolicy) DeepCopyInto(out *RouteAdmissionPolicy)

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

func (RouteAdmissionPolicy) SwaggerDoc

func (RouteAdmissionPolicy) SwaggerDoc() map[string]string

type SDNMode

type SDNMode string

SDNMode is the Mode the openshift-sdn plugin is in

const (
	// SDNModeSubnet is a simple mode that offers no isolation between pods
	SDNModeSubnet SDNMode = "Subnet"

	// SDNModeMultitenant is a special "multitenant" mode that offers limited
	// isolation configuration between namespaces
	SDNModeMultitenant SDNMode = "Multitenant"

	// SDNModeNetworkPolicy is a full NetworkPolicy implementation that allows
	// for sophisticated network isolation and segmenting. This is the default.
	SDNModeNetworkPolicy SDNMode = "NetworkPolicy"
)

type SFlowConfig

type SFlowConfig struct {
	// sFlowCollectors is list of strings formatted as ip:port with a maximum of ten items
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=10
	Collectors []IPPort `json:"collectors,omitempty"`
}

func (*SFlowConfig) DeepCopy

func (in *SFlowConfig) DeepCopy() *SFlowConfig

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

func (*SFlowConfig) DeepCopyInto

func (in *SFlowConfig) DeepCopyInto(out *SFlowConfig)

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

func (SFlowConfig) SwaggerDoc

func (SFlowConfig) SwaggerDoc() map[string]string

type Server

type Server struct {
	// name is required and specifies a unique name for the server. Name must comply
	// with the Service Name Syntax of rfc6335.
	Name string `json:"name"`
	// zones is required and specifies the subdomains that Server is authoritative for.
	// Zones must conform to the rfc1123 definition of a subdomain. Specifying the
	// cluster domain (i.e., "cluster.local") is invalid.
	Zones []string `json:"zones"`
	// forwardPlugin defines a schema for configuring CoreDNS to proxy DNS messages
	// to upstream resolvers.
	ForwardPlugin ForwardPlugin `json:"forwardPlugin"`
}

Server defines the schema for a server that runs per instance of CoreDNS.

func (*Server) DeepCopy

func (in *Server) DeepCopy() *Server

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

func (*Server) DeepCopyInto

func (in *Server) DeepCopyInto(out *Server)

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

func (Server) SwaggerDoc

func (Server) SwaggerDoc() map[string]string

type ServiceAccountIssuerStatus

type ServiceAccountIssuerStatus struct {
	// name is the name of the service account issuer
	// ---
	// + This value comes from the serviceAccountIssuer field on the authentication.config.openshift.io/v1 resource.
	// + As the authentication field is not validated, we cannot apply validation here else this may cause the controller
	// + to error when trying to update this status field.
	Name string `json:"name"`

	// expirationTime is the time after which this service account issuer will be pruned and removed from the trusted list
	// of service account issuers.
	// +optional
	ExpirationTime *metav1.Time `json:"expirationTime,omitempty"`
}

func (*ServiceAccountIssuerStatus) DeepCopy

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

func (*ServiceAccountIssuerStatus) DeepCopyInto

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

func (ServiceAccountIssuerStatus) SwaggerDoc

func (ServiceAccountIssuerStatus) SwaggerDoc() map[string]string

type ServiceCA

type ServiceCA struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	//spec holds user settable values for configuration
	// +kubebuilder:validation:Required
	// +required
	Spec ServiceCASpec `json:"spec"`
	// status holds observed values from the cluster. They may not be overridden.
	// +optional
	Status ServiceCAStatus `json:"status"`
}

ServiceCA provides information to configure an operator to manage the service cert controllers

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCA) DeepCopy

func (in *ServiceCA) DeepCopy() *ServiceCA

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

func (*ServiceCA) DeepCopyInto

func (in *ServiceCA) DeepCopyInto(out *ServiceCA)

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

func (*ServiceCA) DeepCopyObject

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

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

func (ServiceCA) SwaggerDoc

func (ServiceCA) SwaggerDoc() map[string]string

type ServiceCAList

type ServiceCAList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []ServiceCA `json:"items"`
}

ServiceCAList is a collection of items

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCAList) DeepCopy

func (in *ServiceCAList) DeepCopy() *ServiceCAList

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

func (*ServiceCAList) DeepCopyInto

func (in *ServiceCAList) DeepCopyInto(out *ServiceCAList)

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

func (*ServiceCAList) DeepCopyObject

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

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

func (ServiceCAList) SwaggerDoc

func (ServiceCAList) SwaggerDoc() map[string]string

type ServiceCASpec

type ServiceCASpec struct {
	OperatorSpec `json:",inline"`
}

func (*ServiceCASpec) DeepCopy

func (in *ServiceCASpec) DeepCopy() *ServiceCASpec

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

func (*ServiceCASpec) DeepCopyInto

func (in *ServiceCASpec) DeepCopyInto(out *ServiceCASpec)

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

type ServiceCAStatus

type ServiceCAStatus struct {
	OperatorStatus `json:",inline"`
}

func (*ServiceCAStatus) DeepCopy

func (in *ServiceCAStatus) DeepCopy() *ServiceCAStatus

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

func (*ServiceCAStatus) DeepCopyInto

func (in *ServiceCAStatus) DeepCopyInto(out *ServiceCAStatus)

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

type ServiceCatalogAPIServer

type ServiceCatalogAPIServer struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Required
	// +required
	Spec ServiceCatalogAPIServerSpec `json:"spec"`
	// +optional
	Status ServiceCatalogAPIServerStatus `json:"status"`
}

ServiceCatalogAPIServer provides information to configure an operator to manage Service Catalog API Server DEPRECATED: will be removed in 4.6

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCatalogAPIServer) DeepCopy

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

func (*ServiceCatalogAPIServer) DeepCopyInto

func (in *ServiceCatalogAPIServer) DeepCopyInto(out *ServiceCatalogAPIServer)

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

func (*ServiceCatalogAPIServer) DeepCopyObject

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

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

func (ServiceCatalogAPIServer) SwaggerDoc

func (ServiceCatalogAPIServer) SwaggerDoc() map[string]string

type ServiceCatalogAPIServerList

type ServiceCatalogAPIServerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []ServiceCatalogAPIServer `json:"items"`
}

ServiceCatalogAPIServerList is a collection of items DEPRECATED: will be removed in 4.6

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCatalogAPIServerList) DeepCopy

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

func (*ServiceCatalogAPIServerList) DeepCopyInto

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

func (*ServiceCatalogAPIServerList) DeepCopyObject

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

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

func (ServiceCatalogAPIServerList) SwaggerDoc

func (ServiceCatalogAPIServerList) SwaggerDoc() map[string]string

type ServiceCatalogAPIServerSpec

type ServiceCatalogAPIServerSpec struct {
	OperatorSpec `json:",inline"`
}

func (*ServiceCatalogAPIServerSpec) DeepCopy

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

func (*ServiceCatalogAPIServerSpec) DeepCopyInto

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

type ServiceCatalogAPIServerStatus

type ServiceCatalogAPIServerStatus struct {
	OperatorStatus `json:",inline"`
}

func (*ServiceCatalogAPIServerStatus) DeepCopy

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

func (*ServiceCatalogAPIServerStatus) DeepCopyInto

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

type ServiceCatalogControllerManager

type ServiceCatalogControllerManager struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// +kubebuilder:validation:Required
	// +required
	Spec ServiceCatalogControllerManagerSpec `json:"spec"`
	// +optional
	Status ServiceCatalogControllerManagerStatus `json:"status"`
}

ServiceCatalogControllerManager provides information to configure an operator to manage Service Catalog Controller Manager DEPRECATED: will be removed in 4.6

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCatalogControllerManager) DeepCopy

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

func (*ServiceCatalogControllerManager) DeepCopyInto

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

func (*ServiceCatalogControllerManager) DeepCopyObject

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

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

func (ServiceCatalogControllerManager) SwaggerDoc

type ServiceCatalogControllerManagerList

type ServiceCatalogControllerManagerList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	// Items contains the items
	Items []ServiceCatalogControllerManager `json:"items"`
}

ServiceCatalogControllerManagerList is a collection of items DEPRECATED: will be removed in 4.6

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ServiceCatalogControllerManagerList) DeepCopy

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

func (*ServiceCatalogControllerManagerList) DeepCopyInto

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

func (*ServiceCatalogControllerManagerList) DeepCopyObject

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

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

func (ServiceCatalogControllerManagerList) SwaggerDoc

type ServiceCatalogControllerManagerSpec

type ServiceCatalogControllerManagerSpec struct {
	OperatorSpec `json:",inline"`
}

func (*ServiceCatalogControllerManagerSpec) DeepCopy

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

func (*ServiceCatalogControllerManagerSpec) DeepCopyInto

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

type ServiceCatalogControllerManagerStatus

type ServiceCatalogControllerManagerStatus struct {
	OperatorStatus `json:",inline"`
}

func (*ServiceCatalogControllerManagerStatus) DeepCopy

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

func (*ServiceCatalogControllerManagerStatus) DeepCopyInto

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

type SimpleMacvlanConfig

type SimpleMacvlanConfig struct {
	// master is the host interface to create the macvlan interface from.
	// If not specified, it will be default route interface
	// +optional
	Master string `json:"master,omitempty"`

	// IPAMConfig configures IPAM module will be used for IP Address Management (IPAM).
	// +optional
	IPAMConfig *IPAMConfig `json:"ipamConfig,omitempty"`

	// mode is the macvlan mode: bridge, private, vepa, passthru. The default is bridge
	// +optional
	Mode MacvlanMode `json:"mode,omitempty"`

	// mtu is the mtu to use for the macvlan interface. if unset, host's
	// kernel will select the value.
	// +kubebuilder:validation:Minimum=0
	// +optional
	MTU uint32 `json:"mtu,omitempty"`
}

SimpleMacvlanConfig contains configurations for macvlan interface.

func (*SimpleMacvlanConfig) DeepCopy

func (in *SimpleMacvlanConfig) DeepCopy() *SimpleMacvlanConfig

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

func (*SimpleMacvlanConfig) DeepCopyInto

func (in *SimpleMacvlanConfig) DeepCopyInto(out *SimpleMacvlanConfig)

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

func (SimpleMacvlanConfig) SwaggerDoc

func (SimpleMacvlanConfig) SwaggerDoc() map[string]string

type StaticIPAMAddresses

type StaticIPAMAddresses struct {
	// Address is the IP address in CIDR format
	// +optional
	Address string `json:"address"`
	// Gateway is IP inside of subnet to designate as the gateway
	// +optional
	Gateway string `json:"gateway,omitempty"`
}

StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses

func (*StaticIPAMAddresses) DeepCopy

func (in *StaticIPAMAddresses) DeepCopy() *StaticIPAMAddresses

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

func (*StaticIPAMAddresses) DeepCopyInto

func (in *StaticIPAMAddresses) DeepCopyInto(out *StaticIPAMAddresses)

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

func (StaticIPAMAddresses) SwaggerDoc

func (StaticIPAMAddresses) SwaggerDoc() map[string]string

type StaticIPAMConfig

type StaticIPAMConfig struct {
	// Addresses configures IP address for the interface
	// +optional
	Addresses []StaticIPAMAddresses `json:"addresses,omitempty"`
	// Routes configures IP routes for the interface
	// +optional
	Routes []StaticIPAMRoutes `json:"routes,omitempty"`
	// DNS configures DNS for the interface
	// +optional
	DNS *StaticIPAMDNS `json:"dns,omitempty"`
}

StaticIPAMConfig contains configurations for static IPAM (IP Address Management)

func (*StaticIPAMConfig) DeepCopy

func (in *StaticIPAMConfig) DeepCopy() *StaticIPAMConfig

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

func (*StaticIPAMConfig) DeepCopyInto

func (in *StaticIPAMConfig) DeepCopyInto(out *StaticIPAMConfig)

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

func (StaticIPAMConfig) SwaggerDoc

func (StaticIPAMConfig) SwaggerDoc() map[string]string

type StaticIPAMDNS

type StaticIPAMDNS struct {
	// Nameservers points DNS servers for IP lookup
	// +optional
	Nameservers []string `json:"nameservers,omitempty"`
	// Domain configures the domainname the local domain used for short hostname lookups
	// +optional
	Domain string `json:"domain,omitempty"`
	// Search configures priority ordered search domains for short hostname lookups
	// +optional
	Search []string `json:"search,omitempty"`
}

StaticIPAMDNS provides DNS related information for static IPAM

func (*StaticIPAMDNS) DeepCopy

func (in *StaticIPAMDNS) DeepCopy() *StaticIPAMDNS

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

func (*StaticIPAMDNS) DeepCopyInto

func (in *StaticIPAMDNS) DeepCopyInto(out *StaticIPAMDNS)

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

func (StaticIPAMDNS) SwaggerDoc

func (StaticIPAMDNS) SwaggerDoc() map[string]string

type StaticIPAMRoutes

type StaticIPAMRoutes struct {
	// Destination points the IP route destination
	Destination string `json:"destination"`
	// Gateway is the route's next-hop IP address
	// If unset, a default gateway is assumed (as determined by the CNI plugin).
	// +optional
	Gateway string `json:"gateway,omitempty"`
}

StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes

func (*StaticIPAMRoutes) DeepCopy

func (in *StaticIPAMRoutes) DeepCopy() *StaticIPAMRoutes

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

func (*StaticIPAMRoutes) DeepCopyInto

func (in *StaticIPAMRoutes) DeepCopyInto(out *StaticIPAMRoutes)

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

func (StaticIPAMRoutes) SwaggerDoc

func (StaticIPAMRoutes) SwaggerDoc() map[string]string

type StaticPodOperatorSpec

type StaticPodOperatorSpec struct {
	OperatorSpec `json:",inline"`

	// forceRedeploymentReason can be used to force the redeployment of the operand by providing a unique string.
	// This provides a mechanism to kick a previously failed deployment and provide a reason why you think it will work
	// this time instead of failing again on the same config.
	ForceRedeploymentReason string `json:"forceRedeploymentReason"`

	// failedRevisionLimit is the number of failed static pod installer revisions to keep on disk and in the api
	// -1 = unlimited, 0 or unset = 5 (default)
	FailedRevisionLimit int32 `json:"failedRevisionLimit,omitempty"`
	// succeededRevisionLimit is the number of successful static pod installer revisions to keep on disk and in the api
	// -1 = unlimited, 0 or unset = 5 (default)
	SucceededRevisionLimit int32 `json:"succeededRevisionLimit,omitempty"`
}

StaticPodOperatorSpec is spec for controllers that manage static pods.

func (*StaticPodOperatorSpec) DeepCopy

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

func (*StaticPodOperatorSpec) DeepCopyInto

func (in *StaticPodOperatorSpec) DeepCopyInto(out *StaticPodOperatorSpec)

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

func (StaticPodOperatorSpec) SwaggerDoc

func (StaticPodOperatorSpec) SwaggerDoc() map[string]string

type StaticPodOperatorStatus

type StaticPodOperatorStatus struct {
	OperatorStatus `json:",inline"`

	// latestAvailableRevision is the deploymentID of the most recent deployment
	// +optional
	LatestAvailableRevision int32 `json:"latestAvailableRevision,omitempty"`

	// latestAvailableRevisionReason describe the detailed reason for the most recent deployment
	// +optional
	LatestAvailableRevisionReason string `json:"latestAvailableRevisionReason,omitempty"`

	// nodeStatuses track the deployment values and errors across individual nodes
	// +listType=map
	// +listMapKey=nodeName
	// +optional
	NodeStatuses []NodeStatus `json:"nodeStatuses,omitempty"`
}

StaticPodOperatorStatus is status for controllers that manage static pods. There are different needs because individual node status must be tracked.

func (*StaticPodOperatorStatus) DeepCopy

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

func (*StaticPodOperatorStatus) DeepCopyInto

func (in *StaticPodOperatorStatus) DeepCopyInto(out *StaticPodOperatorStatus)

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

func (StaticPodOperatorStatus) SwaggerDoc

func (StaticPodOperatorStatus) SwaggerDoc() map[string]string

type StatuspageProvider

type StatuspageProvider struct {
	// pageID is the unique ID assigned by Statuspage for your page. This must be a public page.
	PageID string `json:"pageID"`
}

StatuspageProvider provides identity for statuspage account.

func (*StatuspageProvider) DeepCopy

func (in *StatuspageProvider) DeepCopy() *StatuspageProvider

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

func (*StatuspageProvider) DeepCopyInto

func (in *StatuspageProvider) DeepCopyInto(out *StatuspageProvider)

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

func (StatuspageProvider) SwaggerDoc

func (StatuspageProvider) SwaggerDoc() map[string]string

type Storage

type Storage struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec holds user settable values for configuration
	// +kubebuilder:validation:Required
	// +required
	Spec StorageSpec `json:"spec"`

	// status holds observed values from the cluster. They may not be overridden.
	// +optional
	Status StorageStatus `json:"status"`
}

Storage provides a means to configure an operator to manage the cluster storage operator. `cluster` is the canonical name.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

func (*Storage) DeepCopyObject

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

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

func (Storage) SwaggerDoc

func (Storage) SwaggerDoc() map[string]string

type StorageClassStateName

type StorageClassStateName string

+kubebuilder:validation:Enum="";Managed;Unmanaged;Removed StorageClassStateName defines various configuration states for storageclass management and reconciliation by CSI operator.

const (
	// ManagedStorageClass means that the operator is actively managing its storage classes.
	// Most manual changes made by cluster admin to storageclass will be wiped away by CSI
	// operator if StorageClassState is set to Managed.
	ManagedStorageClass StorageClassStateName = "Managed"
	// UnmanagedStorageClass means that the operator is not actively managing storage classes.
	// If StorageClassState is Unmanaged then CSI operator will not be actively reconciling storage class
	// it previously created. This can be useful if cluster admin wants to modify storage class installed
	// by CSI operator.
	UnmanagedStorageClass StorageClassStateName = "Unmanaged"
	// RemovedStorageClass instructs the operator to remove the storage class.
	// If StorageClassState is Removed - CSI operator will delete storage classes it created
	// previously. This can be useful in clusters where cluster admins want to prevent
	// creation of dynamically provisioned volumes but still need rest of the features
	// provided by CSI operator and driver.
	RemovedStorageClass StorageClassStateName = "Removed"
)

type StorageDriverType

type StorageDriverType string

StorageDriverType indicates whether CSI migration should be enabled for drivers where it is optional. +kubebuilder:validation:Enum="";LegacyDeprecatedInTreeDriver;CSIWithMigrationDriver

const (
	LegacyDeprecatedInTreeDriver StorageDriverType = "LegacyDeprecatedInTreeDriver"
	CSIWithMigrationDriver       StorageDriverType = "CSIWithMigrationDriver"
)

type StorageList

type StorageList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`

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

StorageList contains a list of Storages.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*StorageList) DeepCopy

func (in *StorageList) DeepCopy() *StorageList

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

func (*StorageList) DeepCopyInto

func (in *StorageList) DeepCopyInto(out *StorageList)

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

func (*StorageList) DeepCopyObject

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

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

func (StorageList) SwaggerDoc

func (StorageList) SwaggerDoc() map[string]string

type StorageSpec

type StorageSpec struct {
	OperatorSpec `json:",inline"`

	// VSphereStorageDriver indicates the storage driver to use on VSphere clusters.
	// Once this field is set to CSIWithMigrationDriver, it can not be changed.
	// If this is empty, the platform will choose a good default,
	// which may change over time without notice.
	// The current default is CSIWithMigrationDriver and may not be changed.
	// DEPRECATED: This field will be removed in a future release.
	// +kubebuilder:validation:XValidation:rule="self != \"LegacyDeprecatedInTreeDriver\"",message="VSphereStorageDriver can not be set to LegacyDeprecatedInTreeDriver"
	// +optional
	VSphereStorageDriver StorageDriverType `json:"vsphereStorageDriver"`
}

StorageSpec is the specification of the desired behavior of the cluster storage operator.

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

func (StorageSpec) SwaggerDoc

func (StorageSpec) SwaggerDoc() map[string]string

type StorageStatus

type StorageStatus struct {
	OperatorStatus `json:",inline"`
}

StorageStatus defines the observed status of the cluster storage operator.

func (*StorageStatus) DeepCopy

func (in *StorageStatus) DeepCopy() *StorageStatus

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

func (*StorageStatus) DeepCopyInto

func (in *StorageStatus) DeepCopyInto(out *StorageStatus)

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

func (StorageStatus) SwaggerDoc

func (StorageStatus) SwaggerDoc() map[string]string

type SyslogLoggingDestinationParameters

type SyslogLoggingDestinationParameters struct {
	// address is the IP address of the syslog endpoint that receives log
	// messages.
	//
	// +kubebuilder:validation:Required
	// +required
	Address string `json:"address"`

	// port is the UDP port number of the syslog endpoint that receives log
	// messages.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +required
	Port uint32 `json:"port"`

	// facility specifies the syslog facility of log messages.
	//
	// If this field is empty, the facility is "local1".
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=kern;user;mail;daemon;auth;syslog;lpr;news;uucp;cron;auth2;ftp;ntp;audit;alert;cron2;local0;local1;local2;local3;local4;local5;local6;local7
	// +optional
	Facility string `json:"facility,omitempty"`

	// maxLength is the maximum length of the log message.
	//
	// Valid values are integers in the range 480 to 4096, inclusive.
	//
	// When omitted, the default value is 1024.
	//
	// +kubebuilder:validation:Maximum=4096
	// +kubebuilder:validation:Minimum=480
	// +kubebuilder:default=1024
	// +default:=1024
	// +optional
	MaxLength uint32 `json:"maxLength,omitempty"`
}

SyslogLoggingDestinationParameters describes parameters for the Syslog logging destination type.

func (*SyslogLoggingDestinationParameters) DeepCopy

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

func (*SyslogLoggingDestinationParameters) DeepCopyInto

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

func (SyslogLoggingDestinationParameters) SwaggerDoc

type Upstream

type Upstream struct {

	// Type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf.
	// Type accepts 2 possible values: SystemResolvConf or Network.
	//
	// * When SystemResolvConf is used, the Upstream structure does not require any further fields to be defined:
	//   /etc/resolv.conf will be used
	// * When Network is used, the Upstream structure must contain at least an Address
	//
	// +kubebuilder:validation:Required
	// +required
	Type UpstreamType `json:"type"`

	// Address must be defined when Type is set to Network. It will be ignored otherwise.
	// It must be a valid ipv4 or ipv6 address.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Address string `json:"address,omitempty"`

	// Port may be defined when Type is set to Network. It will be ignored otherwise.
	// Port must be between 65535
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=53
	Port uint32 `json:"port,omitempty"`
}

Upstream can either be of type SystemResolvConf, or of type Network.

  • For an Upstream of type SystemResolvConf, no further fields are necessary: The upstream will be configured to use /etc/resolv.conf.
  • For an Upstream of type Network, a NetworkResolver field needs to be defined with an IP address or IP:port if the upstream listens on a port other than 53.

func (*Upstream) DeepCopy

func (in *Upstream) DeepCopy() *Upstream

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

func (*Upstream) DeepCopyInto

func (in *Upstream) DeepCopyInto(out *Upstream)

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

func (Upstream) SwaggerDoc

func (Upstream) SwaggerDoc() map[string]string

type UpstreamResolvers

type UpstreamResolvers struct {
	// Upstreams is a list of resolvers to forward name queries for the "." domain.
	// Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream
	// returns an error during the exchange, another resolver is tried from Upstreams. The
	// Upstreams are selected in the order specified in Policy.
	//
	// A maximum of 15 upstreams is allowed per ForwardPlugin.
	// If no Upstreams are specified, /etc/resolv.conf is used by default
	//
	// +optional
	// +kubebuilder:validation:MaxItems=15
	// +kubebuilder:default={{"type":"SystemResolvConf"}}
	Upstreams []Upstream `json:"upstreams"`

	// Policy is used to determine the order in which upstream servers are selected for querying.
	// Any one of the following values may be specified:
	//
	// * "Random" picks a random upstream server for each query.
	// * "RoundRobin" picks upstream servers in a round-robin order, moving to the next server for each new query.
	// * "Sequential" tries querying upstream servers in a sequential order until one responds, starting with the first server for each new query.
	//
	// The default value is "Sequential"
	//
	// +optional
	// +kubebuilder:default="Sequential"
	Policy ForwardingPolicy `json:"policy,omitempty"`

	// transportConfig is used to configure the transport type, server name, and optional custom CA or CA bundle to use
	// when forwarding DNS requests to an upstream resolver.
	//
	// The default value is "" (empty) which results in a standard cleartext connection being used when forwarding DNS
	// requests to an upstream resolver.
	//
	// +optional
	TransportConfig DNSTransportConfig `json:"transportConfig,omitempty"`

	// protocolStrategy specifies the protocol to use for upstream DNS
	// requests.
	// Valid values for protocolStrategy are "TCP" and omitted.
	// When omitted, this means no opinion and the platform is left to choose
	// a reasonable default, which is subject to change over time.
	// The current default is to use the protocol of the original client request.
	// "TCP" specifies that the platform should use TCP for all upstream DNS requests,
	// even if the client request uses UDP.
	// "TCP" is useful for UDP-specific issues such as those created by
	// non-compliant upstream resolvers, but may consume more bandwidth or
	// increase DNS response time. Note that protocolStrategy only affects
	// the protocol of DNS requests that CoreDNS makes to upstream resolvers.
	// It does not affect the protocol of DNS requests between clients and
	// CoreDNS.
	//
	// +optional
	ProtocolStrategy ProtocolStrategy `json:"protocolStrategy"`
}

UpstreamResolvers defines a schema for configuring the CoreDNS forward plugin in the specific case of the default (".") server. It defers from ForwardPlugin in the default values it accepts: * At least one upstream should be specified. * the default policy is Sequential

func (*UpstreamResolvers) DeepCopy

func (in *UpstreamResolvers) DeepCopy() *UpstreamResolvers

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

func (*UpstreamResolvers) DeepCopyInto

func (in *UpstreamResolvers) DeepCopyInto(out *UpstreamResolvers)

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

func (UpstreamResolvers) SwaggerDoc

func (UpstreamResolvers) SwaggerDoc() map[string]string

type UpstreamType

type UpstreamType string

+kubebuilder:validation:Enum=SystemResolvConf;Network;""

const (
	SystemResolveConfType UpstreamType = "SystemResolvConf"
	NetworkResolverType   UpstreamType = "Network"
)

type VSphereCSIDriverConfigSpec

type VSphereCSIDriverConfigSpec struct {
	// topologyCategories indicates tag categories with which
	// vcenter resources such as hostcluster or datacenter were tagged with.
	// If cluster Infrastructure object has a topology, values specified in
	// Infrastructure object will be used and modifications to topologyCategories
	// will be rejected.
	// +optional
	TopologyCategories []string `json:"topologyCategories,omitempty"`

	// globalMaxSnapshotsPerBlockVolume is a global configuration parameter that applies to volumes on all kinds of
	// datastores. If omitted, the platform chooses a default, which is subject to change over time, currently that default is 3.
	// Snapshots can not be disabled using this parameter.
	// Increasing number of snapshots above 3 can have negative impact on performance, for more details see: https://kb.vmware.com/s/article/1025279
	// Volume snapshot documentation: https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-E0B41C69-7EEB-450F-A73D-5FD2FF39E891.html
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=32
	// +openshift:enable:FeatureGate=VSphereDriverConfiguration
	// +optional
	GlobalMaxSnapshotsPerBlockVolume *uint32 `json:"globalMaxSnapshotsPerBlockVolume,omitempty"`

	// granularMaxSnapshotsPerBlockVolumeInVSAN is a granular configuration parameter on vSAN datastore only. It
	// overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset.
	// Snapshots for VSAN can not be disabled using this parameter.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=32
	// +openshift:enable:FeatureGate=VSphereDriverConfiguration
	// +optional
	GranularMaxSnapshotsPerBlockVolumeInVSAN *uint32 `json:"granularMaxSnapshotsPerBlockVolumeInVSAN,omitempty"`

	// granularMaxSnapshotsPerBlockVolumeInVVOL is a granular configuration parameter on Virtual Volumes datastore only.
	// It overrides GlobalMaxSnapshotsPerBlockVolume if set, while it falls back to the global constraint if unset.
	// Snapshots for VVOL can not be disabled using this parameter.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=32
	// +openshift:enable:FeatureGate=VSphereDriverConfiguration
	// +optional
	GranularMaxSnapshotsPerBlockVolumeInVVOL *uint32 `json:"granularMaxSnapshotsPerBlockVolumeInVVOL,omitempty"`
}

VSphereCSIDriverConfigSpec defines properties that can be configured for vsphere CSI driver.

func (*VSphereCSIDriverConfigSpec) DeepCopy

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

func (*VSphereCSIDriverConfigSpec) DeepCopyInto

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

func (VSphereCSIDriverConfigSpec) SwaggerDoc

func (VSphereCSIDriverConfigSpec) SwaggerDoc() map[string]string

type WildcardPolicy

type WildcardPolicy string

WildcardPolicy is a route admission policy component that describes how routes with a wildcard policy should be handled. +kubebuilder:validation:Enum=WildcardsAllowed;WildcardsDisallowed

const (
	// WildcardPolicyAllowed indicates routes with any wildcard policy are
	// admitted by the ingress controller.
	WildcardPolicyAllowed WildcardPolicy = "WildcardsAllowed"

	// WildcardPolicyDisallowed indicates only routes with a wildcard policy
	// of None are admitted by the ingress controller.
	WildcardPolicyDisallowed WildcardPolicy = "WildcardsDisallowed"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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