v1alpha1

package
v0.0.0-...-d0d33ef Latest Latest
Warning

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

Go to latest
Published: May 6, 2024 License: Apache-2.0 Imports: 5 Imported by: 4

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the klusterletconfig v1alpha1 API group +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/stolostron/cluster-lifecycle-api/klusterletconfig +k8s:defaulter-gen=TypeMeta +k8s:openapi-gen=true +kubebuilder:validation:Optional +groupName=config.open-cluster-management.io

Index

Constants

View Source
const (
	GroupName = "config.open-cluster-management.io"
	Version   = "v1alpha1"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: Version}

	// 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 adds the types in this group-version to the given scheme.
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type KlusterletConfig

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

	// Spec defines the desired state of KlusterletConfig
	// +optional
	Spec KlusterletConfigSpec `json:"spec,omitempty"`

	// Status defines the observed state of KlusterletConfig
	// +optional
	Status KlusterletConfigStatus `json:"status,omitempty"`
}

KlusterletConfig contains the configuration of a klusterlet including the upgrade strategy, config overrides, proxy configurations etc.

func (*KlusterletConfig) DeepCopy

func (in *KlusterletConfig) DeepCopy() *KlusterletConfig

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

func (*KlusterletConfig) DeepCopyInto

func (in *KlusterletConfig) DeepCopyInto(out *KlusterletConfig)

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

func (*KlusterletConfig) DeepCopyObject

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

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

func (KlusterletConfig) SwaggerDoc

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

type KlusterletConfigList

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

KlusterletConfigList contains a list of KlusterletConfig.

func (*KlusterletConfigList) DeepCopy

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

func (*KlusterletConfigList) DeepCopyInto

func (in *KlusterletConfigList) DeepCopyInto(out *KlusterletConfigList)

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

func (*KlusterletConfigList) DeepCopyObject

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

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

func (KlusterletConfigList) SwaggerDoc

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

type KlusterletConfigSpec

type KlusterletConfigSpec struct {
	// Registries includes the mirror and source registries. The source registry will be replaced by the Mirror.
	// +optional
	Registries []Registries `json:"registries,omitempty"`

	// PullSecret is the name of image pull secret.
	// +optional
	PullSecret corev1.ObjectReference `json:"pullSecret,omitempty"`

	// NodePlacement enables explicit control over the scheduling of the agent components.
	// If the placement is nil, the placement is not specified, it will be omitted.
	// If the placement is an empty object, the placement will match all nodes and tolerate nothing.
	// +optional
	NodePlacement *operatorv1.NodePlacement `json:"nodePlacement,omitempty"`

	// HubKubeAPIServerProxyConfig holds proxy settings for connections between klusterlet/add-on agents
	// on the managed cluster and the kube-apiserver on the hub cluster.
	// Empty means no proxy settings is available.
	// +optional
	HubKubeAPIServerProxyConfig KubeAPIServerProxyConfig `json:"hubKubeAPIServerProxyConfig,omitempty"`

	// HubKubeAPIServerURL is the URL of the hub Kube API server.
	// If not present, the .status.apiServerURL of Infrastructure/cluster will be used as the default value.
	// e.g. `oc get infrastructure cluster -o jsonpath='{.status.apiServerURL}'`
	// +optional
	HubKubeAPIServerURL string `json:"hubKubeAPIServerURL,omitempty"`

	// HubKubeAPIServerCABundle is the CA bundle to verify the server certificate of the hub kube API
	// against. If not present, CA bundle will be determined with the logic below:
	// 1). Use the certificate of the named certificate configured in APIServer/cluster if FQDN matches;
	// 2). Otherwise use the CA certificates from kube-root-ca.crt ConfigMap in the cluster namespace;
	// +optional
	HubKubeAPIServerCABundle []byte `json:"hubKubeAPIServerCABundle,omitempty"`

	// AppliedManifestWorkEvictionGracePeriod is the eviction grace period the work agent will wait before
	// evicting the AppliedManifestWorks, whose corresponding ManifestWorks are missing on the hub cluster, from
	// the managed cluster. If not present, the default value of the work agent will be used. If its value is
	// set to "INFINITE", it means the AppliedManifestWorks will never been evicted from the managed cluster.
	// +optional
	// +kubebuilder:validation:Pattern=`^([0-9]+(s|m|h))+$|^INFINITE$`
	AppliedManifestWorkEvictionGracePeriod string `json:"appliedManifestWorkEvictionGracePeriod,omitempty"`

	// AgentInstallNamespace is the namespace to install klusterlet agent on the managed cluster. In hosted mode,
	// it is the namespace on the managed cluster for service account of the agent. if it is not set,
	// open-cluster-management-agent namespace will be used.
	// +optional
	// +kubebuilder:validation:MaxLength=57
	// +kubebuilder:validation:Pattern=^open-cluster-management-[-a-z0-9]*[a-z0-9]$
	AgentInstallNamespace string `json:"agentInstallNamespace,omitempty"`
}

KlusterletConfigSpec defines the desired state of KlusterletConfig, usually provided by the user.

func (*KlusterletConfigSpec) DeepCopy

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

func (*KlusterletConfigSpec) DeepCopyInto

func (in *KlusterletConfigSpec) DeepCopyInto(out *KlusterletConfigSpec)

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

func (KlusterletConfigSpec) SwaggerDoc

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

type KlusterletConfigStatus

type KlusterletConfigStatus struct {
}

KlusterletConfigStatus defines the observed state of KlusterletConfig.

func (*KlusterletConfigStatus) DeepCopy

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

func (*KlusterletConfigStatus) DeepCopyInto

func (in *KlusterletConfigStatus) DeepCopyInto(out *KlusterletConfigStatus)

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

func (KlusterletConfigStatus) SwaggerDoc

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

type KubeAPIServerProxyConfig

type KubeAPIServerProxyConfig struct {
	// HTTPProxy is the URL of the proxy for HTTP requests
	// +optional
	HTTPProxy string `json:"httpProxy,omitempty"`

	// HTTPSProxy is the URL of the proxy for HTTPS requests
	// HTTPSProxy will be chosen if both HTTPProxy and HTTPSProxy are set.
	// +optional
	HTTPSProxy string `json:"httpsProxy,omitempty"`

	// CABundle is a CA certificate bundle to verify the proxy server.
	// It will be ignored if only HTTPProxy is set;
	// And it is required when HTTPSProxy is set and self signed CA certificate is used
	// by the proxy server.
	// +optional
	CABundle []byte `json:"caBundle,omitempty"`
}

KubeAPIServerProxyConfig describes the proxy settings for the connections to a kube-apiserver

func (*KubeAPIServerProxyConfig) DeepCopy

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

func (*KubeAPIServerProxyConfig) DeepCopyInto

func (in *KubeAPIServerProxyConfig) DeepCopyInto(out *KubeAPIServerProxyConfig)

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

func (KubeAPIServerProxyConfig) SwaggerDoc

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

type Registries

type Registries struct {
	// Mirror is the mirrored registry of the Source. Will be ignored if Mirror is empty.
	// +kubebuilder:validation:Required
	// +required
	Mirror string `json:"mirror"`

	// Source is the source registry. All image registries will be replaced by Mirror if Source is empty.
	// +optional
	Source string `json:"source"`
}

func (*Registries) DeepCopy

func (in *Registries) DeepCopy() *Registries

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

func (*Registries) DeepCopyInto

func (in *Registries) DeepCopyInto(out *Registries)

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

func (Registries) SwaggerDoc

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

Jump to

Keyboard shortcuts

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