v1alpha1

package
v0.0.0-...-26a55ce Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2026 License: MIT-0 Imports: 5 Imported by: 2

Documentation

Overview

+kubebuilder:object:generate=true +groupName=node.eks.aws +kubebuilder:validation:Optional

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupVersion  = schema.GroupVersion{Group: api.GroupName, Version: "v1alpha1"}
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
	AddToScheme   = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ClusterDetails

type ClusterDetails struct {
	// Name is the name of your EKS cluster
	Name string `json:"name,omitempty"`

	// APIServerEndpoint is the URL of your EKS cluster's kube-apiserver.
	APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`

	// CertificateAuthority is a base64-encoded string of your cluster's certificate authority chain.
	CertificateAuthority []byte `json:"certificateAuthority,omitempty"`

	// CIDR is your cluster's service CIDR block. This value is used to infer your cluster's DNS address.
	CIDR string `json:"cidr,omitempty"`

	// EnableOutpost determines how your node is configured when running on an AWS Outpost.
	EnableOutpost *bool `json:"enableOutpost,omitempty"`

	// ID is an identifier for your cluster; this is only used when your node is running on an AWS Outpost.
	ID string `json:"id,omitempty"`
}

ClusterDetails contains the coordinates of your EKS cluster. These details can be found using the [DescribeCluster API](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeCluster.html).

func (*ClusterDetails) DeepCopy

func (in *ClusterDetails) DeepCopy() *ClusterDetails

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

func (*ClusterDetails) DeepCopyInto

func (in *ClusterDetails) DeepCopyInto(out *ClusterDetails)

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

type ContainerdOptions

type ContainerdOptions struct {
	// Config is an inline [`containerd` configuration TOML](https://github.com/containerd/containerd/blob/main/docs/man/containerd-config.toml.5.md)
	// that will be merged with the defaults.
	Config string `json:"config,omitempty"`

	// BaseRuntimeSpec is the OCI runtime specification upon which all containers will be based.
	// The provided spec will be merged with the default spec; so that a partial spec may be provided.
	// For more information, see: https://github.com/opencontainers/runtime-spec
	BaseRuntimeSpec map[string]runtime.RawExtension `json:"baseRuntimeSpec,omitempty"`
}

ContainerdOptions are additional parameters passed to `containerd`.

func (*ContainerdOptions) DeepCopy

func (in *ContainerdOptions) DeepCopy() *ContainerdOptions

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

func (*ContainerdOptions) DeepCopyInto

func (in *ContainerdOptions) DeepCopyInto(out *ContainerdOptions)

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

type DisabledMount

type DisabledMount string

DisabledMount specifies a directory that should not be mounted onto local storage

* `Containerd` refers to `/var/lib/containerd` * `PodLogs` refers to `/var/log/pods` * `SOCI` refers to `/var/lib/soci-snapshotter-grpc` +kubebuilder:validation:Enum={Containerd, PodLogs, SOCI}

const (
	DisabledMountContainerd DisabledMount = "Containerd"
	DisabledMountPodLogs    DisabledMount = "PodLogs"
	DisabledMountSOCI       DisabledMount = "SOCI"
)

type EnvironmentOptions

type EnvironmentOptions map[string]map[string]string

EnvironmentOptions configures environment variables for the system and systemd services. The key `default` is reserved for configuring the environment across all services on the instance The key can be set to a systemd service name to configure environment only for a particular service.

func (EnvironmentOptions) DeepCopy

func (in EnvironmentOptions) DeepCopy() EnvironmentOptions

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

func (EnvironmentOptions) DeepCopyInto

func (in EnvironmentOptions) DeepCopyInto(out *EnvironmentOptions)

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

type Feature

type Feature string

Feature specifies which feature gate should be toggled +kubebuilder:validation:Enum={InstanceIdNodeName,FastImagePull}

const (
	// InstanceIdNodeName will use EC2 instance ID as node name
	InstanceIdNodeName Feature = "InstanceIdNodeName"

	// FastImagePull enables a parallel image pull for container images. This
	// will use more instance CPU, Memory, and EBS I/O during image pull, but
	// may result in faster image pull times. This flag will be ignored on
	// instances with memory and vCPU below a certain threshold.
	FastImagePull Feature = "FastImagePull"
)

type InstanceOptions

type InstanceOptions struct {
	LocalStorage LocalStorageOptions `json:"localStorage,omitempty"`
	Environment  EnvironmentOptions  `json:"environment,omitempty"`
	Network      NetworkOptions      `json:"network,omitempty"`
}

InstanceOptions determines how the node's operating system and devices are configured.

func (*InstanceOptions) DeepCopy

func (in *InstanceOptions) DeepCopy() *InstanceOptions

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

func (*InstanceOptions) DeepCopyInto

func (in *InstanceOptions) DeepCopyInto(out *InstanceOptions)

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

type KubeletOptions

type KubeletOptions struct {
	// Config is a [`KubeletConfiguration`](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/)
	// that will be merged with the defaults.
	Config map[string]runtime.RawExtension `json:"config,omitempty"`

	// Flags are [command-line `kubelet` arguments](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/).
	// that will be appended to the defaults.
	Flags []string `json:"flags,omitempty"`

	// MaxPodsExpression is a CEL expression used to compute a max pods value for
	// the kubelet configuration. Any MaxPods value set in Config takes precedence
	// over the result of this expression. If the expression is successfully evaluated,
	// kubeReserved will always be calculated on its result.
	MaxPodsExpression string `json:"maxPodsExpression,omitempty"`
}

KubeletOptions are additional parameters passed to `kubelet`.

func (*KubeletOptions) DeepCopy

func (in *KubeletOptions) DeepCopy() *KubeletOptions

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

func (*KubeletOptions) DeepCopyInto

func (in *KubeletOptions) DeepCopyInto(out *KubeletOptions)

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

type LocalStorageOptions

type LocalStorageOptions struct {
	Strategy LocalStorageStrategy `json:"strategy,omitempty"`

	// MountPath is the path where the filesystem will be mounted.
	// Defaults to `/mnt/k8s-disks/`.
	MountPath string `json:"mountPath,omitempty"`

	// List of directories that will not be mounted to LocalStorage. By default,
	// all mounts are enabled.
	DisabledMounts []DisabledMount `json:"disabledMounts,omitempty"`
}

LocalStorageOptions control how [EC2 instance stores](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) are used when available.

func (*LocalStorageOptions) DeepCopy

func (in *LocalStorageOptions) DeepCopy() *LocalStorageOptions

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

func (*LocalStorageOptions) DeepCopyInto

func (in *LocalStorageOptions) DeepCopyInto(out *LocalStorageOptions)

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

type LocalStorageStrategy

type LocalStorageStrategy string

LocalStorageStrategy specifies how to handle an instance's local storage devices. +kubebuilder:validation:Enum={RAID0, RAID10, Mount}

const (
	// LocalStorageRAID0 will create a single raid0 volume from any local disks
	LocalStorageRAID0 LocalStorageStrategy = "RAID0"

	// LocalStorageRAID10 will create a single raid10 volume from any local disks. Minimum of 4.
	LocalStorageRAID10 LocalStorageStrategy = "RAID10"

	// LocalStorageMount will mount each local disk individually
	LocalStorageMount LocalStorageStrategy = "Mount"
)

type NetworkOptions

type NetworkOptions struct {
	// Nameservers are servers for the instance's network name resolution. The
	// list may include both IPv4 and IPv6 addresses.
	// see: https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.html#DNS=
	Nameservers []string `json:"nameservers,omitempty"`

	// Domains are search entries for the instance's network name resolution.
	// see: https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.html#Domains=
	Domains []string `json:"domains,omitempty"`
}

NetworkOptions are parameters used to configure networking on the host OS.

func (*NetworkOptions) DeepCopy

func (in *NetworkOptions) DeepCopy() *NetworkOptions

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

func (*NetworkOptions) DeepCopyInto

func (in *NetworkOptions) DeepCopyInto(out *NetworkOptions)

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

type NodeConfig

type NodeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              NodeConfigSpec `json:"spec,omitempty"`
}

NodeConfig is the primary configuration object for `nodeadm`.

func (*NodeConfig) DeepCopy

func (in *NodeConfig) DeepCopy() *NodeConfig

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

func (*NodeConfig) DeepCopyInto

func (in *NodeConfig) DeepCopyInto(out *NodeConfig)

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

func (*NodeConfig) DeepCopyObject

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

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

type NodeConfigList

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

func (*NodeConfigList) DeepCopy

func (in *NodeConfigList) DeepCopy() *NodeConfigList

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

func (*NodeConfigList) DeepCopyInto

func (in *NodeConfigList) DeepCopyInto(out *NodeConfigList)

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

func (*NodeConfigList) DeepCopyObject

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

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

type NodeConfigSpec

type NodeConfigSpec struct {
	Cluster    ClusterDetails    `json:"cluster,omitempty"`
	Containerd ContainerdOptions `json:"containerd,omitempty"`
	Instance   InstanceOptions   `json:"instance,omitempty"`
	Kubelet    KubeletOptions    `json:"kubelet,omitempty"`
	// FeatureGates holds key-value pairs to enable or disable application features.
	FeatureGates map[Feature]bool `json:"featureGates,omitempty"`
}

func (*NodeConfigSpec) DeepCopy

func (in *NodeConfigSpec) DeepCopy() *NodeConfigSpec

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

func (*NodeConfigSpec) DeepCopyInto

func (in *NodeConfigSpec) DeepCopyInto(out *NodeConfigSpec)

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