v1alpha1

package
v0.0.0-...-51b2d08 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the multiarch v1alpha1 API group +kubebuilder:object:generate=true +groupName=multiarch.openshift.io

Index

Constants

View Source
const SingletonResourceObjectName = "cluster"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "multiarch.openshift.io", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type LogVerbosityLevel

type LogVerbosityLevel string

LogVerbosityLevel is a type derived from string used to represent the log level in operands' CRDs. +kubebuilder:validation:Enum=Normal;Debug;Trace;TraceAll

const (
	LogVerbosityLevelNormal   LogVerbosityLevel = "Normal"
	LogVerbosityLevelDebug    LogVerbosityLevel = "Debug"
	LogVerbosityLevelTrace    LogVerbosityLevel = "Trace"
	LogVerbosityLevelTraceAll LogVerbosityLevel = "TraceAll"
)

func (LogVerbosityLevel) ToZapLevelInt

func (verbosity LogVerbosityLevel) ToZapLevelInt() int

type PodPlacementConfig

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

	Spec   PodPlacementConfigSpec   `json:"spec,omitempty"`
	Status PodPlacementConfigStatus `json:"status,omitempty"`
}

PodPlacementConfig defines the configuration for the PodPlacement operand. It is a singleton resource that can consist of an object named cluster. Creating this object will trigger the deployment of the architecture aware pod placement operand. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=podplacementconfigs,scope=Cluster

func (*PodPlacementConfig) DeepCopy

func (in *PodPlacementConfig) DeepCopy() *PodPlacementConfig

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

func (*PodPlacementConfig) DeepCopyInto

func (in *PodPlacementConfig) DeepCopyInto(out *PodPlacementConfig)

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

func (*PodPlacementConfig) DeepCopyObject

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

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

type PodPlacementConfigList

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

PodPlacementConfigList contains a list of PodPlacementConfig

func (*PodPlacementConfigList) DeepCopy

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

func (*PodPlacementConfigList) DeepCopyInto

func (in *PodPlacementConfigList) DeepCopyInto(out *PodPlacementConfigList)

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

func (*PodPlacementConfigList) DeepCopyObject

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

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

type PodPlacementConfigSpec

type PodPlacementConfigSpec struct {
	// LogVerbosity is the log level for the pod placement controller.
	// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
	// Defaults to "Normal".
	// +optional
	// +kubebuilder:default=Normal
	LogVerbosity LogVerbosityLevel `json:"logVerbosity,omitempty"`

	// NamespaceSelector filters the namespaces that the architecture aware pod placement can operate.
	//
	// For example, users can configure an opt-out filter to disallow the operand from operating on namespaces with a given
	// label:
	//
	// {"namespaceSelector":{"matchExpressions":[{"key":"multiarch.openshift.io/exclude-pod-placement","operator":"DoesNotExist"}]}}
	//
	// The operand will set the node affinity requirement in all the pods created in namespaces that do not have
	// the `multiarch.openshift.io/exclude-pod-placement` label.
	//
	// Alternatively, users can configure an opt-in filter to operate only on namespaces with specific labels:
	//
	// {"namespaceSelector":{"matchExpressions":[{"key":"multiarch.openshift.io/include-pod-placement","operator":"Exists"}]}}
	//
	// The operand will set the node affinity requirement in all the pods created in namespace labeled with the key
	// `multiarch.ioenshift.io/include-pod-placement`.
	//
	// See
	// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
	// for more examples of label selectors.
	//
	// Default to the empty LabelSelector, which matches everything. Selectors are ANDed.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

PodPlacementConfigSpec defines the desired state of PodPlacementConfig

func (*PodPlacementConfigSpec) DeepCopy

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

func (*PodPlacementConfigSpec) DeepCopyInto

func (in *PodPlacementConfigSpec) DeepCopyInto(out *PodPlacementConfigSpec)

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

type PodPlacementConfigStatus

type PodPlacementConfigStatus struct {
	// Conditions represents the latest available observations of a PodPlacementConfig's current state.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PodPlacementConfigStatus defines the observed state of PodPlacementConfig

func (*PodPlacementConfigStatus) DeepCopy

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

func (*PodPlacementConfigStatus) DeepCopyInto

func (in *PodPlacementConfigStatus) DeepCopyInto(out *PodPlacementConfigStatus)

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

Jump to

Keyboard shortcuts

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