v1alpha1

package
v0.14.3 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: Apache-2.0 Imports: 41 Imported by: 0

README

Create new webhooks

Install kubebuilder

make hack/tools/bin/kubebuilder

Add API to PROJECT https://github.com/aws/eks-anywhere/blob/main/PROJECT

run ./hack/kubebuilder.sh create api --group anywhere --version v1alpha1 --kind WhateverKind

Create new webhooks with kubebuilder

Since we use a non standard (according to kubebuilder) repo structure, kubebuilder commands won't work. For this purpose, we have a script that temporally changes our folder structure to one that kubebuilder understands and restores the original one after executing the kubebuilder command.

Example

./hack/kubebuilder.sh create webhook --group anywhere --version v1alpha1 --defaulting --programmatic-validation --kind WhateverKind

--defaulting creates mutation webhooks and --programmatic-validation creates validation webhooks.

Resources:

https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#request

Change webhook marker name to under anywhere.amazonaws.com

The default name in webhook marker is v<kind>.kb.io, we need to change it to <validation/mutation>.<kind>.anywhere.amazonaws.com

Generate manifests

run make release-manifests

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the anywhere v1alpha1 API group +kubebuilder:object:generate=true +groupName=anywhere.eks.amazonaws.com

Index

Constants

View Source
const (
	AWSIamConfigKind = "AWSIamConfig"

	DefaultAWSIamConfigPartition = "aws"
)
View Source
const (
	ClusterKind         = "Cluster"
	YamlSeparator       = "\n---\n"
	RegistryMirrorCAKey = "EKSA_REGISTRY_MIRROR_CA"
)
View Source
const (
	FluxConfigKind   = "FluxConfig"
	RsaAlgorithm     = "rsa"
	EcdsaAlgorithm   = "ecdsa"
	Ed25519Algorithm = "ed25519"
)
View Source
const (
	GitOpsConfigKind     = "GitOpsConfig"
	FluxDefaultNamespace = "flux-system"
	FluxDefaultBranch    = "main"
)
View Source
const (
	// NutanixMachineConfigKind is the kind for a NutanixMachineConfig.
	NutanixMachineConfigKind = "NutanixMachineConfig"

	// NutanixIdentifierUUID is a resource identifier identifying the object by UUID.
	NutanixIdentifierUUID NutanixIdentifierType = "uuid"
	// NutanixIdentifierName is a resource identifier identifying the object by Name.
	NutanixIdentifierName NutanixIdentifierType = "name"

	// DefaultNutanixMachineConfigUser is the default username we set in machine config.
	DefaultNutanixMachineConfigUser string = "eksa"
)
View Source
const (
	SnowIdentityKind    = "Secret"
	SnowCredentialsKey  = "credentials"
	SnowCertificatesKey = "ca-bundle"
)
View Source
const (
	SnowMachineConfigKind                   = "SnowMachineConfig"
	DefaultSnowSSHKeyName                   = ""
	DefaultSnowInstanceType                 = "sbe-c.large"
	DefaultSnowPhysicalNetworkConnectorType = SFPPlus
	DefaultOSFamily                         = Ubuntu
	MinimumContainerVolumeSizeUbuntu        = 8
	MinimumContainerVolumeSizeBottlerocket  = 25
)
View Source
const (
	VSphereMachineConfigKind = "VSphereMachineConfig"
	DefaultVSphereDiskGiB    = 25
	DefaultVSphereNumCPUs    = 2
	DefaultVSphereMemoryMiB  = 8192
	DefaultVSphereOSFamily   = Bottlerocket
)
View Source
const AWSDatacenterKind = "AWSDatacenterConfig"
View Source
const CloudStackDatacenterKind = "CloudStackDatacenterConfig"
View Source
const CloudStackMachineConfigKind = "CloudStackMachineConfig"
View Source
const DefaultCloudStackAZPrefix = "default-az"
View Source
const DockerDatacenterKind = "DockerDatacenterConfig"
View Source
const (

	// ManagedByCLIAnnotation can be applied to an EKS-A Cluster to signal when the CLI is currently
	// performing an operation so the controller should not take any action. When marked for deletion,
	// the controller will remove the finalizer and let the cluster be deleted.
	ManagedByCLIAnnotation = "anywhere.eks.amazonaws.com/managed-by-cli"
)
View Source
const NutanixDatacenterKind = "NutanixDatacenterConfig"
View Source
const OIDCConfigKind = "OIDCConfig"
View Source
const SnowDatacenterKind = "SnowDatacenterConfig"
View Source
const (
	// SnowIPPoolKind is the object kind name for SnowIPPool.
	SnowIPPoolKind = "SnowIPPool"
)
View Source
const TinkerbellDatacenterKind = "TinkerbellDatacenterConfig"
View Source
const TinkerbellMachineConfigKind = "TinkerbellMachineConfig"
View Source
const TinkerbellTemplateConfigKind = "TinkerbellTemplateConfig"
View Source
const VSphereDatacenterKind = "VSphereDatacenterConfig"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "anywhere.eks.amazonaws.com", 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

func CNIPluginSame added in v0.8.0

func CNIPluginSame(n ClusterNetwork, o ClusterNetwork) bool

func GetCloudStackMachineConfigs added in v0.8.0

func GetCloudStackMachineConfigs(fileName string) (map[string]*CloudStackMachineConfig, error)

func GetNutanixMachineConfigs added in v0.12.0

func GetNutanixMachineConfigs(fileName string) (map[string]*NutanixMachineConfig, error)

func GetTinkerbellMachineConfigs added in v0.7.0

func GetTinkerbellMachineConfigs(fileName string) (map[string]*TinkerbellMachineConfig, error)

func GetTinkerbellTemplateConfig added in v0.8.0

func GetTinkerbellTemplateConfig(fileName string) (map[string]*TinkerbellTemplateConfig, error)

func GetVSphereMachineConfigs

func GetVSphereMachineConfigs(fileName string) (map[string]*VSphereMachineConfig, error)

func MapEqual added in v0.13.0

func MapEqual(s1, s2 map[string]string) bool

MapEqual compares two maps to check whether or not they are equal.

func OCINamespacesSliceEqual added in v0.13.0

func OCINamespacesSliceEqual(a, b []OCINamespace) bool

OCINamespacesSliceEqual is used to check equality of the OCINamespaces fields of two RegistryMirrorConfiguration.

func ParseClusterConfig

func ParseClusterConfig(fileName string, clusterConfig KindAccessor) error

ParseClusterConfig unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml file in disk. It doesn't set defaults nor validates the object.

func ParseClusterConfigFromContent added in v0.7.1

func ParseClusterConfigFromContent(content []byte, clusterConfig KindAccessor) error

ParseClusterConfigFromContent unmarshalls an API object implementing the KindAccessor interface from a multiobject yaml content. It doesn't set defaults nor validates the object.

func RefSliceEqual

func RefSliceEqual(a, b []Ref) bool

func RequiredClaimsSliceEqual

func RequiredClaimsSliceEqual(a, b []OIDCConfigRequiredClaim) bool

func SliceEqual

func SliceEqual(a, b []string) bool

func SnowIPPoolsSliceEqual added in v0.14.0

func SnowIPPoolsSliceEqual(a, b []IPPool) bool

SnowIPPoolsSliceEqual compares and returns whether two snow IPPool objects are equal.

func TaintsSliceEqual added in v0.6.1

func TaintsSliceEqual(s1, s2 []corev1.Taint) bool

func UsersSliceEqual added in v0.8.0

func UsersSliceEqual(a, b []UserConfiguration) bool

func ValidateClusterConfigContent

func ValidateClusterConfigContent(clusterConfig *Cluster) error

ValidateClusterConfigContent validates a Cluster object without modifying it Some of the validations are a bit heavy and need a network connection.

func ValidateClusterName added in v0.7.0

func ValidateClusterName(clusterName string) error

func ValidateClusterNameLength added in v0.7.0

func ValidateClusterNameLength(clusterName string) error

func WorkerNodeGroupConfigurationSliceTaintsEqual added in v0.7.1

func WorkerNodeGroupConfigurationSliceTaintsEqual(a, b []WorkerNodeGroupConfiguration) bool

func WorkerNodeGroupConfigurationsLabelsMapEqual added in v0.7.1

func WorkerNodeGroupConfigurationsLabelsMapEqual(a, b []WorkerNodeGroupConfiguration) bool

func WorkerNodeGroupConfigurationsSliceEqual added in v0.6.0

func WorkerNodeGroupConfigurationsSliceEqual(a, b []WorkerNodeGroupConfiguration) bool

Types

type AWSDatacenterConfig

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

	Spec   AWSDatacenterConfigSpec   `json:"spec,omitempty"`
	Status AWSDatacenterConfigStatus `json:"status,omitempty"`
}

AWSDatacenterConfig is the Schema for the AWSDatacenterConfigs API.

func GetAWSDatacenterConfig

func GetAWSDatacenterConfig(fileName string) (*AWSDatacenterConfig, error)

func (*AWSDatacenterConfig) ClearPauseAnnotation

func (a *AWSDatacenterConfig) ClearPauseAnnotation()

func (*AWSDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (a *AWSDatacenterConfig) ConvertConfigToConfigGenerateStruct() *AWSDatacenterConfigGenerate

func (*AWSDatacenterConfig) DeepCopy

func (in *AWSDatacenterConfig) DeepCopy() *AWSDatacenterConfig

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

func (*AWSDatacenterConfig) DeepCopyInto

func (in *AWSDatacenterConfig) DeepCopyInto(out *AWSDatacenterConfig)

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

func (*AWSDatacenterConfig) DeepCopyObject

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

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

func (*AWSDatacenterConfig) ExpectedKind

func (a *AWSDatacenterConfig) ExpectedKind() string

func (*AWSDatacenterConfig) Kind

func (a *AWSDatacenterConfig) Kind() string

func (*AWSDatacenterConfig) PauseReconcile

func (a *AWSDatacenterConfig) PauseReconcile()

type AWSDatacenterConfigGenerate

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

	Spec AWSDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as AWSDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewAWSDatacenterConfigGenerate

func NewAWSDatacenterConfigGenerate(clusterName string) *AWSDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*AWSDatacenterConfigGenerate) APIVersion

func (c *AWSDatacenterConfigGenerate) APIVersion() string

func (*AWSDatacenterConfigGenerate) Kind

func (*AWSDatacenterConfigGenerate) Name

type AWSDatacenterConfigList

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

AWSDatacenterConfigList contains a list of AWSDatacenterConfig.

func (*AWSDatacenterConfigList) DeepCopy

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

func (*AWSDatacenterConfigList) DeepCopyInto

func (in *AWSDatacenterConfigList) DeepCopyInto(out *AWSDatacenterConfigList)

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

func (*AWSDatacenterConfigList) DeepCopyObject

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

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

type AWSDatacenterConfigSpec

type AWSDatacenterConfigSpec struct {
	Region string `json:"region"`
	AmiID  string `json:"amiID"`
}

AWSDatacenterConfigSpec defines the desired state of AWSDatacenterConfig.

func (*AWSDatacenterConfigSpec) DeepCopy

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

func (*AWSDatacenterConfigSpec) DeepCopyInto

func (in *AWSDatacenterConfigSpec) DeepCopyInto(out *AWSDatacenterConfigSpec)

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

type AWSDatacenterConfigStatus

type AWSDatacenterConfigStatus struct {
}

AWSDatacenterConfigStatus defines the observed state of AWSDatacenterConfig.

func (*AWSDatacenterConfigStatus) DeepCopy

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

func (*AWSDatacenterConfigStatus) DeepCopyInto

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

type AWSIamConfig added in v0.6.0

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

	Spec   AWSIamConfigSpec   `json:"spec,omitempty"`
	Status AWSIamConfigStatus `json:"status,omitempty"`
}

AWSIamConfig is the Schema for the awsiamconfigs API.

func GetAndValidateAWSIamConfig added in v0.6.0

func GetAndValidateAWSIamConfig(fileName string, refName string, clusterConfig *Cluster) (*AWSIamConfig, error)

func (*AWSIamConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *AWSIamConfig) ConvertConfigToConfigGenerateStruct() *AWSIamConfigGenerate

func (*AWSIamConfig) DeepCopy added in v0.6.0

func (in *AWSIamConfig) DeepCopy() *AWSIamConfig

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

func (*AWSIamConfig) DeepCopyInto added in v0.6.0

func (in *AWSIamConfig) DeepCopyInto(out *AWSIamConfig)

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

func (*AWSIamConfig) DeepCopyObject added in v0.6.0

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

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

func (*AWSIamConfig) Default added in v0.11.0

func (r *AWSIamConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*AWSIamConfig) ExpectedKind added in v0.6.0

func (c *AWSIamConfig) ExpectedKind() string

func (*AWSIamConfig) Kind added in v0.6.0

func (c *AWSIamConfig) Kind() string

func (*AWSIamConfig) SetDefaults added in v0.8.0

func (c *AWSIamConfig) SetDefaults()

func (*AWSIamConfig) SetupWebhookWithManager added in v0.6.0

func (r *AWSIamConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*AWSIamConfig) Validate added in v0.8.0

func (c *AWSIamConfig) Validate() error

func (*AWSIamConfig) ValidateCreate added in v0.6.0

func (r *AWSIamConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*AWSIamConfig) ValidateDelete added in v0.6.0

func (r *AWSIamConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*AWSIamConfig) ValidateUpdate added in v0.6.0

func (r *AWSIamConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type AWSIamConfigGenerate added in v0.6.0

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

	Spec AWSIamConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as AWSIamConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type AWSIamConfigList added in v0.6.0

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

AWSIamConfigList contains a list of AWSIamConfig.

func (*AWSIamConfigList) DeepCopy added in v0.6.0

func (in *AWSIamConfigList) DeepCopy() *AWSIamConfigList

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

func (*AWSIamConfigList) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigList) DeepCopyInto(out *AWSIamConfigList)

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

func (*AWSIamConfigList) DeepCopyObject added in v0.6.0

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

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

type AWSIamConfigSpec added in v0.6.0

type AWSIamConfigSpec struct {
	// AWSRegion defines a region in an AWS partition
	AWSRegion string `json:"awsRegion"`
	// BackendMode defines multiple backends for aws-iam-authenticator server
	// The server searches for mappings in order
	BackendMode []string `json:"backendMode"`
	// +kubebuilder:validation:Optional
	MapRoles []MapRoles `json:"mapRoles,omitempty"`
	// +kubebuilder:validation:Optional
	MapUsers []MapUsers `json:"mapUsers,omitempty"`
	// Partition defines the AWS partition on which the IAM roles exist
	// +kubebuilder:default:=aws
	// +kubebuilder:validation:Optional
	Partition string `json:"partition,omitempty"`
}

AWSIamConfigSpec defines the desired state of AWSIamConfig.

func (*AWSIamConfigSpec) DeepCopy added in v0.6.0

func (in *AWSIamConfigSpec) DeepCopy() *AWSIamConfigSpec

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

func (*AWSIamConfigSpec) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigSpec) DeepCopyInto(out *AWSIamConfigSpec)

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

func (*AWSIamConfigSpec) Equal added in v0.6.0

func (e *AWSIamConfigSpec) Equal(n *AWSIamConfigSpec) bool

type AWSIamConfigStatus added in v0.6.0

type AWSIamConfigStatus struct{}

AWSIamConfigStatus defines the observed state of AWSIamConfig.

func (*AWSIamConfigStatus) DeepCopy added in v0.6.0

func (in *AWSIamConfigStatus) DeepCopy() *AWSIamConfigStatus

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

func (*AWSIamConfigStatus) DeepCopyInto added in v0.6.0

func (in *AWSIamConfigStatus) DeepCopyInto(out *AWSIamConfigStatus)

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

type ActionOpt added in v0.8.0

type ActionOpt func(action *[]tinkerbell.Action)

+kubebuilder:object:generate=false

func GetDefaultActionsFromBundle added in v0.9.0

func GetDefaultActionsFromBundle(b v1alpha1.VersionsBundle, disk, osImageOverride, tinkerbellLocalIp, tinkerbellLBIp string, osFamily OSFamily) []ActionOpt

type AutoScalingConfiguration added in v0.12.0

type AutoScalingConfiguration struct {
	// MinCount defines the minimum number of nodes for the associated resource group.
	// +optional
	MinCount int `json:"minCount,omitempty"`

	// MaxCount defines the maximum number of nodes for the associated resource group.
	// +optional
	MaxCount int `json:"maxCount,omitempty"`
}

AutoScalingConfiguration defines the configuration for the node autoscaling feature.

func (*AutoScalingConfiguration) DeepCopy added in v0.12.0

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

func (*AutoScalingConfiguration) DeepCopyInto added in v0.12.0

func (in *AutoScalingConfiguration) DeepCopyInto(out *AutoScalingConfiguration)

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

type BundlesRef added in v0.9.2

type BundlesRef struct {
	// APIVersion refers to the Bundles APIVersion
	APIVersion string `json:"apiVersion"`
	// Name refers to the name of the Bundles object in the cluster
	Name string `json:"name"`
	// Namespace refers to the Bundles's namespace
	Namespace string `json:"namespace"`
}

func (*BundlesRef) DeepCopy added in v0.9.2

func (in *BundlesRef) DeepCopy() *BundlesRef

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

func (*BundlesRef) DeepCopyInto added in v0.9.2

func (in *BundlesRef) DeepCopyInto(out *BundlesRef)

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

func (*BundlesRef) Equal added in v0.9.2

func (b *BundlesRef) Equal(o *BundlesRef) bool

type CNI

type CNI string
const (
	Cilium           CNI = "cilium"
	CiliumEnterprise CNI = "cilium-enterprise"
	Kindnetd         CNI = "kindnetd"
)

type CNIConfig added in v0.8.0

type CNIConfig struct {
	Cilium   *CiliumConfig   `json:"cilium,omitempty"`
	Kindnetd *KindnetdConfig `json:"kindnetd,omitempty"`
}

func (*CNIConfig) DeepCopy added in v0.8.0

func (in *CNIConfig) DeepCopy() *CNIConfig

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

func (*CNIConfig) DeepCopyInto added in v0.8.0

func (in *CNIConfig) DeepCopyInto(out *CNIConfig)

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

func (*CNIConfig) Equal added in v0.8.0

func (n *CNIConfig) Equal(o *CNIConfig) bool

type CiliumConfig added in v0.8.0

type CiliumConfig struct {
	// PolicyEnforcementMode determines communication allowed between pods. Accepted values are default, always, never.
	PolicyEnforcementMode CiliumPolicyEnforcementMode `json:"policyEnforcementMode,omitempty"`
}

func (*CiliumConfig) DeepCopy added in v0.8.0

func (in *CiliumConfig) DeepCopy() *CiliumConfig

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

func (*CiliumConfig) DeepCopyInto added in v0.8.0

func (in *CiliumConfig) DeepCopyInto(out *CiliumConfig)

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

func (*CiliumConfig) Equal added in v0.8.0

func (n *CiliumConfig) Equal(o *CiliumConfig) bool

type CiliumPolicyEnforcementMode added in v0.8.0

type CiliumPolicyEnforcementMode string
const (
	CiliumPolicyModeDefault CiliumPolicyEnforcementMode = "default"
	CiliumPolicyModeAlways  CiliumPolicyEnforcementMode = "always"
	CiliumPolicyModeNever   CiliumPolicyEnforcementMode = "never"
)

type CloudStackAvailabilityZone added in v0.11.0

type CloudStackAvailabilityZone struct {
	// Name is used as a unique identifier for each availability zone
	Name string `json:"name"`
	// CredentialRef is used to reference a secret in the eksa-system namespace
	CredentialsRef string `json:"credentialsRef"`
	// Zone represents the properties of the CloudStack zone in which clusters should be created, like the network.
	Zone CloudStackZone `json:"zone"`
	// Domain contains a grouping of accounts. Domains usually contain multiple accounts that have some logical relationship to each other and a set of delegated administrators with some authority over the domain and its subdomains
	// This field is considered as a fully qualified domain name which is the same as the domain path without "ROOT/" prefix. For example, if "foo" is specified then a domain with "ROOT/foo" domain path is picked.
	// The value "ROOT" is a special case that points to "the" ROOT domain of the CloudStack. That is, a domain with a path "ROOT/ROOT" is not allowed.
	Domain string `json:"domain"`
	// Account typically represents a customer of the service provider or a department in a large organization. Multiple users can exist in an account, and all CloudStack resources belong to an account. Accounts have users and users have credentials to operate on resources within that account. If an account name is provided, a domain must also be provided.
	Account string `json:"account,omitempty"`
	// CloudStack Management API endpoint's IP. It is added to VM's noproxy list
	ManagementApiEndpoint string `json:"managementApiEndpoint"`
}

CloudStackAvailabilityZone maps to a CAPI failure domain to distribute machines across Cloudstack infrastructure.

func (*CloudStackAvailabilityZone) DeepCopy added in v0.11.0

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

func (*CloudStackAvailabilityZone) DeepCopyInto added in v0.11.0

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

func (*CloudStackAvailabilityZone) Equal added in v0.11.0

type CloudStackDatacenterConfig added in v0.8.0

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

	Spec   CloudStackDatacenterConfigSpec   `json:"spec,omitempty"`
	Status CloudStackDatacenterConfigStatus `json:"status,omitempty"`
}

CloudStackDatacenterConfig is the Schema for the cloudstackdatacenterconfigs API.

func GetCloudStackDatacenterConfig added in v0.8.0

func GetCloudStackDatacenterConfig(fileName string) (*CloudStackDatacenterConfig, error)

func (*CloudStackDatacenterConfig) ClearPauseAnnotation added in v0.8.0

func (v *CloudStackDatacenterConfig) ClearPauseAnnotation()

func (*CloudStackDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (v *CloudStackDatacenterConfig) ConvertConfigToConfigGenerateStruct() *CloudStackDatacenterConfigGenerate

func (*CloudStackDatacenterConfig) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfig) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfig) DeepCopyObject added in v0.8.0

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

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

func (*CloudStackDatacenterConfig) ExpectedKind added in v0.8.0

func (v *CloudStackDatacenterConfig) ExpectedKind() string

func (*CloudStackDatacenterConfig) IsReconcilePaused added in v0.8.0

func (v *CloudStackDatacenterConfig) IsReconcilePaused() bool

func (*CloudStackDatacenterConfig) Kind added in v0.8.0

func (*CloudStackDatacenterConfig) Marshallable added in v0.8.0

func (v *CloudStackDatacenterConfig) Marshallable() Marshallable

func (*CloudStackDatacenterConfig) PauseReconcile added in v0.8.0

func (v *CloudStackDatacenterConfig) PauseReconcile()

func (*CloudStackDatacenterConfig) SetDefaults added in v0.11.0

func (v *CloudStackDatacenterConfig) SetDefaults()

func (*CloudStackDatacenterConfig) SetupWebhookWithManager added in v0.8.0

func (r *CloudStackDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CloudStackDatacenterConfig) Validate added in v0.9.0

func (v *CloudStackDatacenterConfig) Validate() error

func (*CloudStackDatacenterConfig) ValidateCreate added in v0.8.0

func (r *CloudStackDatacenterConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*CloudStackDatacenterConfig) ValidateDelete added in v0.8.0

func (r *CloudStackDatacenterConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*CloudStackDatacenterConfig) ValidateUpdate added in v0.8.0

func (r *CloudStackDatacenterConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type CloudStackDatacenterConfigGenerate added in v0.8.0

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

	Spec CloudStackDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as CloudStackDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewCloudStackDatacenterConfigGenerate added in v0.8.0

func NewCloudStackDatacenterConfigGenerate(clusterName string) *CloudStackDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*CloudStackDatacenterConfigGenerate) APIVersion added in v0.8.0

func (*CloudStackDatacenterConfigGenerate) Kind added in v0.8.0

func (*CloudStackDatacenterConfigGenerate) Name added in v0.8.0

type CloudStackDatacenterConfigList added in v0.8.0

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

CloudStackDatacenterConfigList contains a list of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigList) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigList) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfigList) DeepCopyObject added in v0.8.0

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

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

type CloudStackDatacenterConfigSpec added in v0.8.0

type CloudStackDatacenterConfigSpec struct {

	// Domain contains a grouping of accounts. Domains usually contain multiple accounts that have some logical relationship to each other and a set of delegated administrators with some authority over the domain and its subdomains
	// This field is considered as a fully qualified domain name which is the same as the domain path without "ROOT/" prefix. For example, if "foo" is specified then a domain with "ROOT/foo" domain path is picked.
	// The value "ROOT" is a special case that points to "the" ROOT domain of the CloudStack. That is, a domain with a path "ROOT/ROOT" is not allowed.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Domain string `json:"domain,omitempty"`
	// Zones is a list of one or more zones that are managed by a single CloudStack management endpoint.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Zones []CloudStackZone `json:"zones,omitempty"`
	// Account typically represents a customer of the service provider or a department in a large organization. Multiple users can exist in an account, and all CloudStack resources belong to an account. Accounts have users and users have credentials to operate on resources within that account. If an account name is provided, a domain must also be provided.
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	Account string `json:"account,omitempty"`
	// CloudStack Management API endpoint's IP. It is added to VM's noproxy list
	// +optional
	// Deprecated: Please use AvailabilityZones instead
	ManagementApiEndpoint string `json:"managementApiEndpoint,omitempty"`
	// AvailabilityZones list of different partitions to distribute VMs across - corresponds to a list of CAPI failure domains
	AvailabilityZones []CloudStackAvailabilityZone `json:"availabilityZones,omitempty"`
}

CloudStackDatacenterConfigSpec defines the desired state of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigSpec) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigSpec) DeepCopyInto added in v0.8.0

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

func (*CloudStackDatacenterConfigSpec) Equal added in v0.9.0

type CloudStackDatacenterConfigStatus added in v0.8.0

type CloudStackDatacenterConfigStatus struct {
	// SpecValid is set to true if cloudstackdatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	FailureMessage *string `json:"failureMessage,omitempty"`
}

CloudStackDatacenterConfigStatus defines the observed state of CloudStackDatacenterConfig.

func (*CloudStackDatacenterConfigStatus) DeepCopy added in v0.8.0

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

func (*CloudStackDatacenterConfigStatus) DeepCopyInto added in v0.8.0

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

type CloudStackMachineConfig added in v0.8.0

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

	Spec   CloudStackMachineConfigSpec   `json:"spec,omitempty"`
	Status CloudStackMachineConfigStatus `json:"status,omitempty"`
}

CloudStackMachineConfig is the Schema for the cloudstackmachineconfigs API.

func (*CloudStackMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *CloudStackMachineConfig) ConvertConfigToConfigGenerateStruct() *CloudStackMachineConfigGenerate

func (*CloudStackMachineConfig) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfig) DeepCopyInto added in v0.8.0

func (in *CloudStackMachineConfig) DeepCopyInto(out *CloudStackMachineConfig)

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

func (*CloudStackMachineConfig) DeepCopyObject added in v0.8.0

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

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

func (*CloudStackMachineConfig) GetName added in v0.8.0

func (c *CloudStackMachineConfig) GetName() string

func (*CloudStackMachineConfig) GetNamespace added in v0.8.0

func (c *CloudStackMachineConfig) GetNamespace() string

func (*CloudStackMachineConfig) IsControlPlane added in v0.8.0

func (c *CloudStackMachineConfig) IsControlPlane() bool

func (*CloudStackMachineConfig) IsEtcd added in v0.8.0

func (c *CloudStackMachineConfig) IsEtcd() bool

func (*CloudStackMachineConfig) IsManagement added in v0.8.0

func (c *CloudStackMachineConfig) IsManagement() bool

func (*CloudStackMachineConfig) IsReconcilePaused added in v0.8.0

func (c *CloudStackMachineConfig) IsReconcilePaused() bool

func (*CloudStackMachineConfig) Marshallable added in v0.8.0

func (c *CloudStackMachineConfig) Marshallable() Marshallable

func (*CloudStackMachineConfig) OSFamily added in v0.8.0

func (c *CloudStackMachineConfig) OSFamily() OSFamily

func (*CloudStackMachineConfig) PauseReconcile added in v0.8.0

func (c *CloudStackMachineConfig) PauseReconcile()

func (*CloudStackMachineConfig) SetControlPlane added in v0.8.0

func (c *CloudStackMachineConfig) SetControlPlane()

func (*CloudStackMachineConfig) SetEtcd added in v0.8.0

func (c *CloudStackMachineConfig) SetEtcd()

func (*CloudStackMachineConfig) SetManagement added in v0.8.0

func (c *CloudStackMachineConfig) SetManagement(clusterName string)

func (*CloudStackMachineConfig) SetupWebhookWithManager added in v0.8.0

func (r *CloudStackMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CloudStackMachineConfig) Validate added in v0.9.0

func (c *CloudStackMachineConfig) Validate() error

func (*CloudStackMachineConfig) ValidateCreate added in v0.8.0

func (r *CloudStackMachineConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*CloudStackMachineConfig) ValidateDelete added in v0.8.0

func (r *CloudStackMachineConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*CloudStackMachineConfig) ValidateUpdate added in v0.8.0

func (r *CloudStackMachineConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type CloudStackMachineConfigGenerate added in v0.8.0

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

	Spec CloudStackMachineConfigSpec `json:"spec,omitempty"`
}

Same as CloudStackMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewCloudStackMachineConfigGenerate added in v0.8.0

func NewCloudStackMachineConfigGenerate(name string) *CloudStackMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*CloudStackMachineConfigGenerate) APIVersion added in v0.8.0

func (c *CloudStackMachineConfigGenerate) APIVersion() string

func (*CloudStackMachineConfigGenerate) Kind added in v0.8.0

func (*CloudStackMachineConfigGenerate) Name added in v0.8.0

type CloudStackMachineConfigList added in v0.8.0

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

CloudStackMachineConfigList contains a list of CloudStackMachineConfig.

func (*CloudStackMachineConfigList) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigList) DeepCopyInto added in v0.8.0

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

func (*CloudStackMachineConfigList) DeepCopyObject added in v0.8.0

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

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

type CloudStackMachineConfigSpec added in v0.8.0

type CloudStackMachineConfigSpec struct {

	// Template refers to a VM image template which has been previously registered in CloudStack. It can either be specified as a UUID or name
	Template CloudStackResourceIdentifier `json:"template"`
	// ComputeOffering refers to a compute offering which has been previously registered in CloudStack. It represents a VM’s instance size including number of CPU’s, memory, and CPU speed. It can either be specified as a UUID or name
	ComputeOffering CloudStackResourceIdentifier `json:"computeOffering"`
	// DiskOffering refers to a disk offering which has been previously registered in CloudStack. It represents a disk offering with pre-defined size or custom specified disk size. It can either be specified as a UUID or name
	DiskOffering *CloudStackResourceDiskOffering `json:"diskOffering,omitempty"`
	// Users consists of an array of objects containing the username, as well as a list of their public keys. These users will be authorized to ssh into the machines
	Users []UserConfiguration `json:"users,omitempty"`
	// Defaults to `no`. Can be `pro` or `anti`. If set to `pro` or `anti`, will create an affinity group per machine set of the corresponding type
	Affinity string `json:"affinity,omitempty"`
	// AffinityGroupIds allows users to pass in a list of UUIDs for previously-created Affinity Groups. Any VM’s created with this spec will be added to the affinity group, which will dictate which physical host(s) they can be placed on. Affinity groups can be type “affinity” or “anti-affinity” in CloudStack. If they are type “anti-affinity”, all VM’s in the group must be on separate physical hosts for high availability. If they are type “affinity”, all VM’s in the group must be on the same physical host for improved performance
	AffinityGroupIds []string `json:"affinityGroupIds,omitempty"`
	// UserCustomDetails allows users to pass in non-standard key value inputs, outside those defined [here](https://github.com/shapeblue/cloudstack/blob/main/api/src/main/java/com/cloud/vm/VmDetailConstants.java)
	UserCustomDetails map[string]string `json:"userCustomDetails,omitempty"`
	// Symlinks create soft symbolic links folders. One use case is to use data disk to store logs
	Symlinks SymlinkMaps `json:"symlinks,omitempty"`
}

CloudStackMachineConfigSpec defines the desired state of CloudStackMachineConfig.

func (*CloudStackMachineConfigSpec) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigSpec) DeepCopyInto added in v0.8.0

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

func (*CloudStackMachineConfigSpec) Equal added in v0.9.0

type CloudStackMachineConfigStatus added in v0.8.0

type CloudStackMachineConfigStatus struct {

	// SpecValid is set to true if cloudstackmachineconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

CloudStackMachineConfigStatus defines the observed state of CloudStackMachineConfig.

func (*CloudStackMachineConfigStatus) DeepCopy added in v0.8.0

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

func (*CloudStackMachineConfigStatus) DeepCopyInto added in v0.8.0

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

type CloudStackResourceDiskOffering added in v0.9.0

type CloudStackResourceDiskOffering struct {
	CloudStackResourceIdentifier `json:",inline"`
	// disk size in GB, > 0 for customized disk offering; = 0 for non-customized disk offering
	// +optional
	CustomSize int64 `json:"customSizeInGB,omitempty"`
	// path the filesystem will use to mount in VM
	MountPath string `json:"mountPath"`
	// device name of the disk offering in VM, shows up in lsblk command
	Device string `json:"device"`
	// filesystem used to mkfs in disk offering partition
	Filesystem string `json:"filesystem"`
	// disk label used to label disk partition
	Label string `json:"label"`
}

func (*CloudStackResourceDiskOffering) DeepCopy added in v0.9.0

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

func (*CloudStackResourceDiskOffering) DeepCopyInto added in v0.9.0

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

func (*CloudStackResourceDiskOffering) Equal added in v0.9.0

func (*CloudStackResourceDiskOffering) IsEmpty added in v0.11.4

func (r *CloudStackResourceDiskOffering) IsEmpty() bool

IsEmpty Introduced for backwards compatibility purposes. When CloudStackResourceDiskOffering was initially added to the CloudStackMachineConfig type, it was added with omitempty at the top level, but the subtypes were *not* optional, so we have old clusters today with "empty" CloudStackResourceDiskOffering objects, like {CustomSize: 0, MountPath: "", Label: "", Device: "", FileSystem: ""}. Since then, we have made DiskOffering an optional pointer, with everything inside it as optional. Functionally, setting DiskOffering=nil is equivalent to having an "empty" DiskOffering as shown above. Introducing this check should help prevent unintended RollingUpgrades when upgrading a cluster which has this "empty" DiskOffering in it.

func (*CloudStackResourceDiskOffering) Validate added in v0.9.0

func (r *CloudStackResourceDiskOffering) Validate() (err error, field string, value string)

type CloudStackResourceIdentifier added in v0.8.0

type CloudStackResourceIdentifier struct {
	// Id of a resource in the CloudStack environment. Mutually exclusive with Name
	// +optional
	Id string `json:"id,omitempty"`
	// Name of a resource in the CloudStack environment. Mutually exclusive with Id
	// +optional
	Name string `json:"name,omitempty"`
}

func (*CloudStackResourceIdentifier) DeepCopy added in v0.8.0

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

func (*CloudStackResourceIdentifier) DeepCopyInto added in v0.8.0

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

func (*CloudStackResourceIdentifier) Equal added in v0.9.0

type CloudStackZone added in v0.8.0

type CloudStackZone struct {
	// Zone is the name or UUID of the CloudStack zone in which clusters should be created. Zones should be managed by a single CloudStack Management endpoint.
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	// Network is the name or UUID of the CloudStack network in which clusters should be created. It can either be an isolated or shared network. If it doesn’t already exist in CloudStack, it’ll automatically be created by CAPC as an isolated network. It can either be specified as a UUID or name
	// In multiple-zones situation, only 'Shared' network is supported.
	Network CloudStackResourceIdentifier `json:"network"`
}

CloudStackZone is an organizational construct typically used to represent a single datacenter, and all its physical and virtual resources exist inside that zone. It can either be specified as a UUID or name.

func (*CloudStackZone) DeepCopy added in v0.8.0

func (in *CloudStackZone) DeepCopy() *CloudStackZone

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

func (*CloudStackZone) DeepCopyInto added in v0.8.0

func (in *CloudStackZone) DeepCopyInto(out *CloudStackZone)

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

func (*CloudStackZone) Equal added in v0.9.0

func (z *CloudStackZone) Equal(o *CloudStackZone) bool

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status Cluster is the Schema for the clusters API.

func GetAndValidateClusterConfig

func GetAndValidateClusterConfig(fileName string) (*Cluster, error)

GetClusterConfig parses a Cluster object from a multiobject yaml file in disk sets defaults if necessary and validates the Cluster.

func GetClusterConfig

func GetClusterConfig(fileName string) (*Cluster, error)

GetClusterConfig parses a Cluster object from a multiobject yaml file in disk and sets defaults if necessary.

func GetClusterConfigFromContent added in v0.7.1

func GetClusterConfigFromContent(content []byte) (*Cluster, error)

GetClusterConfigFromContent parses a Cluster object from a multiobject yaml content.

func NewCluster

func NewCluster(clusterName string) *Cluster

func (*Cluster) ClearPauseAnnotation

func (c *Cluster) ClearPauseAnnotation()

func (*Cluster) ControlPlaneAnnotation

func (c *Cluster) ControlPlaneAnnotation() string

func (*Cluster) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *Cluster) ConvertConfigToConfigGenerateStruct() *ClusterGenerate

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) Default added in v0.11.0

func (r *Cluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*Cluster) Equal added in v0.6.0

func (n *Cluster) Equal(o *Cluster) bool

func (*Cluster) EtcdAnnotation

func (c *Cluster) EtcdAnnotation() string

func (*Cluster) ExpectedKind

func (c *Cluster) ExpectedKind() string

func (*Cluster) GetConditions added in v0.8.0

func (c *Cluster) GetConditions() clusterv1.Conditions

func (*Cluster) HasAWSIamConfig added in v0.13.0

func (c *Cluster) HasAWSIamConfig() bool

HasAWSIamConfig checks if AWSIamConfig is configured for the cluster.

func (*Cluster) IsManaged added in v0.6.0

func (c *Cluster) IsManaged() bool

func (*Cluster) IsReconcilePaused

func (c *Cluster) IsReconcilePaused() bool

func (*Cluster) IsSelfManaged added in v0.6.0

func (c *Cluster) IsSelfManaged() bool

func (*Cluster) Kind

func (c *Cluster) Kind() string

func (*Cluster) MachineConfigRefs added in v0.6.0

func (c *Cluster) MachineConfigRefs() []Ref

func (*Cluster) ManagedBy added in v0.6.0

func (c *Cluster) ManagedBy() string

func (*Cluster) ManagementClusterEqual added in v0.6.0

func (c *Cluster) ManagementClusterEqual(s2 *Cluster) bool

func (*Cluster) PauseReconcile

func (c *Cluster) PauseReconcile()

func (*Cluster) PausedAnnotation

func (c *Cluster) PausedAnnotation() string

func (*Cluster) ProxyConfiguration added in v0.9.0

func (c *Cluster) ProxyConfiguration() map[string]string

func (*Cluster) RegistryAuth added in v0.12.0

func (c *Cluster) RegistryAuth() bool

RegistryAuth returns whether registry requires authentication or not.

func (*Cluster) ResourceType

func (c *Cluster) ResourceType() string

func (*Cluster) SetConditions added in v0.8.0

func (c *Cluster) SetConditions(conditions clusterv1.Conditions)

func (*Cluster) SetDefaults added in v0.8.0

func (n *Cluster) SetDefaults()

func (*Cluster) SetManagedBy added in v0.6.0

func (c *Cluster) SetManagedBy(managementClusterName string)

func (*Cluster) SetSelfManaged added in v0.6.0

func (c *Cluster) SetSelfManaged()

func (*Cluster) SetupWebhookWithManager

func (r *Cluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Cluster) Validate added in v0.8.0

func (n *Cluster) Validate() error

func (*Cluster) ValidateCreate

func (r *Cluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*Cluster) ValidateDelete

func (r *Cluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*Cluster) ValidateUpdate

func (r *Cluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type ClusterGenerate

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

	Spec ClusterSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as Cluster except stripped down for generation of yaml file during generate clusterconfig.

func NewClusterGenerate

func NewClusterGenerate(clusterName string, opts ...ClusterGenerateOpt) *ClusterGenerate

Used for generating yaml for generate clusterconfig command.

func (*ClusterGenerate) SetSelfManaged added in v0.6.1

func (c *ClusterGenerate) SetSelfManaged()

type ClusterGenerateOpt

type ClusterGenerateOpt func(config *ClusterGenerate)

+kubebuilder:object:generate=false

func ControlPlaneConfigCount

func ControlPlaneConfigCount(count int) ClusterGenerateOpt

func ExternalETCDConfigCount

func ExternalETCDConfigCount(count int) ClusterGenerateOpt

func WithCPMachineGroupRef

func WithCPMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithCPUpgradeRolloutStrategy added in v0.13.0

func WithCPUpgradeRolloutStrategy(maxSurge int, maxUnavailable int) ClusterGenerateOpt

WithCPUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under ControlPlaneConfiguration.

func WithClusterEndpoint

func WithClusterEndpoint() ClusterGenerateOpt

func WithDatacenterRef

func WithDatacenterRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithEtcdMachineGroupRef

func WithEtcdMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithSharedMachineGroupRef

func WithSharedMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithWorkerMachineGroupRef

func WithWorkerMachineGroupRef(ref ProviderRefAccessor) ClusterGenerateOpt

func WithWorkerMachineUpgradeRolloutStrategy added in v0.13.0

func WithWorkerMachineUpgradeRolloutStrategy(maxSurge int, maxUnavailable int) ClusterGenerateOpt

WithWorkerMachineUpgradeRolloutStrategy allows add UpgradeRolloutStrategy option to cluster config under WorkerNodeGroupConfiguration.

func WorkerNodeConfigCount

func WorkerNodeConfigCount(count int) ClusterGenerateOpt

func WorkerNodeConfigName added in v0.7.0

func WorkerNodeConfigName(name string) ClusterGenerateOpt

type ClusterList

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

+kubebuilder:object:root=true ClusterList contains a list of Cluster.

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterNetwork

type ClusterNetwork struct {
	// Comma-separated list of CIDR blocks to use for pod and service subnets.
	// Defaults to 192.168.0.0/16 for pod subnet.
	Pods     Pods     `json:"pods,omitempty"`
	Services Services `json:"services,omitempty"`
	// Deprecated. Use CNIConfig
	CNI CNI `json:"cni,omitempty"`
	// CNIConfig specifies the CNI plugin to be installed in the cluster
	CNIConfig *CNIConfig `json:"cniConfig,omitempty"`
	DNS       DNS        `json:"dns,omitempty"`
	Nodes     *Nodes     `json:"nodes,omitempty"`
}

func (*ClusterNetwork) DeepCopy

func (in *ClusterNetwork) DeepCopy() *ClusterNetwork

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

func (*ClusterNetwork) DeepCopyInto

func (in *ClusterNetwork) DeepCopyInto(out *ClusterNetwork)

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

func (*ClusterNetwork) Equal

func (n *ClusterNetwork) Equal(o *ClusterNetwork) bool

type ClusterSpec

type ClusterSpec struct {
	KubernetesVersion             KubernetesVersion              `json:"kubernetesVersion,omitempty"`
	ControlPlaneConfiguration     ControlPlaneConfiguration      `json:"controlPlaneConfiguration,omitempty"`
	WorkerNodeGroupConfigurations []WorkerNodeGroupConfiguration `json:"workerNodeGroupConfigurations,omitempty"`
	DatacenterRef                 Ref                            `json:"datacenterRef,omitempty"`
	IdentityProviderRefs          []Ref                          `json:"identityProviderRefs,omitempty"`
	GitOpsRef                     *Ref                           `json:"gitOpsRef,omitempty"`
	ClusterNetwork                ClusterNetwork                 `json:"clusterNetwork,omitempty"`
	// +kubebuilder:validation:Optional
	ExternalEtcdConfiguration   *ExternalEtcdConfiguration   `json:"externalEtcdConfiguration,omitempty"`
	ProxyConfiguration          *ProxyConfiguration          `json:"proxyConfiguration,omitempty"`
	RegistryMirrorConfiguration *RegistryMirrorConfiguration `json:"registryMirrorConfiguration,omitempty"`
	ManagementCluster           ManagementCluster            `json:"managementCluster,omitempty"`
	PodIAMConfig                *PodIAMConfig                `json:"podIamConfig,omitempty"`
	// BundlesRef contains a reference to the Bundles containing the desired dependencies for the cluster
	BundlesRef *BundlesRef `json:"bundlesRef,omitempty"`
}

ClusterSpec defines the desired state of Cluster.

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	// Descriptive message about a fatal problem while reconciling a cluster
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
	// EksdReleaseRef defines the properties of the EKS-D object on the cluster
	EksdReleaseRef *EksdReleaseRef `json:"eksdReleaseRef,omitempty"`
	// +optional
	Conditions []clusterv1.Condition `json:"conditions,omitempty"`
}

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ControlPlaneConfiguration

type ControlPlaneConfiguration struct {
	// Count defines the number of desired control plane nodes. Defaults to 1.
	Count int `json:"count,omitempty"`
	// Endpoint defines the host ip and port to use for the control plane.
	Endpoint *Endpoint `json:"endpoint,omitempty"`
	// MachineGroupRef defines the machine group configuration for the control plane.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
	// Taints define the set of taints to be applied on control plane nodes
	Taints []corev1.Taint `json:"taints,omitempty"`
	// Labels define the labels to assign to the node
	Labels map[string]string `json:"labels,omitempty"`
	// UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades
	// and related parameters/knobs
	UpgradeRolloutStrategy *ControlPlaneUpgradeRolloutStrategy `json:"upgradeRolloutStrategy,omitempty"`
}

func (*ControlPlaneConfiguration) DeepCopy

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

func (*ControlPlaneConfiguration) DeepCopyInto

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

func (*ControlPlaneConfiguration) Equal added in v0.6.0

type ControlPlaneRollingUpdateParams added in v0.13.0

type ControlPlaneRollingUpdateParams struct {
	MaxSurge int `json:"maxSurge"`
}

ControlPlaneRollingUpdateParams is API for rolling update strategy knobs.

func (*ControlPlaneRollingUpdateParams) DeepCopy added in v0.13.0

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

func (*ControlPlaneRollingUpdateParams) DeepCopyInto added in v0.13.0

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

type ControlPlaneUpgradeRolloutStrategy added in v0.13.0

type ControlPlaneUpgradeRolloutStrategy struct {
	Type          string                          `json:"type,omitempty"`
	RollingUpdate ControlPlaneRollingUpdateParams `json:"rollingUpdate,omitempty"`
}

ControlPlaneUpgradeRolloutStrategy indicates rollout strategy for cluster.

func (*ControlPlaneUpgradeRolloutStrategy) DeepCopy added in v0.13.0

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

func (*ControlPlaneUpgradeRolloutStrategy) DeepCopyInto added in v0.13.0

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

type DNS added in v0.7.0

type DNS struct {
	// ResolvConf refers to the DNS resolver configuration
	ResolvConf *ResolvConf `json:"resolvConf,omitempty"`
}

func (*DNS) DeepCopy added in v0.7.0

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto added in v0.7.0

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) Equal added in v0.8.0

func (n *DNS) Equal(o *DNS) bool

type DockerDatacenterConfig

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

	Spec   DockerDatacenterConfigSpec   `json:"spec,omitempty"`
	Status DockerDatacenterConfigStatus `json:"status,omitempty"`
}

DockerDatacenterConfig is the Schema for the DockerDatacenterConfigs API.

func GetDockerDatacenterConfig

func GetDockerDatacenterConfig(fileName string) (*DockerDatacenterConfig, error)

func (*DockerDatacenterConfig) ClearPauseAnnotation

func (d *DockerDatacenterConfig) ClearPauseAnnotation()

func (*DockerDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (d *DockerDatacenterConfig) ConvertConfigToConfigGenerateStruct() *DockerDatacenterConfigGenerate

func (*DockerDatacenterConfig) DeepCopy

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

func (*DockerDatacenterConfig) DeepCopyInto

func (in *DockerDatacenterConfig) DeepCopyInto(out *DockerDatacenterConfig)

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

func (*DockerDatacenterConfig) DeepCopyObject

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

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

func (*DockerDatacenterConfig) ExpectedKind

func (d *DockerDatacenterConfig) ExpectedKind() string

func (*DockerDatacenterConfig) Kind

func (d *DockerDatacenterConfig) Kind() string

func (*DockerDatacenterConfig) Marshallable added in v0.6.0

func (d *DockerDatacenterConfig) Marshallable() Marshallable

func (*DockerDatacenterConfig) PauseReconcile

func (d *DockerDatacenterConfig) PauseReconcile()

func (*DockerDatacenterConfig) Validate added in v0.8.0

func (d *DockerDatacenterConfig) Validate() error

type DockerDatacenterConfigGenerate

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

	Spec DockerDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as DockerDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewDockerDatacenterConfigGenerate

func NewDockerDatacenterConfigGenerate(clusterName string) *DockerDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*DockerDatacenterConfigGenerate) APIVersion

func (c *DockerDatacenterConfigGenerate) APIVersion() string

func (*DockerDatacenterConfigGenerate) Kind

func (*DockerDatacenterConfigGenerate) Name

type DockerDatacenterConfigList

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

DockerDatacenterConfigList contains a list of DockerDatacenterConfig.

func (*DockerDatacenterConfigList) DeepCopy

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

func (*DockerDatacenterConfigList) DeepCopyInto

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

func (*DockerDatacenterConfigList) DeepCopyObject

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

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

type DockerDatacenterConfigSpec

type DockerDatacenterConfigSpec struct {
}

DockerDatacenterConfigSpec defines the desired state of DockerDatacenterConfig.

func (*DockerDatacenterConfigSpec) DeepCopy

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

func (*DockerDatacenterConfigSpec) DeepCopyInto

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

type DockerDatacenterConfigStatus

type DockerDatacenterConfigStatus struct {
}

DockerDatacenterConfigStatus defines the observed state of DockerDatacenterConfig.

func (*DockerDatacenterConfigStatus) DeepCopy

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

func (*DockerDatacenterConfigStatus) DeepCopyInto

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

type EksdReleaseRef added in v0.8.0

type EksdReleaseRef struct {
	// ApiVersion refers to the EKS-D API version
	ApiVersion string `json:"apiVersion"`
	// Kind refers to the Release kind for the EKS-D object
	Kind string `json:"kind"`
	// Name refers to the name of the EKS-D object on the cluster
	Name string `json:"name"`
	// Namespace refers to the namespace for the EKS-D release resources
	Namespace string `json:"namespace"`
}

func (*EksdReleaseRef) DeepCopy added in v0.8.0

func (in *EksdReleaseRef) DeepCopy() *EksdReleaseRef

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

func (*EksdReleaseRef) DeepCopyInto added in v0.8.0

func (in *EksdReleaseRef) DeepCopyInto(out *EksdReleaseRef)

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

type Endpoint

type Endpoint struct {
	// Host defines the ip that you want to use to connect to the control plane
	Host string `json:"host"`
}

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

func (*Endpoint) Equal

func (n *Endpoint) Equal(o *Endpoint) bool

type ExternalEtcdConfiguration

type ExternalEtcdConfiguration struct {
	Count int `json:"count,omitempty"`
	// MachineGroupRef defines the machine group configuration for the etcd machines.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
}

ExternalEtcdConfiguration defines the configuration options for using unstacked etcd topology.

func (*ExternalEtcdConfiguration) DeepCopy

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

func (*ExternalEtcdConfiguration) DeepCopyInto

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

func (*ExternalEtcdConfiguration) Equal added in v0.6.0

type Flux

type Flux struct {
	// github is the name of the Git Provider to host the Git repo.
	Github Github `json:"github,omitempty"`
}

Flux defines the Git repository options for Flux v2.

func (*Flux) DeepCopy

func (in *Flux) DeepCopy() *Flux

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

func (*Flux) DeepCopyInto

func (in *Flux) DeepCopyInto(out *Flux)

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

type FluxConfig added in v0.8.0

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

	Spec   FluxConfigSpec   `json:"spec,omitempty"`
	Status FluxConfigStatus `json:"status,omitempty"`
}

FluxConfig is the Schema for the fluxconfigs API and defines the configurations of the Flux GitOps Toolkit and Git repository it links to.

func (*FluxConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *FluxConfig) ConvertConfigToConfigGenerateStruct() *FluxConfigGenerate

func (*FluxConfig) DeepCopy added in v0.8.0

func (in *FluxConfig) DeepCopy() *FluxConfig

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

func (*FluxConfig) DeepCopyInto added in v0.8.0

func (in *FluxConfig) DeepCopyInto(out *FluxConfig)

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

func (*FluxConfig) DeepCopyObject added in v0.8.0

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

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

func (*FluxConfig) ExpectedKind added in v0.8.0

func (c *FluxConfig) ExpectedKind() string

func (*FluxConfig) Kind added in v0.8.0

func (c *FluxConfig) Kind() string

func (*FluxConfig) SetDefaults added in v0.8.0

func (c *FluxConfig) SetDefaults()

func (*FluxConfig) SetupWebhookWithManager added in v0.8.0

func (r *FluxConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*FluxConfig) Validate added in v0.8.0

func (c *FluxConfig) Validate() error

func (*FluxConfig) ValidateCreate added in v0.8.0

func (r *FluxConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*FluxConfig) ValidateDelete added in v0.8.0

func (r *FluxConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*FluxConfig) ValidateUpdate added in v0.8.0

func (r *FluxConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type FluxConfigGenerate added in v0.8.0

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

	Spec FluxConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as FluxConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type FluxConfigList added in v0.8.0

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

FluxConfigList contains a list of FluxConfig.

func (*FluxConfigList) DeepCopy added in v0.8.0

func (in *FluxConfigList) DeepCopy() *FluxConfigList

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

func (*FluxConfigList) DeepCopyInto added in v0.8.0

func (in *FluxConfigList) DeepCopyInto(out *FluxConfigList)

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

func (*FluxConfigList) DeepCopyObject added in v0.8.0

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

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

type FluxConfigSpec added in v0.8.0

type FluxConfigSpec struct {
	// SystemNamespace scope for this operation. Defaults to flux-system
	SystemNamespace string `json:"systemNamespace,omitempty"`

	// ClusterConfigPath relative to the repository root, when specified the cluster sync will be scoped to this path.
	ClusterConfigPath string `json:"clusterConfigPath,omitempty"`

	// Git branch. Defaults to main.
	// +kubebuilder:default:="main"
	Branch string `json:"branch,omitempty"`

	// Used to specify Github provider to host the Git repo and host the git files
	Github *GithubProviderConfig `json:"github,omitempty"`

	// Used to specify Git provider that will be used to host the git files
	Git *GitProviderConfig `json:"git,omitempty"`
}

FluxConfigSpec defines the desired state of FluxConfig.

func (*FluxConfigSpec) DeepCopy added in v0.8.0

func (in *FluxConfigSpec) DeepCopy() *FluxConfigSpec

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

func (*FluxConfigSpec) DeepCopyInto added in v0.8.0

func (in *FluxConfigSpec) DeepCopyInto(out *FluxConfigSpec)

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

func (*FluxConfigSpec) Equal added in v0.8.0

func (e *FluxConfigSpec) Equal(n *FluxConfigSpec) bool

type FluxConfigStatus added in v0.8.0

type FluxConfigStatus struct{}

FluxConfigStatus defines the observed state of FluxConfig.

func (*FluxConfigStatus) DeepCopy added in v0.8.0

func (in *FluxConfigStatus) DeepCopy() *FluxConfigStatus

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

func (*FluxConfigStatus) DeepCopyInto added in v0.8.0

func (in *FluxConfigStatus) DeepCopyInto(out *FluxConfigStatus)

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

type GitOpsConfig

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

	Spec   GitOpsConfigSpec   `json:"spec,omitempty"`
	Status GitOpsConfigStatus `json:"status,omitempty"`
}

func (*GitOpsConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *GitOpsConfig) ConvertConfigToConfigGenerateStruct() *GitOpsConfigGenerate

func (*GitOpsConfig) ConvertToFluxConfig added in v0.9.0

func (c *GitOpsConfig) ConvertToFluxConfig() *FluxConfig

func (*GitOpsConfig) DeepCopy

func (in *GitOpsConfig) DeepCopy() *GitOpsConfig

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

func (*GitOpsConfig) DeepCopyInto

func (in *GitOpsConfig) DeepCopyInto(out *GitOpsConfig)

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

func (*GitOpsConfig) DeepCopyObject

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

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

func (*GitOpsConfig) ExpectedKind

func (c *GitOpsConfig) ExpectedKind() string

func (*GitOpsConfig) Kind

func (c *GitOpsConfig) Kind() string

func (*GitOpsConfig) SetDefaults added in v0.8.0

func (c *GitOpsConfig) SetDefaults()

func (*GitOpsConfig) SetupWebhookWithManager

func (r *GitOpsConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*GitOpsConfig) Validate added in v0.8.0

func (c *GitOpsConfig) Validate() error

func (*GitOpsConfig) ValidateCreate

func (r *GitOpsConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*GitOpsConfig) ValidateDelete

func (r *GitOpsConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*GitOpsConfig) ValidateUpdate

func (r *GitOpsConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type GitOpsConfigGenerate added in v0.6.0

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

	Spec GitOpsConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as GitOpsConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type GitOpsConfigList

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

GitOpsConfigList contains a list of GitOpsConfig.

func (*GitOpsConfigList) DeepCopy

func (in *GitOpsConfigList) DeepCopy() *GitOpsConfigList

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

func (*GitOpsConfigList) DeepCopyInto

func (in *GitOpsConfigList) DeepCopyInto(out *GitOpsConfigList)

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

func (*GitOpsConfigList) DeepCopyObject

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

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

type GitOpsConfigSpec

type GitOpsConfigSpec struct {
	Flux Flux `json:"flux,omitempty"`
}

GitOps defines the configurations of GitOps Toolkit and Git repository it links to.

func (*GitOpsConfigSpec) DeepCopy

func (in *GitOpsConfigSpec) DeepCopy() *GitOpsConfigSpec

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

func (*GitOpsConfigSpec) DeepCopyInto

func (in *GitOpsConfigSpec) DeepCopyInto(out *GitOpsConfigSpec)

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

func (*GitOpsConfigSpec) Equal

func (e *GitOpsConfigSpec) Equal(n *GitOpsConfigSpec) bool

type GitOpsConfigStatus

type GitOpsConfigStatus struct{}

GitOpsConfigStatus defines the observed state of GitOpsConfig.

func (*GitOpsConfigStatus) DeepCopy

func (in *GitOpsConfigStatus) DeepCopy() *GitOpsConfigStatus

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

func (*GitOpsConfigStatus) DeepCopyInto

func (in *GitOpsConfigStatus) DeepCopyInto(out *GitOpsConfigStatus)

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

type GitProviderConfig added in v0.8.0

type GitProviderConfig struct {
	// Repository URL for the repository to be used with flux. Can be either an SSH or HTTPS url.
	RepositoryUrl string `json:"repositoryUrl"`

	// SSH public key algorithm for the private key specified (rsa, ecdsa, ed25519) (default ecdsa)
	SshKeyAlgorithm string `json:"sshKeyAlgorithm,omitempty"`
}

func (*GitProviderConfig) DeepCopy added in v0.8.0

func (in *GitProviderConfig) DeepCopy() *GitProviderConfig

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

func (*GitProviderConfig) DeepCopyInto added in v0.8.0

func (in *GitProviderConfig) DeepCopyInto(out *GitProviderConfig)

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

func (*GitProviderConfig) Equal added in v0.8.0

type Github

type Github struct {
	// Owner is the user or organization name of the Git provider.
	Owner string `json:"owner"`

	// Repository name.
	Repository string `json:"repository"`

	// FluxSystemNamespace scope for this operation. Defaults to flux-system.
	FluxSystemNamespace string `json:"fluxSystemNamespace,omitempty"`

	// Git branch. Defaults to main.
	// +kubebuilder:default:="main"
	Branch string `json:"branch,omitempty"`

	// ClusterConfigPath relative to the repository root, when specified the cluster sync will be scoped to this path.
	ClusterConfigPath string `json:"clusterConfigPath,omitempty"`

	// if true, the owner is assumed to be a Git user; otherwise an org.
	Personal bool `json:"personal,omitempty"`
}

func (*Github) DeepCopy

func (in *Github) DeepCopy() *Github

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

func (*Github) DeepCopyInto

func (in *Github) DeepCopyInto(out *Github)

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

type GithubProviderConfig added in v0.8.0

type GithubProviderConfig struct {
	// Owner is the user or organization name of the Git provider.
	Owner string `json:"owner"`

	// Repository name.
	Repository string `json:"repository"`

	// if true, the owner is assumed to be a Git user; otherwise an org.
	Personal bool `json:"personal,omitempty"`
}

func (*GithubProviderConfig) DeepCopy added in v0.8.0

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

func (*GithubProviderConfig) DeepCopyInto added in v0.8.0

func (in *GithubProviderConfig) DeepCopyInto(out *GithubProviderConfig)

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

func (*GithubProviderConfig) Equal added in v0.8.0

type HardwareSelector added in v0.9.2

type HardwareSelector map[string]string

HardwareSelector models a simple key-value selector used in Tinkerbell provisioning.

func (HardwareSelector) DeepCopy added in v0.9.2

func (in HardwareSelector) DeepCopy() HardwareSelector

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

func (HardwareSelector) DeepCopyInto added in v0.9.2

func (in HardwareSelector) DeepCopyInto(out *HardwareSelector)

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

func (HardwareSelector) IsEmpty added in v0.9.2

func (s HardwareSelector) IsEmpty() bool

IsEmpty returns true if s has no key-value pairs.

func (HardwareSelector) ToString added in v0.9.2

func (s HardwareSelector) ToString() (string, error)

type IPPool added in v0.14.0

type IPPool struct {
	// IPStart is the start address of an ip range.
	IPStart string `json:"ipStart"`

	// IPEnd is the end address of an ip range.
	IPEnd string `json:"ipEnd"`

	// Subnet is used to determine whether an ip is within subnet.
	Subnet string `json:"subnet"`

	// Gateway is the gateway of the subnet for routing purpose.
	Gateway string `json:"gateway"`
}

IPPool defines an ip pool with ip range, subnet and gateway.

func (*IPPool) DeepCopy added in v0.14.0

func (in *IPPool) DeepCopy() *IPPool

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

func (*IPPool) DeepCopyInto added in v0.14.0

func (in *IPPool) DeepCopyInto(out *IPPool)

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

type KindAccessor

type KindAccessor interface {
	Kind() string
	ExpectedKind() string
}

+kubebuilder:object:generate=false Interface for getting Kind field for Cluster type.

type KindnetdConfig added in v0.8.0

type KindnetdConfig struct{}

func (*KindnetdConfig) DeepCopy added in v0.8.0

func (in *KindnetdConfig) DeepCopy() *KindnetdConfig

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

func (*KindnetdConfig) DeepCopyInto added in v0.8.0

func (in *KindnetdConfig) DeepCopyInto(out *KindnetdConfig)

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

func (*KindnetdConfig) Equal added in v0.8.0

func (n *KindnetdConfig) Equal(o *KindnetdConfig) bool

type KubernetesVersion

type KubernetesVersion string
const (
	Kube118 KubernetesVersion = "1.18"
	Kube119 KubernetesVersion = "1.19"
	Kube120 KubernetesVersion = "1.20"
	Kube121 KubernetesVersion = "1.21"
	Kube122 KubernetesVersion = "1.22"
	Kube123 KubernetesVersion = "1.23"
	Kube124 KubernetesVersion = "1.24"
	Kube125 KubernetesVersion = "1.25"
	Kube126 KubernetesVersion = "1.26"
)

func GetClusterDefaultKubernetesVersion added in v0.8.0

func GetClusterDefaultKubernetesVersion() KubernetesVersion

GetClusterDefaultKubernetesVersion returns the default kubernetes version for a Cluster.

type ManagementCluster added in v0.6.0

type ManagementCluster struct {
	Name string `json:"name,omitempty"`
}

func (*ManagementCluster) DeepCopy added in v0.6.0

func (in *ManagementCluster) DeepCopy() *ManagementCluster

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

func (*ManagementCluster) DeepCopyInto added in v0.6.0

func (in *ManagementCluster) DeepCopyInto(out *ManagementCluster)

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

func (*ManagementCluster) Equal added in v0.6.0

type MapRoles added in v0.6.0

type MapRoles struct {
	RoleARN  string   `yaml:"rolearn" json:"roleARN"`
	Username string   `json:"username"`
	Groups   []string `json:"groups,omitempty"`
}

MapRoles defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.

func (*MapRoles) DeepCopy added in v0.6.0

func (in *MapRoles) DeepCopy() *MapRoles

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

func (*MapRoles) DeepCopyInto added in v0.6.0

func (in *MapRoles) DeepCopyInto(out *MapRoles)

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

type MapUsers added in v0.6.0

type MapUsers struct {
	UserARN  string   `yaml:"userarn" json:"userARN"`
	Username string   `json:"username"`
	Groups   []string `json:"groups,omitempty"`
}

MapUsers defines IAM role to a username and set of groups mapping using EKSConfigMap BackendMode.

func (*MapUsers) DeepCopy added in v0.6.0

func (in *MapUsers) DeepCopy() *MapUsers

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

func (*MapUsers) DeepCopyInto added in v0.6.0

func (in *MapUsers) DeepCopyInto(out *MapUsers)

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

type Marshallable added in v0.6.0

type Marshallable interface{}

Marshallable represents all "generate" CRDs structs +kubebuilder:object:generate=false

type Nodes added in v0.9.2

type Nodes struct {
	// CIDRMaskSize defines the mask size for node cidr in the cluster, default for ipv4 is 24. This is an optional field
	CIDRMaskSize *int `json:"cidrMaskSize,omitempty"`
}

func (*Nodes) DeepCopy added in v0.9.2

func (in *Nodes) DeepCopy() *Nodes

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

func (*Nodes) DeepCopyInto added in v0.9.2

func (in *Nodes) DeepCopyInto(out *Nodes)

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

func (*Nodes) Equal added in v0.13.0

func (n *Nodes) Equal(o *Nodes) bool

Equal compares two Nodes definitions and return true if the are equivalent.

type NutanixDatacenterConfig added in v0.12.0

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

	Spec   NutanixDatacenterConfigSpec   `json:"spec,omitempty"`
	Status NutanixDatacenterConfigStatus `json:"status,omitempty"`
}

NutanixDatacenterConfig is the Schema for the NutanixDatacenterConfigs API

+kubebuilder:object:root=true +kubebuilder:subresource:status

func GetNutanixDatacenterConfig added in v0.12.0

func GetNutanixDatacenterConfig(fileName string) (*NutanixDatacenterConfig, error)

GetNutanixDatacenterConfig parses config in a yaml file and returns a NutanixDatacenterConfig object.

func (*NutanixDatacenterConfig) ClearPauseAnnotation added in v0.12.0

func (in *NutanixDatacenterConfig) ClearPauseAnnotation()

func (*NutanixDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.12.0

func (in *NutanixDatacenterConfig) ConvertConfigToConfigGenerateStruct() *NutanixDatacenterConfigGenerate

func (*NutanixDatacenterConfig) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfig) DeepCopyInto added in v0.12.0

func (in *NutanixDatacenterConfig) DeepCopyInto(out *NutanixDatacenterConfig)

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

func (*NutanixDatacenterConfig) DeepCopyObject added in v0.12.0

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

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

func (*NutanixDatacenterConfig) ExpectedKind added in v0.12.0

func (in *NutanixDatacenterConfig) ExpectedKind() string

func (*NutanixDatacenterConfig) IsReconcilePaused added in v0.12.0

func (in *NutanixDatacenterConfig) IsReconcilePaused() bool

func (*NutanixDatacenterConfig) Kind added in v0.12.0

func (in *NutanixDatacenterConfig) Kind() string

func (*NutanixDatacenterConfig) Marshallable added in v0.12.0

func (in *NutanixDatacenterConfig) Marshallable() Marshallable

func (*NutanixDatacenterConfig) PauseReconcile added in v0.12.0

func (in *NutanixDatacenterConfig) PauseReconcile()

func (*NutanixDatacenterConfig) Validate added in v0.12.0

func (in *NutanixDatacenterConfig) Validate() error

type NutanixDatacenterConfigGenerate added in v0.12.0

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

	Spec NutanixDatacenterConfigSpec `json:"spec,omitempty"`
}

NutanixDatacenterConfigGenerate is same as NutanixDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig

+kubebuilder:object:generate=false

func NewNutanixDatacenterConfigGenerate added in v0.12.0

func NewNutanixDatacenterConfigGenerate(clusterName string) *NutanixDatacenterConfigGenerate

NewNutanixDatacenterConfigGenerate is used for generating yaml for generate clusterconfig command.

func (*NutanixDatacenterConfigGenerate) APIVersion added in v0.12.0

func (c *NutanixDatacenterConfigGenerate) APIVersion() string

func (*NutanixDatacenterConfigGenerate) Kind added in v0.12.0

func (*NutanixDatacenterConfigGenerate) Name added in v0.12.0

type NutanixDatacenterConfigList added in v0.12.0

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

NutanixDatacenterConfigList contains a list of NutanixDatacenterConfig

+kubebuilder:object:root=true

func (*NutanixDatacenterConfigList) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigList) DeepCopyInto added in v0.12.0

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

func (*NutanixDatacenterConfigList) DeepCopyObject added in v0.12.0

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

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

type NutanixDatacenterConfigSpec added in v0.12.0

type NutanixDatacenterConfigSpec struct {
	// Endpoint is the Endpoint of Nutanix Prism Central
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`

	// Port is the Port of Nutanix Prism Central
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=9440
	Port int `json:"port"`

	// AdditionalTrustBundle is the optional PEM-encoded certificate bundle for
	// users that configured their Prism Central with certificates from non-publicly
	// trusted CAs
	AdditionalTrustBundle string `json:"additionalTrustBundle,omitempty"`

	// Insecure is the optional flag to skip TLS verification. Nutanix Prism
	// Central installation by default ships with a self-signed certificate
	// that will fail TLS verification because the certificate is not issued by
	// a public CA and does not have the IP SANs with the Prism Central endpoint.
	// To accommodate the scenario where the user has not changed the default
	// Certificate that ships with Prism Central, we allow the user to skip TLS
	// verification. This is not recommended for production use.
	Insecure bool `json:"insecure,omitempty"`
}

NutanixDatacenterConfigSpec defines the desired state of NutanixDatacenterConfig.

func (*NutanixDatacenterConfigSpec) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigSpec) DeepCopyInto added in v0.12.0

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

type NutanixDatacenterConfigStatus added in v0.12.0

type NutanixDatacenterConfigStatus struct{}

NutanixDatacenterConfigStatus defines the observed state of NutanixDatacenterConfig.

func (*NutanixDatacenterConfigStatus) DeepCopy added in v0.12.0

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

func (*NutanixDatacenterConfigStatus) DeepCopyInto added in v0.12.0

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

type NutanixIdentifierType added in v0.12.0

type NutanixIdentifierType string

NutanixIdentifierType is an enumeration of different resource identifier types.

func (NutanixIdentifierType) String added in v0.13.0

func (c NutanixIdentifierType) String() string

type NutanixMachineConfig added in v0.12.0

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

	Spec   NutanixMachineConfigSpec   `json:"spec,omitempty"`
	Status NutanixMachineConfigStatus `json:"status,omitempty"`
}

NutanixMachineConfig is the Schema for the nutanix machine configs API

+kubebuilder:object:root=true +kubebuilder:subresource:status

func (*NutanixMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.12.0

func (in *NutanixMachineConfig) ConvertConfigToConfigGenerateStruct() *NutanixMachineConfigGenerate

func (*NutanixMachineConfig) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfig) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfig) DeepCopyInto(out *NutanixMachineConfig)

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

func (*NutanixMachineConfig) DeepCopyObject added in v0.12.0

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

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

func (*NutanixMachineConfig) GetName added in v0.12.0

func (in *NutanixMachineConfig) GetName() string

func (*NutanixMachineConfig) GetNamespace added in v0.12.0

func (in *NutanixMachineConfig) GetNamespace() string

func (*NutanixMachineConfig) IsControlPlane added in v0.12.0

func (in *NutanixMachineConfig) IsControlPlane() bool

func (*NutanixMachineConfig) IsEtcd added in v0.12.0

func (in *NutanixMachineConfig) IsEtcd() bool

func (*NutanixMachineConfig) IsManaged added in v0.12.0

func (in *NutanixMachineConfig) IsManaged() bool

func (*NutanixMachineConfig) IsReconcilePaused added in v0.12.0

func (in *NutanixMachineConfig) IsReconcilePaused() bool

func (*NutanixMachineConfig) Marshallable added in v0.12.0

func (in *NutanixMachineConfig) Marshallable() Marshallable

func (*NutanixMachineConfig) OSFamily added in v0.12.0

func (in *NutanixMachineConfig) OSFamily() OSFamily

func (*NutanixMachineConfig) PauseReconcile added in v0.12.0

func (in *NutanixMachineConfig) PauseReconcile()

func (*NutanixMachineConfig) SetControlPlane added in v0.12.0

func (in *NutanixMachineConfig) SetControlPlane()

func (*NutanixMachineConfig) SetDefaults added in v0.13.0

func (c *NutanixMachineConfig) SetDefaults()

SetDefaults sets defaults to NutanixMachineConfig if user has not provided.

func (*NutanixMachineConfig) SetEtcd added in v0.12.0

func (in *NutanixMachineConfig) SetEtcd()

func (*NutanixMachineConfig) SetManagedBy added in v0.12.0

func (in *NutanixMachineConfig) SetManagedBy(clusterName string)

type NutanixMachineConfigGenerate added in v0.12.0

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

	Spec NutanixMachineConfigSpec `json:"spec,omitempty"`
}

NutanixMachineConfigGenerate is same as NutanixMachineConfig except stripped down for generation of yaml file during generate clusterconfig

+kubebuilder:object:generate=false

func NewNutanixMachineConfigGenerate added in v0.12.0

func NewNutanixMachineConfigGenerate(name string, opts ...NutanixMachineConfigGenerateOpt) *NutanixMachineConfigGenerate

NewNutanixMachineConfigGenerate returns a new instance of NutanixMachineConfigGenerate used for generating yaml for generate clusterconfig command.

func (*NutanixMachineConfigGenerate) APIVersion added in v0.12.0

func (c *NutanixMachineConfigGenerate) APIVersion() string

func (*NutanixMachineConfigGenerate) Kind added in v0.12.0

func (*NutanixMachineConfigGenerate) Name added in v0.12.0

type NutanixMachineConfigGenerateOpt added in v0.12.0

type NutanixMachineConfigGenerateOpt func(config *NutanixMachineConfigGenerate)

NutanixMachineConfigGenerateOpt is a functional option that can be passed to NewNutanixMachineConfigGenerate to customize the generated machine config

+kubebuilder:object:generate=false

type NutanixMachineConfigList added in v0.12.0

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

NutanixMachineConfigList contains a list of NutanixMachineConfig

+kubebuilder:object:root=true

func (*NutanixMachineConfigList) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigList) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfigList) DeepCopyInto(out *NutanixMachineConfigList)

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

func (*NutanixMachineConfigList) DeepCopyObject added in v0.12.0

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

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

type NutanixMachineConfigSpec added in v0.12.0

type NutanixMachineConfigSpec struct {
	OSFamily OSFamily            `json:"osFamily"`
	Users    []UserConfiguration `json:"users,omitempty"`
	// vcpusPerSocket is the number of vCPUs per socket of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUsPerSocket int32 `json:"vcpusPerSocket"`
	// vcpuSockets is the number of vCPU sockets of the VM
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	VCPUSockets int32 `json:"vcpuSockets"`
	// memorySize is the memory size (in Quantity format) of the VM
	// The minimum memorySize is 2Gi bytes
	// +kubebuilder:validation:Required
	MemorySize resource.Quantity `json:"memorySize"`
	// image is to identify the OS image uploaded to the Prism Central (PC)
	// The image identifier (uuid or name) can be obtained from the Prism Central console
	// or using the Prism Central API.
	// +kubebuilder:validation:Required
	Image NutanixResourceIdentifier `json:"image"`
	// cluster is to identify the cluster (the Prism Element under management
	// of the Prism Central), in which the Machine's VM will be created.
	// The cluster identifier (uuid or name) can be obtained from the Prism Central console
	// or using the prism_central API.
	// +kubebuilder:validation:Required
	Cluster NutanixResourceIdentifier `json:"cluster"`
	// subnet is to identify the cluster's network subnet to use for the Machine's VM
	// The cluster identifier (uuid or name) can be obtained from the Prism Central console
	// or using the Prism Central API.
	// +kubebuilder:validation:Required
	Subnet NutanixResourceIdentifier `json:"subnet"`

	// systemDiskSize is size (in Quantity format) of the system disk of the VM
	// The minimum systemDiskSize is 20Gi bytes
	// +kubebuilder:validation:Required
	SystemDiskSize resource.Quantity `json:"systemDiskSize"`
}

NutanixMachineConfigSpec defines the desired state of NutanixMachineConfig.

func (*NutanixMachineConfigSpec) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigSpec) DeepCopyInto added in v0.12.0

func (in *NutanixMachineConfigSpec) DeepCopyInto(out *NutanixMachineConfigSpec)

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

type NutanixMachineConfigStatus added in v0.12.0

type NutanixMachineConfigStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the Nutanix VM associated addresses.
	// Address type is one of Hostname, ExternalIP, InternalIP, ExternalDNS, InternalDNS
	Addresses []capiv1.MachineAddress `json:"addresses,omitempty"`

	// The Nutanix VM's UUID
	// +optional
	VmUUID *string `json:"vmUUID,omitempty"`

	// NodeRef is a reference to the corresponding workload cluster Node if it exists.
	// +optional
	NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"`

	// Conditions defines current service state of the NutanixMachine.
	// +optional
	Conditions capiv1.Conditions `json:"conditions,omitempty"`
}

NutanixMachineConfigStatus defines the observed state of NutanixMachineConfig.

func (*NutanixMachineConfigStatus) DeepCopy added in v0.12.0

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

func (*NutanixMachineConfigStatus) DeepCopyInto added in v0.12.0

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

type NutanixResourceIdentifier added in v0.12.0

type NutanixResourceIdentifier struct {
	// Type is the identifier type to use for this resource.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:=uuid;name
	Type NutanixIdentifierType `json:"type"`

	// uuid is the UUID of the resource in the PC.
	// +optional
	UUID *string `json:"uuid,omitempty"`

	// name is the resource name in the PC
	// +optional
	Name *string `json:"name,omitempty"`
}

NutanixResourceIdentifier holds the identity of a Nutanix Prism resource (cluster, image, subnet, etc.)

+union.

func (*NutanixResourceIdentifier) DeepCopy added in v0.12.0

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

func (*NutanixResourceIdentifier) DeepCopyInto added in v0.12.0

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

type OCINamespace added in v0.13.0

type OCINamespace struct {
	// Name refers to the name of the upstream registry
	Registry string `json:"registry"`
	// Namespace refers to the name of a namespace in the local registry
	Namespace string `json:"namespace"`
}

OCINamespace represents an entity in a local reigstry to group related images.

func (*OCINamespace) DeepCopy added in v0.13.0

func (in *OCINamespace) DeepCopy() *OCINamespace

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

func (*OCINamespace) DeepCopyInto added in v0.13.0

func (in *OCINamespace) DeepCopyInto(out *OCINamespace)

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

type OIDCConfig

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

	Spec   OIDCConfigSpec   `json:"spec,omitempty"`
	Status OIDCConfigStatus `json:"status,omitempty"`
}

OIDCConfig is the Schema for the oidcconfigs API.

func GetAndValidateOIDCConfig

func GetAndValidateOIDCConfig(fileName string, refName string, clusterConfig *Cluster) (*OIDCConfig, error)

func (*OIDCConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *OIDCConfig) ConvertConfigToConfigGenerateStruct() *OIDCConfigGenerate

func (*OIDCConfig) DeepCopy

func (in *OIDCConfig) DeepCopy() *OIDCConfig

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

func (*OIDCConfig) DeepCopyInto

func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)

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

func (*OIDCConfig) DeepCopyObject

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

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

func (*OIDCConfig) ExpectedKind

func (c *OIDCConfig) ExpectedKind() string

func (*OIDCConfig) IsManaged added in v0.8.0

func (c *OIDCConfig) IsManaged() bool

IsManaged returns true if the oidcconfig is associated with a workload cluster.

func (*OIDCConfig) Kind

func (c *OIDCConfig) Kind() string

func (*OIDCConfig) SetManagedBy added in v0.8.0

func (c *OIDCConfig) SetManagedBy(clusterName string)

func (*OIDCConfig) SetupWebhookWithManager

func (r *OIDCConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OIDCConfig) Validate added in v0.8.0

func (c *OIDCConfig) Validate() field.ErrorList

func (*OIDCConfig) ValidateCreate

func (r *OIDCConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OIDCConfig) ValidateDelete

func (r *OIDCConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OIDCConfig) ValidateUpdate

func (r *OIDCConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OIDCConfigGenerate added in v0.6.0

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

	Spec OIDCConfigSpec `json:"spec,omitempty"`
}

+kubebuilder:object:generate=false Same as OIDCConfig except stripped down for generation of yaml file while writing to github repo when flux is enabled.

type OIDCConfigList

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

OIDCConfigList contains a list of OIDCConfig.

func (*OIDCConfigList) DeepCopy

func (in *OIDCConfigList) DeepCopy() *OIDCConfigList

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

func (*OIDCConfigList) DeepCopyInto

func (in *OIDCConfigList) DeepCopyInto(out *OIDCConfigList)

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

func (*OIDCConfigList) DeepCopyObject

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

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

type OIDCConfigRequiredClaim

type OIDCConfigRequiredClaim struct {
	Claim string `json:"claim,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*OIDCConfigRequiredClaim) DeepCopy

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

func (*OIDCConfigRequiredClaim) DeepCopyInto

func (in *OIDCConfigRequiredClaim) DeepCopyInto(out *OIDCConfigRequiredClaim)

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

type OIDCConfigSpec

type OIDCConfigSpec struct {
	// ClientId defines the client ID for the OpenID Connect client
	ClientId string `json:"clientId,omitempty"`
	// +kubebuilder:validation:Optional
	// GroupsClaim defines the name of a custom OpenID Connect claim for specifying user groups
	GroupsClaim string `json:"groupsClaim,omitempty"`
	// +kubebuilder:validation:Optional
	// GroupsPrefix defines a string to be prefixed to all groups to prevent conflicts with other authentication strategies
	GroupsPrefix string `json:"groupsPrefix,omitempty"`
	// IssuerUrl defines the URL of the OpenID issuer, only HTTPS scheme will be accepted
	IssuerUrl string `json:"issuerUrl,omitempty"`
	// +kubebuilder:validation:Optional
	// RequiredClaims defines a key=value pair that describes a required claim in the ID Token
	RequiredClaims []OIDCConfigRequiredClaim `json:"requiredClaims,omitempty"`
	// +kubebuilder:validation:Optional
	// UsernameClaim defines the OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable
	UsernameClaim string `json:"usernameClaim,omitempty"`
	// +kubebuilder:validation:Optional
	// UsernamePrefix defines a string to prefixed to all usernames. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
	UsernamePrefix string `json:"usernamePrefix,omitempty"`
}

OIDCConfigSpec defines the desired state of OIDCConfig.

func (*OIDCConfigSpec) DeepCopy

func (in *OIDCConfigSpec) DeepCopy() *OIDCConfigSpec

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

func (*OIDCConfigSpec) DeepCopyInto

func (in *OIDCConfigSpec) DeepCopyInto(out *OIDCConfigSpec)

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

func (*OIDCConfigSpec) Equal

func (e *OIDCConfigSpec) Equal(n *OIDCConfigSpec) bool

type OIDCConfigStatus

type OIDCConfigStatus struct{}

OIDCConfigStatus defines the observed state of OIDCConfig.

func (*OIDCConfigStatus) DeepCopy

func (in *OIDCConfigStatus) DeepCopy() *OIDCConfigStatus

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

func (*OIDCConfigStatus) DeepCopyInto

func (in *OIDCConfigStatus) DeepCopyInto(out *OIDCConfigStatus)

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

type OSFamily

type OSFamily string
const (
	Ubuntu       OSFamily = "ubuntu"
	Bottlerocket OSFamily = "bottlerocket"
	RedHat       OSFamily = "redhat"
)

type ObjectMeta

type ObjectMeta struct {
	Name        string            `json:"name,omitempty"`
	Namespace   string            `json:"namespace,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

Need to override metav1.ObjectMeta as a hack due to the following issue of creationTimestamp being printed: https://github.com/kubernetes/kubernetes/issues/86811 Add more fields based on https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/types.go#L114-L288 and https://github.com/kubernetes-sigs/cluster-api/blob/bf790fc2a53614ff5d3405c83c0de0dd3303bb1f/api/v1alpha2/common_types.go#L67-L128 as needed.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type PhysicalNetworkConnectorType added in v0.8.0

type PhysicalNetworkConnectorType string
const (
	SFPPlus PhysicalNetworkConnectorType = "SFP_PLUS"
	QSFP    PhysicalNetworkConnectorType = "QSFP"
	RJ45    PhysicalNetworkConnectorType = "RJ45"
)

type PodIAMConfig added in v0.6.1

type PodIAMConfig struct {
	ServiceAccountIssuer string `json:"serviceAccountIssuer"`
}

func (*PodIAMConfig) DeepCopy added in v0.7.0

func (in *PodIAMConfig) DeepCopy() *PodIAMConfig

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

func (*PodIAMConfig) DeepCopyInto added in v0.7.0

func (in *PodIAMConfig) DeepCopyInto(out *PodIAMConfig)

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

func (*PodIAMConfig) Equal added in v0.6.1

func (n *PodIAMConfig) Equal(o *PodIAMConfig) bool

type Pods

type Pods struct {
	CidrBlocks []string `json:"cidrBlocks,omitempty"`
}

func (*Pods) DeepCopy

func (in *Pods) DeepCopy() *Pods

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

func (*Pods) DeepCopyInto

func (in *Pods) DeepCopyInto(out *Pods)

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

func (*Pods) Equal added in v0.8.0

func (n *Pods) Equal(o *Pods) bool

type ProviderRefAccessor

type ProviderRefAccessor interface {
	Kind() string
	Name() string
}

+kubebuilder:object:generate=false Interface for getting DatacenterRef fields for Cluster type.

type ProxyConfiguration

type ProxyConfiguration struct {
	HttpProxy  string   `json:"httpProxy,omitempty"`
	HttpsProxy string   `json:"httpsProxy,omitempty"`
	NoProxy    []string `json:"noProxy,omitempty"`
}

func (*ProxyConfiguration) DeepCopy

func (in *ProxyConfiguration) DeepCopy() *ProxyConfiguration

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

func (*ProxyConfiguration) DeepCopyInto

func (in *ProxyConfiguration) DeepCopyInto(out *ProxyConfiguration)

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

func (*ProxyConfiguration) Equal

type Ref

type Ref struct {
	Kind string `json:"kind,omitempty"`
	Name string `json:"name,omitempty"`
}

func (*Ref) DeepCopy

func (in *Ref) DeepCopy() *Ref

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

func (*Ref) DeepCopyInto

func (in *Ref) DeepCopyInto(out *Ref)

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

func (*Ref) Equal

func (n *Ref) Equal(o *Ref) bool

type RegistryMirrorConfiguration added in v0.6.0

type RegistryMirrorConfiguration struct {
	// Endpoint defines the registry mirror endpoint to use for pulling images
	Endpoint string `json:"endpoint,omitempty"`

	// Port defines the port exposed for registry mirror endpoint
	Port string `json:"port,omitempty"`

	// OCINamespaces defines the mapping from an upstream registry to a local namespace where upstream
	// artifacts are placed into
	OCINamespaces []OCINamespace `json:"ociNamespaces,omitempty"`

	// CACertContent defines the contents registry mirror CA certificate
	CACertContent string `json:"caCertContent,omitempty"`

	// Authenticate defines if registry requires authentication
	Authenticate bool `json:"authenticate,omitempty"`

	// InsecureSkipVerify skips the registry certificate verification.
	// Only use this solution for isolated testing or in a tightly controlled, air-gapped environment.
	// Currently only supported for snow provider
	InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}

RegistryMirrorConfiguration defines the settings for image registry mirror.

func (*RegistryMirrorConfiguration) DeepCopy added in v0.6.0

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

func (*RegistryMirrorConfiguration) DeepCopyInto added in v0.6.0

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

func (*RegistryMirrorConfiguration) Equal added in v0.6.0

type ResolvConf added in v0.7.0

type ResolvConf struct {
	// Path defines the path to the file that contains the DNS resolver configuration
	Path string `json:"path,omitempty"`
}

func (*ResolvConf) DeepCopy added in v0.7.0

func (in *ResolvConf) DeepCopy() *ResolvConf

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

func (*ResolvConf) DeepCopyInto added in v0.7.0

func (in *ResolvConf) DeepCopyInto(out *ResolvConf)

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

func (*ResolvConf) Equal added in v0.7.0

func (n *ResolvConf) Equal(o *ResolvConf) bool

type Services

type Services struct {
	CidrBlocks []string `json:"cidrBlocks,omitempty"`
}

func (*Services) DeepCopy

func (in *Services) DeepCopy() *Services

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

func (*Services) DeepCopyInto

func (in *Services) DeepCopyInto(out *Services)

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

func (*Services) Equal added in v0.8.0

func (n *Services) Equal(o *Services) bool

type SnowDatacenterConfig added in v0.8.0

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

	Spec   SnowDatacenterConfigSpec   `json:"spec,omitempty"`
	Status SnowDatacenterConfigStatus `json:"status,omitempty"`
}

SnowDatacenterConfig is the Schema for the SnowDatacenterConfigs API.

func GetSnowDatacenterConfig added in v0.8.0

func GetSnowDatacenterConfig(fileName string) (*SnowDatacenterConfig, error)

func (*SnowDatacenterConfig) ClearPauseAnnotation added in v0.8.0

func (s *SnowDatacenterConfig) ClearPauseAnnotation()

func (*SnowDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (s *SnowDatacenterConfig) ConvertConfigToConfigGenerateStruct() *SnowDatacenterConfigGenerate

func (*SnowDatacenterConfig) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfig) DeepCopyInto added in v0.8.0

func (in *SnowDatacenterConfig) DeepCopyInto(out *SnowDatacenterConfig)

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

func (*SnowDatacenterConfig) DeepCopyObject added in v0.8.0

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

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

func (*SnowDatacenterConfig) ExpectedKind added in v0.8.0

func (s *SnowDatacenterConfig) ExpectedKind() string

func (*SnowDatacenterConfig) Kind added in v0.8.0

func (s *SnowDatacenterConfig) Kind() string

func (*SnowDatacenterConfig) Marshallable added in v0.8.0

func (s *SnowDatacenterConfig) Marshallable() Marshallable

func (*SnowDatacenterConfig) PauseReconcile added in v0.8.0

func (s *SnowDatacenterConfig) PauseReconcile()

func (*SnowDatacenterConfig) SetupWebhookWithManager added in v0.12.0

func (r *SnowDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SnowDatacenterConfig) Validate added in v0.12.0

func (s *SnowDatacenterConfig) Validate() error

func (*SnowDatacenterConfig) ValidateCreate added in v0.12.0

func (r *SnowDatacenterConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*SnowDatacenterConfig) ValidateDelete added in v0.12.0

func (r *SnowDatacenterConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*SnowDatacenterConfig) ValidateUpdate added in v0.12.0

func (r *SnowDatacenterConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type SnowDatacenterConfigGenerate added in v0.8.0

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

	Spec SnowDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as SnowDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewSnowDatacenterConfigGenerate added in v0.8.0

func NewSnowDatacenterConfigGenerate(clusterName string) *SnowDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*SnowDatacenterConfigGenerate) APIVersion added in v0.8.0

func (s *SnowDatacenterConfigGenerate) APIVersion() string

func (*SnowDatacenterConfigGenerate) Kind added in v0.8.0

func (*SnowDatacenterConfigGenerate) Name added in v0.8.0

type SnowDatacenterConfigList added in v0.9.2

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

SnowDatacenterConfigList contains a list of SnowDatacenterConfig.

func (*SnowDatacenterConfigList) DeepCopy added in v0.9.2

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

func (*SnowDatacenterConfigList) DeepCopyInto added in v0.9.2

func (in *SnowDatacenterConfigList) DeepCopyInto(out *SnowDatacenterConfigList)

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

func (*SnowDatacenterConfigList) DeepCopyObject added in v0.9.2

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

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

type SnowDatacenterConfigSpec added in v0.8.0

type SnowDatacenterConfigSpec struct {

	// IdentityRef is a reference to an identity for the Snow API to be used when reconciling this cluster
	IdentityRef Ref `json:"identityRef,omitempty"`
}

SnowDatacenterConfigSpec defines the desired state of SnowDatacenterConfig.

func (*SnowDatacenterConfigSpec) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfigSpec) DeepCopyInto added in v0.8.0

func (in *SnowDatacenterConfigSpec) DeepCopyInto(out *SnowDatacenterConfigSpec)

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

type SnowDatacenterConfigStatus added in v0.8.0

type SnowDatacenterConfigStatus struct{}

SnowDatacenterConfigStatus defines the observed state of SnowDatacenterConfig.

func (*SnowDatacenterConfigStatus) DeepCopy added in v0.8.0

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

func (*SnowDatacenterConfigStatus) DeepCopyInto added in v0.8.0

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

type SnowDirectNetworkInterface added in v0.14.0

type SnowDirectNetworkInterface struct {
	// Index is the index number of DNI used to clarify the position in the list. Usually starts with 1.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=8
	// +optional
	Index int `json:"index,omitempty"`

	// VlanID is the vlan id assigned by the user for the DNI.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=4095
	// +optional
	VlanID *int32 `json:"vlanID,omitempty"`

	// DHCP defines whether DHCP is used to assign ip for the DNI.
	// +optional
	DHCP bool `json:"dhcp,omitempty"`

	// IPPool contains a reference to a snow ip pool which provides a range of ip addresses.
	// When specified, an ip address selected from the pool is allocated to this DNI.
	// +optional
	IPPoolRef *Ref `json:"ipPoolRef,omitempty"`

	// Primary indicates whether the DNI is primary or not.
	// +optional
	Primary bool `json:"primary,omitempty"`
}

SnowDirectNetworkInterface defines a direct network interface (DNI) configuration.

func (*SnowDirectNetworkInterface) DeepCopy added in v0.14.0

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

func (*SnowDirectNetworkInterface) DeepCopyInto added in v0.14.0

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

type SnowIPPool added in v0.14.0

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

	Spec   SnowIPPoolSpec   `json:"spec,omitempty"`
	Status SnowIPPoolStatus `json:"status,omitempty"`
}

SnowIPPool is the Schema for the SnowIPPools API.

func (*SnowIPPool) ConvertConfigToConfigGenerateStruct added in v0.14.0

func (s *SnowIPPool) ConvertConfigToConfigGenerateStruct() *SnowIPPoolGenerate

ConvertConfigToConfigGenerateStruct converts a SnowIPPool to SnowIPPoolGenerate object.

func (*SnowIPPool) DeepCopy added in v0.14.0

func (in *SnowIPPool) DeepCopy() *SnowIPPool

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

func (*SnowIPPool) DeepCopyInto added in v0.14.0

func (in *SnowIPPool) DeepCopyInto(out *SnowIPPool)

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

func (*SnowIPPool) DeepCopyObject added in v0.14.0

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

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

func (*SnowIPPool) SetupWebhookWithManager added in v0.14.0

func (r *SnowIPPool) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up the webhook manager for SnowIPPool.

func (*SnowIPPool) Validate added in v0.14.1

func (s *SnowIPPool) Validate() error

Validate validates the fields in a SnowIPPool object.

func (*SnowIPPool) ValidateCreate added in v0.14.0

func (r *SnowIPPool) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*SnowIPPool) ValidateDelete added in v0.14.0

func (r *SnowIPPool) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*SnowIPPool) ValidateUpdate added in v0.14.0

func (r *SnowIPPool) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type SnowIPPoolGenerate added in v0.14.0

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

	Spec SnowIPPoolSpec `json:"spec,omitempty"`
}

SnowIPPoolGenerate is same as SnowIPPool except stripped down for generation of yaml file during generate clusterconfig.

type SnowIPPoolList added in v0.14.0

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

SnowIPPoolList contains a list of SnowIPPool.

func (*SnowIPPoolList) DeepCopy added in v0.14.0

func (in *SnowIPPoolList) DeepCopy() *SnowIPPoolList

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

func (*SnowIPPoolList) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolList) DeepCopyInto(out *SnowIPPoolList)

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

func (*SnowIPPoolList) DeepCopyObject added in v0.14.0

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

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

type SnowIPPoolSpec added in v0.14.0

type SnowIPPoolSpec struct {
	// IPPools defines a list of ip pool for the DNI.
	Pools []IPPool `json:"pools,omitempty"`
}

SnowIPPoolSpec defines the desired state of SnowIPPool.

func (*SnowIPPoolSpec) DeepCopy added in v0.14.0

func (in *SnowIPPoolSpec) DeepCopy() *SnowIPPoolSpec

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

func (*SnowIPPoolSpec) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolSpec) DeepCopyInto(out *SnowIPPoolSpec)

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

type SnowIPPoolStatus added in v0.14.0

type SnowIPPoolStatus struct{}

SnowIPPoolStatus defines the observed state of SnowIPPool.

func (*SnowIPPoolStatus) DeepCopy added in v0.14.0

func (in *SnowIPPoolStatus) DeepCopy() *SnowIPPoolStatus

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

func (*SnowIPPoolStatus) DeepCopyInto added in v0.14.0

func (in *SnowIPPoolStatus) DeepCopyInto(out *SnowIPPoolStatus)

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

type SnowMachineConfig added in v0.8.0

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

	Spec   SnowMachineConfigSpec   `json:"spec,omitempty"`
	Status SnowMachineConfigStatus `json:"status,omitempty"`
}

SnowMachineConfig is the Schema for the SnowMachineConfigs API.

func (*SnowMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (s *SnowMachineConfig) ConvertConfigToConfigGenerateStruct() *SnowMachineConfigGenerate

func (*SnowMachineConfig) DeepCopy added in v0.8.0

func (in *SnowMachineConfig) DeepCopy() *SnowMachineConfig

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

func (*SnowMachineConfig) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfig) DeepCopyInto(out *SnowMachineConfig)

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

func (*SnowMachineConfig) DeepCopyObject added in v0.8.0

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

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

func (*SnowMachineConfig) Default added in v0.11.0

func (r *SnowMachineConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*SnowMachineConfig) IPPoolRefs added in v0.14.0

func (s *SnowMachineConfig) IPPoolRefs() []Ref

IPPoolRefs returns a slice of snow IP pools that belongs to a snowMachineConfig.

func (*SnowMachineConfig) Marshallable added in v0.8.0

func (s *SnowMachineConfig) Marshallable() Marshallable

func (*SnowMachineConfig) OSFamily added in v0.8.0

func (s *SnowMachineConfig) OSFamily() OSFamily

func (*SnowMachineConfig) SetControlPlaneAnnotation added in v0.9.0

func (s *SnowMachineConfig) SetControlPlaneAnnotation()

func (*SnowMachineConfig) SetDefaults added in v0.8.0

func (s *SnowMachineConfig) SetDefaults()

func (*SnowMachineConfig) SetEtcdAnnotation added in v0.9.0

func (s *SnowMachineConfig) SetEtcdAnnotation()

func (*SnowMachineConfig) SetManagedBy added in v0.8.0

func (s *SnowMachineConfig) SetManagedBy(clusterName string)

func (*SnowMachineConfig) SetupWebhookWithManager added in v0.11.0

func (r *SnowMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SnowMachineConfig) Validate added in v0.8.0

func (s *SnowMachineConfig) Validate() error

func (*SnowMachineConfig) ValidateCreate added in v0.11.0

func (r *SnowMachineConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*SnowMachineConfig) ValidateDelete added in v0.11.0

func (r *SnowMachineConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*SnowMachineConfig) ValidateHasSSHKeyName added in v0.14.0

func (s *SnowMachineConfig) ValidateHasSSHKeyName() error

ValidateHasSSHKeyName verifies a SnowMachineConfig object must have a SshKeyName. This validation only runs in SnowMachineConfig validation webhook, as we support auto-generate and import ssh key when creating a cluster via CLI.

func (*SnowMachineConfig) ValidateUpdate added in v0.11.0

func (r *SnowMachineConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type SnowMachineConfigGenerate added in v0.8.0

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

	Spec SnowMachineConfigSpec `json:"spec,omitempty"`
}

Same as SnowMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewSnowMachineConfigGenerate added in v0.8.0

func NewSnowMachineConfigGenerate(name string) *SnowMachineConfigGenerate

NewSnowMachineConfigGenerate generates snowMachineConfig example for generate clusterconfig command.

func (*SnowMachineConfigGenerate) APIVersion added in v0.8.0

func (s *SnowMachineConfigGenerate) APIVersion() string

func (*SnowMachineConfigGenerate) Kind added in v0.8.0

func (*SnowMachineConfigGenerate) Name added in v0.8.0

type SnowMachineConfigList added in v0.9.2

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

SnowMachineConfigList contains a list of SnowMachineConfig.

func (*SnowMachineConfigList) DeepCopy added in v0.9.2

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

func (*SnowMachineConfigList) DeepCopyInto added in v0.9.2

func (in *SnowMachineConfigList) DeepCopyInto(out *SnowMachineConfigList)

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

func (*SnowMachineConfigList) DeepCopyObject added in v0.9.2

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

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

type SnowMachineConfigSpec added in v0.8.0

type SnowMachineConfigSpec struct {

	// The AMI ID from which to create the machine instance.
	AMIID string `json:"amiID,omitempty"`

	// InstanceType is the type of instance to create.
	InstanceType string `json:"instanceType,omitempty"`

	// PhysicalNetworkConnector is the physical network connector type to use for creating direct network interfaces (DNI).
	// Valid values: "SFP_PLUS" (default), "QSFP" and "RJ45".
	PhysicalNetworkConnector PhysicalNetworkConnectorType `json:"physicalNetworkConnector,omitempty"`

	// SSHKeyName is the name of the ssh key defined in the aws snow key pairs, to attach to the instance.
	SshKeyName string `json:"sshKeyName,omitempty"`

	// Devices contains a device ip list assigned by the user to provision machines.
	Devices []string `json:"devices,omitempty"`

	// ContainersVolume provides the configuration options for the containers data storage volume.
	ContainersVolume *snowv1.Volume `json:"containersVolume,omitempty"`

	// OSFamily is the node instance OS.
	// Valid values: "bottlerocket" and "ubuntu".
	OSFamily OSFamily `json:"osFamily,omitempty"`

	// Network provides the custom network setting for the machine.
	Network SnowNetwork `json:"network"`
}

SnowMachineConfigSpec defines the desired state of SnowMachineConfigSpec.

func (*SnowMachineConfigSpec) DeepCopy added in v0.8.0

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

func (*SnowMachineConfigSpec) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfigSpec) DeepCopyInto(out *SnowMachineConfigSpec)

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

type SnowMachineConfigStatus added in v0.8.0

type SnowMachineConfigStatus struct {
	// SpecValid is set to true if vspheredatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

SnowMachineConfigStatus defines the observed state of SnowMachineConfig.

func (*SnowMachineConfigStatus) DeepCopy added in v0.8.0

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

func (*SnowMachineConfigStatus) DeepCopyInto added in v0.8.0

func (in *SnowMachineConfigStatus) DeepCopyInto(out *SnowMachineConfigStatus)

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

type SnowNetwork added in v0.14.0

type SnowNetwork struct {
	// DirectNetworkInterfaces contains a list of direct network interface (DNI) configuration.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	DirectNetworkInterfaces []SnowDirectNetworkInterface `json:"directNetworkInterfaces,omitempty"`
}

SnowNetwork specifies the network configurations for snow.

func (*SnowNetwork) DeepCopy added in v0.14.0

func (in *SnowNetwork) DeepCopy() *SnowNetwork

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

func (*SnowNetwork) DeepCopyInto added in v0.14.0

func (in *SnowNetwork) DeepCopyInto(out *SnowNetwork)

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

type SymlinkMaps added in v0.9.2

type SymlinkMaps map[string]string

func (SymlinkMaps) DeepCopy added in v0.9.2

func (in SymlinkMaps) DeepCopy() SymlinkMaps

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

func (SymlinkMaps) DeepCopyInto added in v0.9.2

func (in SymlinkMaps) DeepCopyInto(out *SymlinkMaps)

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

func (SymlinkMaps) Validate added in v0.9.2

func (r SymlinkMaps) Validate() (err error, field string, value string)

type TinkerbellDatacenterConfig added in v0.7.0

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

	Spec   TinkerbellDatacenterConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellDatacenterConfigStatus `json:"status,omitempty"`
}

TinkerbellDatacenterConfig is the Schema for the TinkerbellDatacenterConfigs API.

func GetTinkerbellDatacenterConfig added in v0.7.0

func GetTinkerbellDatacenterConfig(fileName string) (*TinkerbellDatacenterConfig, error)

func (*TinkerbellDatacenterConfig) ClearPauseAnnotation added in v0.7.0

func (t *TinkerbellDatacenterConfig) ClearPauseAnnotation()

func (*TinkerbellDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.7.0

func (t *TinkerbellDatacenterConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellDatacenterConfigGenerate

func (*TinkerbellDatacenterConfig) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfig) DeepCopyInto added in v0.7.0

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

func (*TinkerbellDatacenterConfig) DeepCopyObject added in v0.7.0

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

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

func (*TinkerbellDatacenterConfig) ExpectedKind added in v0.7.0

func (v *TinkerbellDatacenterConfig) ExpectedKind() string

func (*TinkerbellDatacenterConfig) IsReconcilePaused added in v0.7.0

func (t *TinkerbellDatacenterConfig) IsReconcilePaused() bool

func (*TinkerbellDatacenterConfig) Kind added in v0.7.0

func (*TinkerbellDatacenterConfig) Marshallable added in v0.7.0

func (t *TinkerbellDatacenterConfig) Marshallable() Marshallable

func (*TinkerbellDatacenterConfig) PauseReconcile added in v0.7.0

func (t *TinkerbellDatacenterConfig) PauseReconcile()

func (*TinkerbellDatacenterConfig) SetupWebhookWithManager added in v0.14.0

func (r *TinkerbellDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up TinkerbellDatacenterConfig webhook to controller manager.

func (*TinkerbellDatacenterConfig) Validate added in v0.14.0

func (t *TinkerbellDatacenterConfig) Validate() error

Validate validates the Tinkerbell datacenter config.

func (*TinkerbellDatacenterConfig) ValidateCreate added in v0.14.0

func (r *TinkerbellDatacenterConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*TinkerbellDatacenterConfig) ValidateDelete added in v0.14.0

func (r *TinkerbellDatacenterConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*TinkerbellDatacenterConfig) ValidateUpdate added in v0.14.0

func (r *TinkerbellDatacenterConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type TinkerbellDatacenterConfigGenerate added in v0.7.0

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

	Spec TinkerbellDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewTinkerbellDatacenterConfigGenerate added in v0.7.0

func NewTinkerbellDatacenterConfigGenerate(clusterName string) *TinkerbellDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*TinkerbellDatacenterConfigGenerate) APIVersion added in v0.7.0

func (*TinkerbellDatacenterConfigGenerate) Kind added in v0.7.0

func (*TinkerbellDatacenterConfigGenerate) Name added in v0.7.0

type TinkerbellDatacenterConfigList added in v0.7.0

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

TinkerbellDatacenterConfigList contains a list of TinkerbellDatacenterConfig.

func (*TinkerbellDatacenterConfigList) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigList) DeepCopyInto added in v0.7.0

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

func (*TinkerbellDatacenterConfigList) DeepCopyObject added in v0.7.0

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

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

type TinkerbellDatacenterConfigSpec added in v0.7.0

type TinkerbellDatacenterConfigSpec struct {
	// TinkerbellIP is used to configure a VIP for hosting the Tinkerbell services.
	TinkerbellIP string `json:"tinkerbellIP"`
	// OSImageURL can be used to override the default OS image path to pull from a local server.
	OSImageURL string `json:"osImageURL,omitempty"`
	// HookImagesURLPath can be used to override the default Hook images path to pull from a local server.
	HookImagesURLPath string `json:"hookImagesURLPath,omitempty"`
	// SkipLoadBalancerDeployment when set to "true" can be used to skip deploying a load balancer to expose Tinkerbell stack.
	// Users will need to deploy and configure a load balancer manually after the cluster is created.
	SkipLoadBalancerDeployment bool `json:"skipLoadBalancerDeployment,omitempty"`
}

TinkerbellDatacenterConfigSpec defines the desired state of TinkerbellDatacenterConfig.

func (*TinkerbellDatacenterConfigSpec) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigSpec) DeepCopyInto added in v0.7.0

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

type TinkerbellDatacenterConfigStatus added in v0.7.0

type TinkerbellDatacenterConfigStatus struct{}

TinkerbellDatacenterConfigStatus defines the observed state of TinkerbellDatacenterConfig

Important: Run "make generate" to regenerate code after modifying this file.

func (*TinkerbellDatacenterConfigStatus) DeepCopy added in v0.7.0

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

func (*TinkerbellDatacenterConfigStatus) DeepCopyInto added in v0.7.0

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

type TinkerbellMachineConfig added in v0.7.0

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

	Spec   TinkerbellMachineConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellMachineConfigStatus `json:"status,omitempty"`
}

TinkerbellMachineConfig is the Schema for the tinkerbellmachineconfigs API.

func (*TinkerbellMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.7.0

func (c *TinkerbellMachineConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellMachineConfigGenerate

func (*TinkerbellMachineConfig) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfig) DeepCopyInto added in v0.7.0

func (in *TinkerbellMachineConfig) DeepCopyInto(out *TinkerbellMachineConfig)

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

func (*TinkerbellMachineConfig) DeepCopyObject added in v0.7.0

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

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

func (*TinkerbellMachineConfig) GetName added in v0.7.0

func (c *TinkerbellMachineConfig) GetName() string

func (*TinkerbellMachineConfig) GetNamespace added in v0.7.0

func (c *TinkerbellMachineConfig) GetNamespace() string

func (*TinkerbellMachineConfig) IsControlPlane added in v0.7.0

func (c *TinkerbellMachineConfig) IsControlPlane() bool

func (*TinkerbellMachineConfig) IsEtcd added in v0.7.0

func (c *TinkerbellMachineConfig) IsEtcd() bool

func (*TinkerbellMachineConfig) IsManaged added in v0.7.0

func (c *TinkerbellMachineConfig) IsManaged() bool

func (*TinkerbellMachineConfig) IsReconcilePaused added in v0.7.0

func (c *TinkerbellMachineConfig) IsReconcilePaused() bool

func (*TinkerbellMachineConfig) Marshallable added in v0.7.0

func (c *TinkerbellMachineConfig) Marshallable() Marshallable

func (*TinkerbellMachineConfig) OSFamily added in v0.7.0

func (c *TinkerbellMachineConfig) OSFamily() OSFamily

func (*TinkerbellMachineConfig) PauseReconcile added in v0.7.0

func (c *TinkerbellMachineConfig) PauseReconcile()

func (*TinkerbellMachineConfig) SetControlPlane added in v0.7.0

func (c *TinkerbellMachineConfig) SetControlPlane()

func (*TinkerbellMachineConfig) SetEtcd added in v0.7.0

func (c *TinkerbellMachineConfig) SetEtcd()

func (*TinkerbellMachineConfig) SetManagedBy added in v0.7.0

func (c *TinkerbellMachineConfig) SetManagedBy(clusterName string)

func (*TinkerbellMachineConfig) SetupWebhookWithManager added in v0.14.0

func (r *TinkerbellMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up TinkerbellMachineConfig webhook to controller manager.

func (*TinkerbellMachineConfig) ValidateCreate added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*TinkerbellMachineConfig) ValidateDelete added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*TinkerbellMachineConfig) ValidateUpdate added in v0.14.0

func (r *TinkerbellMachineConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type TinkerbellMachineConfigGenerate added in v0.7.0

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

	Spec TinkerbellMachineConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewTinkerbellMachineConfigGenerate added in v0.7.0

func NewTinkerbellMachineConfigGenerate(name string, opts ...TinkerbellMachineConfigGenerateOpt) *TinkerbellMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*TinkerbellMachineConfigGenerate) APIVersion added in v0.7.0

func (c *TinkerbellMachineConfigGenerate) APIVersion() string

func (*TinkerbellMachineConfigGenerate) Kind added in v0.7.0

func (*TinkerbellMachineConfigGenerate) Name added in v0.7.0

type TinkerbellMachineConfigGenerateOpt added in v0.8.0

type TinkerbellMachineConfigGenerateOpt func(config *TinkerbellMachineConfigGenerate)

+kubebuilder:object:generate=false

func WithTemplateRef added in v0.8.0

type TinkerbellMachineConfigList added in v0.7.0

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

TinkerbellMachineConfigList contains a list of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigList) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigList) DeepCopyInto added in v0.7.0

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

func (*TinkerbellMachineConfigList) DeepCopyObject added in v0.7.0

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

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

type TinkerbellMachineConfigSpec added in v0.7.0

type TinkerbellMachineConfigSpec struct {
	HardwareSelector HardwareSelector    `json:"hardwareSelector"`
	TemplateRef      Ref                 `json:"templateRef,omitempty"`
	OSFamily         OSFamily            `json:"osFamily"`
	Users            []UserConfiguration `json:"users,omitempty"`
}

TinkerbellMachineConfigSpec defines the desired state of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigSpec) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigSpec) DeepCopyInto added in v0.7.0

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

type TinkerbellMachineConfigStatus added in v0.7.0

type TinkerbellMachineConfigStatus struct{}

TinkerbellMachineConfigStatus defines the observed state of TinkerbellMachineConfig.

func (*TinkerbellMachineConfigStatus) DeepCopy added in v0.7.0

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

func (*TinkerbellMachineConfigStatus) DeepCopyInto added in v0.7.0

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

type TinkerbellTemplateConfig added in v0.8.0

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

	Spec   TinkerbellTemplateConfigSpec   `json:"spec,omitempty"`
	Status TinkerbellTemplateConfigStatus `json:"status,omitempty"`
}

TinkerbellTemplateConfig is the Schema for the TinkerbellTemplateConfigs API.

func NewDefaultTinkerbellTemplateConfigCreate added in v0.9.2

func NewDefaultTinkerbellTemplateConfigCreate(name string, versionBundle v1alpha1.VersionsBundle, disk string, osImageOverride, tinkerbellLocalIp, tinkerbellLBIp string, osFamily OSFamily) *TinkerbellTemplateConfig

NewDefaultTinkerbellTemplateConfigCreate returns a default TinkerbellTemplateConfig with the required Tasks and Actions.

func (*TinkerbellTemplateConfig) ConvertConfigToConfigGenerateStruct added in v0.8.0

func (c *TinkerbellTemplateConfig) ConvertConfigToConfigGenerateStruct() *TinkerbellTemplateConfigGenerate

func (*TinkerbellTemplateConfig) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfig) DeepCopyInto added in v0.8.0

func (in *TinkerbellTemplateConfig) DeepCopyInto(out *TinkerbellTemplateConfig)

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

func (*TinkerbellTemplateConfig) DeepCopyObject added in v0.8.0

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

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

func (*TinkerbellTemplateConfig) ExpectedKind added in v0.8.0

func (t *TinkerbellTemplateConfig) ExpectedKind() string

func (*TinkerbellTemplateConfig) Kind added in v0.8.0

func (t *TinkerbellTemplateConfig) Kind() string

func (*TinkerbellTemplateConfig) ToTemplateString added in v0.8.0

func (t *TinkerbellTemplateConfig) ToTemplateString() (string, error)

type TinkerbellTemplateConfigGenerate added in v0.8.0

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

	Spec TinkerbellTemplateConfigSpec `json:"spec,omitempty"`
}

Same as TinkerbellTemplateConfig except stripped down for generation of yaml file during generate clusterconfig.

func (*TinkerbellTemplateConfigGenerate) APIVersion added in v0.8.0

func (c *TinkerbellTemplateConfigGenerate) APIVersion() string

func (*TinkerbellTemplateConfigGenerate) Kind added in v0.8.0

func (*TinkerbellTemplateConfigGenerate) Name added in v0.8.0

type TinkerbellTemplateConfigList added in v0.8.0

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

TinkerbellTemplateConfigList contains a list of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigList) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigList) DeepCopyInto added in v0.8.0

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

func (*TinkerbellTemplateConfigList) DeepCopyObject added in v0.8.0

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

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

type TinkerbellTemplateConfigSpec added in v0.8.0

type TinkerbellTemplateConfigSpec struct {
	// Template defines a Tinkerbell workflow template with specific tasks and actions.
	Template tinkerbell.Workflow `json:"template"`
}

TinkerbellTemplateConfigSpec defines the desired state of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigSpec) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigSpec) DeepCopyInto added in v0.8.0

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

type TinkerbellTemplateConfigStatus added in v0.8.0

type TinkerbellTemplateConfigStatus struct{}

TinkerbellTemplateConfigStatus defines the observed state of TinkerbellTemplateConfig.

func (*TinkerbellTemplateConfigStatus) DeepCopy added in v0.8.0

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

func (*TinkerbellTemplateConfigStatus) DeepCopyInto added in v0.8.0

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

type UserConfiguration

type UserConfiguration struct {
	Name              string   `json:"name"`
	SshAuthorizedKeys []string `json:"sshAuthorizedKeys"`
}

UserConfiguration defines the configuration of the user to be added to the VM.

func (*UserConfiguration) DeepCopy

func (in *UserConfiguration) DeepCopy() *UserConfiguration

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

func (*UserConfiguration) DeepCopyInto

func (in *UserConfiguration) DeepCopyInto(out *UserConfiguration)

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

type VSphereDatacenterConfig

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

	Spec   VSphereDatacenterConfigSpec   `json:"spec,omitempty"`
	Status VSphereDatacenterConfigStatus `json:"status,omitempty"`
}

VSphereDatacenterConfig is the Schema for the VSphereDatacenterConfigs API.

func GetVSphereDatacenterConfig

func GetVSphereDatacenterConfig(fileName string) (*VSphereDatacenterConfig, error)

func (*VSphereDatacenterConfig) ClearPauseAnnotation

func (v *VSphereDatacenterConfig) ClearPauseAnnotation()

func (*VSphereDatacenterConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (v *VSphereDatacenterConfig) ConvertConfigToConfigGenerateStruct() *VSphereDatacenterConfigGenerate

func (*VSphereDatacenterConfig) DeepCopy

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

func (*VSphereDatacenterConfig) DeepCopyInto

func (in *VSphereDatacenterConfig) DeepCopyInto(out *VSphereDatacenterConfig)

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

func (*VSphereDatacenterConfig) DeepCopyObject

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

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

func (*VSphereDatacenterConfig) Default added in v0.12.0

func (r *VSphereDatacenterConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*VSphereDatacenterConfig) ExpectedKind

func (v *VSphereDatacenterConfig) ExpectedKind() string

func (*VSphereDatacenterConfig) IsReconcilePaused

func (v *VSphereDatacenterConfig) IsReconcilePaused() bool

func (*VSphereDatacenterConfig) Kind

func (v *VSphereDatacenterConfig) Kind() string

func (*VSphereDatacenterConfig) Marshallable added in v0.6.0

func (v *VSphereDatacenterConfig) Marshallable() Marshallable

func (*VSphereDatacenterConfig) PauseReconcile

func (v *VSphereDatacenterConfig) PauseReconcile()

func (*VSphereDatacenterConfig) SetDefaults added in v0.7.0

func (v *VSphereDatacenterConfig) SetDefaults()

func (*VSphereDatacenterConfig) SetupWebhookWithManager

func (r *VSphereDatacenterConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VSphereDatacenterConfig) Validate added in v0.8.0

func (v *VSphereDatacenterConfig) Validate() error

func (*VSphereDatacenterConfig) ValidateCreate

func (r *VSphereDatacenterConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*VSphereDatacenterConfig) ValidateDelete

func (r *VSphereDatacenterConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*VSphereDatacenterConfig) ValidateUpdate

func (r *VSphereDatacenterConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type VSphereDatacenterConfigGenerate

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

	Spec VSphereDatacenterConfigSpec `json:"spec,omitempty"`
}

Same as VSphereDatacenterConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewVSphereDatacenterConfigGenerate

func NewVSphereDatacenterConfigGenerate(clusterName string) *VSphereDatacenterConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*VSphereDatacenterConfigGenerate) APIVersion

func (c *VSphereDatacenterConfigGenerate) APIVersion() string

func (*VSphereDatacenterConfigGenerate) Kind

func (*VSphereDatacenterConfigGenerate) Name

type VSphereDatacenterConfigList

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

VSphereDatacenterConfigList contains a list of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigList) DeepCopy

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

func (*VSphereDatacenterConfigList) DeepCopyInto

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

func (*VSphereDatacenterConfigList) DeepCopyObject

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

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

type VSphereDatacenterConfigSpec

type VSphereDatacenterConfigSpec struct {
	Datacenter string `json:"datacenter"`
	DisableCSI bool   `json:"disableCSI,omitempty"`
	Network    string `json:"network"`
	Server     string `json:"server"`
	Thumbprint string `json:"thumbprint"`
	Insecure   bool   `json:"insecure"`
}

VSphereDatacenterConfigSpec defines the desired state of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigSpec) DeepCopy

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

func (*VSphereDatacenterConfigSpec) DeepCopyInto

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

type VSphereDatacenterConfigStatus

type VSphereDatacenterConfigStatus struct {
	// SpecValid is set to true if vspheredatacenterconfig is validated.
	SpecValid bool `json:"specValid,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// FailureMessage indicates that there is a fatal problem reconciling the
	// state, and will be set to a descriptive error message.
	FailureMessage *string `json:"failureMessage,omitempty"`
}

VSphereDatacenterConfigStatus defines the observed state of VSphereDatacenterConfig.

func (*VSphereDatacenterConfigStatus) DeepCopy

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

func (*VSphereDatacenterConfigStatus) DeepCopyInto

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

type VSphereMachineConfig

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

	Spec   VSphereMachineConfigSpec   `json:"spec,omitempty"`
	Status VSphereMachineConfigStatus `json:"status,omitempty"`
}

VSphereMachineConfig is the Schema for the vspheremachineconfigs API.

func (*VSphereMachineConfig) ConvertConfigToConfigGenerateStruct added in v0.6.0

func (c *VSphereMachineConfig) ConvertConfigToConfigGenerateStruct() *VSphereMachineConfigGenerate

func (*VSphereMachineConfig) DeepCopy

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

func (*VSphereMachineConfig) DeepCopyInto

func (in *VSphereMachineConfig) DeepCopyInto(out *VSphereMachineConfig)

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

func (*VSphereMachineConfig) DeepCopyObject

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

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

func (*VSphereMachineConfig) Default added in v0.12.0

func (r *VSphereMachineConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*VSphereMachineConfig) GetName added in v0.6.0

func (c *VSphereMachineConfig) GetName() string

func (*VSphereMachineConfig) GetNamespace added in v0.6.0

func (c *VSphereMachineConfig) GetNamespace() string

func (*VSphereMachineConfig) IsControlPlane

func (c *VSphereMachineConfig) IsControlPlane() bool

func (*VSphereMachineConfig) IsEtcd

func (c *VSphereMachineConfig) IsEtcd() bool

func (*VSphereMachineConfig) IsManaged added in v0.7.0

func (c *VSphereMachineConfig) IsManaged() bool

IsManaged returns true if the vspheremachineconfig is associated with a workload cluster.

func (*VSphereMachineConfig) IsReconcilePaused

func (c *VSphereMachineConfig) IsReconcilePaused() bool

func (*VSphereMachineConfig) Marshallable added in v0.6.0

func (c *VSphereMachineConfig) Marshallable() Marshallable

func (*VSphereMachineConfig) OSFamily added in v0.6.0

func (c *VSphereMachineConfig) OSFamily() OSFamily

func (*VSphereMachineConfig) PauseReconcile

func (c *VSphereMachineConfig) PauseReconcile()

func (*VSphereMachineConfig) SetControlPlane

func (c *VSphereMachineConfig) SetControlPlane()

func (*VSphereMachineConfig) SetDefaults added in v0.12.0

func (c *VSphereMachineConfig) SetDefaults()

func (*VSphereMachineConfig) SetEtcd added in v0.6.0

func (c *VSphereMachineConfig) SetEtcd()

func (*VSphereMachineConfig) SetManagedBy added in v0.7.0

func (c *VSphereMachineConfig) SetManagedBy(clusterName string)

func (*VSphereMachineConfig) SetupWebhookWithManager

func (r *VSphereMachineConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VSphereMachineConfig) Validate added in v0.8.0

func (c *VSphereMachineConfig) Validate() error

func (*VSphereMachineConfig) ValidateCreate

func (r *VSphereMachineConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*VSphereMachineConfig) ValidateDelete

func (r *VSphereMachineConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*VSphereMachineConfig) ValidateHasTemplate added in v0.13.0

func (c *VSphereMachineConfig) ValidateHasTemplate() error

ValidateHasTemplate verifies that a VSphereMachineConfig object has a template. Specifying a template is required when submitting an object via webhook, as we only support auto-importing templates when creating a cluster via CLI.

func (*VSphereMachineConfig) ValidateUpdate

func (r *VSphereMachineConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type VSphereMachineConfigGenerate

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

	Spec VSphereMachineConfigSpec `json:"spec,omitempty"`
}

VSphereMachineConfigGenerate Same as VSphereMachineConfig except stripped down for generation of yaml file during generate clusterconfig.

func NewVSphereMachineConfigGenerate

func NewVSphereMachineConfigGenerate(name string) *VSphereMachineConfigGenerate

Used for generating yaml for generate clusterconfig command.

func (*VSphereMachineConfigGenerate) APIVersion

func (c *VSphereMachineConfigGenerate) APIVersion() string

func (*VSphereMachineConfigGenerate) Kind

func (*VSphereMachineConfigGenerate) Name

type VSphereMachineConfigList

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

VSphereMachineConfigList contains a list of VSphereMachineConfig.

func (*VSphereMachineConfigList) DeepCopy

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

func (*VSphereMachineConfigList) DeepCopyInto

func (in *VSphereMachineConfigList) DeepCopyInto(out *VSphereMachineConfigList)

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

func (*VSphereMachineConfigList) DeepCopyObject

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

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

type VSphereMachineConfigSpec

type VSphereMachineConfigSpec struct {
	DiskGiB           int                 `json:"diskGiB,omitempty"`
	Datastore         string              `json:"datastore"`
	Folder            string              `json:"folder"`
	NumCPUs           int                 `json:"numCPUs"`
	MemoryMiB         int                 `json:"memoryMiB"`
	OSFamily          OSFamily            `json:"osFamily"`
	ResourcePool      string              `json:"resourcePool"`
	StoragePolicyName string              `json:"storagePolicyName,omitempty"`
	Template          string              `json:"template,omitempty"`
	Users             []UserConfiguration `json:"users,omitempty"`
	TagIDs            []string            `json:"tags,omitempty"`
}

VSphereMachineConfigSpec defines the desired state of VSphereMachineConfig.

func (*VSphereMachineConfigSpec) DeepCopy

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

func (*VSphereMachineConfigSpec) DeepCopyInto

func (in *VSphereMachineConfigSpec) DeepCopyInto(out *VSphereMachineConfigSpec)

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

type VSphereMachineConfigStatus

type VSphereMachineConfigStatus struct{}

VSphereMachineConfigStatus defines the observed state of VSphereMachineConfig.

func (*VSphereMachineConfigStatus) DeepCopy

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

func (*VSphereMachineConfigStatus) DeepCopyInto

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

type WorkerNodeGroupConfiguration

type WorkerNodeGroupConfiguration struct {
	// Name refers to the name of the worker node group
	Name string `json:"name,omitempty"`
	// Count defines the number of desired worker nodes. Defaults to 1.
	Count *int `json:"count,omitempty"`
	// AutoScalingConfiguration defines the auto scaling configuration
	AutoScalingConfiguration *AutoScalingConfiguration `json:"autoscalingConfiguration,omitempty"`
	// MachineGroupRef defines the machine group configuration for the worker nodes.
	MachineGroupRef *Ref `json:"machineGroupRef,omitempty"`
	// Taints define the set of taints to be applied on worker nodes
	Taints []corev1.Taint `json:"taints,omitempty"`
	// Labels define the labels to assign to the node
	Labels map[string]string `json:"labels,omitempty"`
	// UpgradeRolloutStrategy determines the rollout strategy to use for rolling upgrades
	// and related parameters/knobs
	UpgradeRolloutStrategy *WorkerNodesUpgradeRolloutStrategy `json:"upgradeRolloutStrategy,omitempty"`
}

func (*WorkerNodeGroupConfiguration) DeepCopy

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

func (*WorkerNodeGroupConfiguration) DeepCopyInto

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

type WorkerNodesRollingUpdateParams added in v0.13.0

type WorkerNodesRollingUpdateParams struct {
	MaxSurge       int `json:"maxSurge"`
	MaxUnavailable int `json:"maxUnavailable"`
}

WorkerNodesRollingUpdateParams is API for rolling update strategy knobs.

func (*WorkerNodesRollingUpdateParams) DeepCopy added in v0.13.0

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

func (*WorkerNodesRollingUpdateParams) DeepCopyInto added in v0.13.0

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

type WorkerNodesUpgradeRolloutStrategy added in v0.13.0

type WorkerNodesUpgradeRolloutStrategy struct {
	Type          string                         `json:"type,omitempty"`
	RollingUpdate WorkerNodesRollingUpdateParams `json:"rollingUpdate,omitempty"`
}

WorkerNodesUpgradeRolloutStrategy indicates rollout strategy for cluster.

func (*WorkerNodesUpgradeRolloutStrategy) DeepCopy added in v0.13.0

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

func (*WorkerNodesUpgradeRolloutStrategy) DeepCopyInto added in v0.13.0

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

Source Files

Directories

Path Synopsis
thirdparty
tinkerbell
Package represents https://pkg.go.dev/github.com/tinkerbell/tink@v0.6.0/workflow#pkg-types with json tags.
Package represents https://pkg.go.dev/github.com/tinkerbell/tink@v0.6.0/workflow#pkg-types with json tags.

Jump to

Keyboard shortcuts

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