v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group. +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// ClusterFinalizer allows to clean up resources associated with before removing it from the apiserver.
	ClusterFinalizer = "metal-stack.infrastructure.cluster.x-k8s.io/cluster"

	ClusterControlPlaneEndpointDefaultPort = 443

	ClusterNodeNetworkEnsured          clusterv1.ConditionType = "ClusterNodeNetworkEnsured"
	ClusterControlPlaneEndpointEnsured clusterv1.ConditionType = "ClusterControlPlaneEndpointEnsured"
	ClusterFirewallDeploymentReady     clusterv1.ConditionType = "ClusterFirewallDeploymentReady"
)
View Source
const (
	// MachineFinalizer allows to clean up resources associated with before removing it from the apiserver.
	MachineFinalizer = "metal-stack.infrastructure.cluster.x-k8s.io/machine"

	TagInfraMachineID = "metal-stack.infrastructure.cluster.x-k8s.io/machine-id"

	ProviderMachineCreated clusterv1.ConditionType = "MachineCreated"
	ProviderMachineReady   clusterv1.ConditionType = "MachineReady"
	ProviderMachineHealthy clusterv1.ConditionType = "MachineHealthy"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	TagControlPlanePurpose = tag.New("metal-stack.infrastructure.cluster.x-k8s.io/purpose", "control-plane")
)

Functions

This section is empty.

Types

type APIEndpoint

type APIEndpoint struct {
	// Host is the hostname on which the API server is serving.
	Host string `json:"host"`

	// Port is the port on which the API server is serving.
	Port int `json:"port"`
}

APIEndpoint represents a reachable Kubernetes API endpoint.

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type Firewall

type Firewall struct {
	// Size is the machine size of the firewall.
	// An update on this field requires the recreation of the physical firewall and can therefore lead to traffic interruption for the cluster.
	Size string `json:"size"`
	// Image is the os image of the firewall.
	// An update on this field requires the recreation of the physical firewall and can therefore lead to traffic interruption for the cluster.
	Image string `json:"image"`
	// AdditionalNetworks are the networks to which this firewall is connected.
	// An update on this field requires the recreation of the physical firewall and can therefore lead to traffic interruption for the cluster.
	// +optional
	AdditionalNetworks []string `json:"networks,omitempty"`

	// RateLimits allows configuration of rate limit rules for interfaces.
	// +optional
	RateLimits []fcmv2.RateLimit `json:"rateLimits,omitempty"`
	// EgressRules contains egress rules configured for this firewall.
	// +optional
	EgressRules []fcmv2.EgressRuleSNAT `json:"egressRules,omitempty"`

	// LogAcceptedConnections if set to true, also log accepted connections in the droptailer log.
	// +optional
	LogAcceptedConnections *bool `json:"logAcceptedConnections,omitempty"`
}

Firewall defines parameters for the firewall creation along with configuration for the firewall-controller.

func (*Firewall) DeepCopy

func (in *Firewall) DeepCopy() *Firewall

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

func (*Firewall) DeepCopyInto

func (in *Firewall) DeepCopyInto(out *Firewall)

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

type MetalStackCluster

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

	Spec   MetalStackClusterSpec   `json:"spec,omitempty"`
	Status MetalStackClusterStatus `json:"status,omitempty"`
}

MetalStackCluster is the Schema for the metalstackclusters API.

func (*MetalStackCluster) DeepCopy

func (in *MetalStackCluster) DeepCopy() *MetalStackCluster

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

func (*MetalStackCluster) DeepCopyInto

func (in *MetalStackCluster) DeepCopyInto(out *MetalStackCluster)

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

func (*MetalStackCluster) DeepCopyObject

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

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

func (*MetalStackCluster) GetConditions

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

GetConditions returns the list of conditions.

func (*MetalStackCluster) SetConditions

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

SetConditions will set the given conditions.

type MetalStackClusterList

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

MetalStackClusterList contains a list of MetalStackCluster.

func (*MetalStackClusterList) DeepCopy

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

func (*MetalStackClusterList) DeepCopyInto

func (in *MetalStackClusterList) DeepCopyInto(out *MetalStackClusterList)

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

func (*MetalStackClusterList) DeepCopyObject

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

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

type MetalStackClusterSpec

type MetalStackClusterSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint,omitempty"`

	// ProjectID is the project id of the project in metal-stack in which the associated metal-stack resources are created.
	ProjectID string `json:"projectID"`

	// NodeNetworkID is the network ID in metal-stack in which the worker nodes and the firewall of the cluster are placed.
	// If not provided this will automatically be acquired during reconcile. Note that this field is not patched after auto-acquisition.
	// The ID of the auto-acquired network can be looked up in the status resource instead.
	// +optional
	NodeNetworkID *string `json:"nodeNetworkID,omitempty"`

	// ControlPlaneIP is the ip address in metal-stack on which the control plane will be exposed.
	// If this ip and the control plane endpoint are not provided this will automatically be acquired during reconcile. Note that this field is not patched after auto-acquisition.
	// The address of the auto-acquired ip can be looked up in the control plane endpoint.
	// +optional
	ControlPlaneIP *string `json:"controlPlaneIP,omitempty"`

	// Partition is the data center partition in which the resources are created.
	Partition string `json:"partition"`

	// Firewall describes the firewall for this cluster.
	// If not provided this will automatically be created during reconcile.
	// +optional
	Firewall *Firewall `json:"firewall,omitempty"`
}

MetalStackClusterSpec defines the desired state of MetalStackCluster.

func (*MetalStackClusterSpec) DeepCopy

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

func (*MetalStackClusterSpec) DeepCopyInto

func (in *MetalStackClusterSpec) DeepCopyInto(out *MetalStackClusterSpec)

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

type MetalStackClusterStatus

type MetalStackClusterStatus struct {
	// Ready denotes that the cluster is ready.
	Ready bool `json:"ready"`

	// FailureReason indicates that there is a fatal problem reconciling the
	// state, and will be set to a token value suitable for
	// programmatic interpretation.
	// +optional
	FailureReason *capierrors.ClusterStatusError `json:"failureReason,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"`

	// Conditions defines current service state of the MetalStackCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// NodeCIDR is set as soon as the node network was created.
	// +optional
	NodeCIDR *string `json:"nodeCIDR,omitempty"`
	// NodeNetworkID is set as soon as the node network was created.
	// +optional
	NodeNetworkID *string `json:"nodeNetworkID,omitempty"`
}

MetalStackClusterStatus defines the observed state of MetalStackCluster.

func (*MetalStackClusterStatus) DeepCopy

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

func (*MetalStackClusterStatus) DeepCopyInto

func (in *MetalStackClusterStatus) DeepCopyInto(out *MetalStackClusterStatus)

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

type MetalStackMachine

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

	Spec   MetalStackMachineSpec   `json:"spec,omitempty"`
	Status MetalStackMachineStatus `json:"status,omitempty"`
}

MetalStackMachine is the Schema for the metalstackmachines API.

func (*MetalStackMachine) DeepCopy

func (in *MetalStackMachine) DeepCopy() *MetalStackMachine

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

func (*MetalStackMachine) DeepCopyInto

func (in *MetalStackMachine) DeepCopyInto(out *MetalStackMachine)

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

func (*MetalStackMachine) DeepCopyObject

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

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

func (*MetalStackMachine) GetConditions

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

GetConditions returns the list of conditions.

func (*MetalStackMachine) SetConditions

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

SetConditions will set the given conditions.

type MetalStackMachineList

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

MetalStackMachineList contains a list of MetalStackMachine.

func (*MetalStackMachineList) DeepCopy

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

func (*MetalStackMachineList) DeepCopyInto

func (in *MetalStackMachineList) DeepCopyInto(out *MetalStackMachineList)

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

func (*MetalStackMachineList) DeepCopyObject

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

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

type MetalStackMachineSpec

type MetalStackMachineSpec struct {
	// ProviderID points to the metal-stack machine ID.
	// +optional
	ProviderID string `json:"providerID"`

	// Image is the operating system to deploy on the machine
	Image string `json:"image"`

	// Size is the size of the machine
	Size string `json:"size"`
}

MetalStackMachineSpec defines the desired state of MetalStackMachine.

func (*MetalStackMachineSpec) DeepCopy

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

func (*MetalStackMachineSpec) DeepCopyInto

func (in *MetalStackMachineSpec) DeepCopyInto(out *MetalStackMachineSpec)

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

type MetalStackMachineStatus

type MetalStackMachineStatus struct {
	// Ready denotes that the machine is ready.
	Ready bool `json:"ready"`

	// FailureReason indicates that there is a fatal problem reconciling the
	// state, and will be set to a token value suitable for
	// programmatic interpretation.
	// +optional
	FailureReason *capierrors.MachineStatusError `json:"failureReason,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"`

	// Conditions defines current service state of the MetalStackMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// MachineAddresses contains all host names, external or internal IP addresses and external or internal DNS names.
	Addresses clusterv1.MachineAddresses `json:"addresses,omitempty"`
}

MetalStackMachineStatus defines the observed state of MetalStackMachine.

func (*MetalStackMachineStatus) DeepCopy

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

func (*MetalStackMachineStatus) DeepCopyInto

func (in *MetalStackMachineStatus) DeepCopyInto(out *MetalStackMachineStatus)

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

type MetalStackMachineTemplate

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

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

MetalStackMachineTemplate is the Schema for the inframachinetemplates API.

func (*MetalStackMachineTemplate) DeepCopy

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

func (*MetalStackMachineTemplate) DeepCopyInto

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

func (*MetalStackMachineTemplate) DeepCopyObject

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

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

type MetalStackMachineTemplateList

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

MetalStackMachineTemplateList contains a list of MetalStackMachineTemplate.

func (*MetalStackMachineTemplateList) DeepCopy

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

func (*MetalStackMachineTemplateList) DeepCopyInto

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

func (*MetalStackMachineTemplateList) DeepCopyObject

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

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

type MetalStackMachineTemplateResource

type MetalStackMachineTemplateResource struct {
	Spec MetalStackMachineSpec `json:"spec"`
}

MetalStackMachineTemplateResource describes the data needed to create a metal-stack machine from a template.

func (*MetalStackMachineTemplateResource) DeepCopy

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

func (*MetalStackMachineTemplateResource) DeepCopyInto

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

type MetalStackMachineTemplateSpec

type MetalStackMachineTemplateSpec struct {
	Template MetalStackMachine `json:"template"`
}

MetalStackMachineTemplateSpec defines the desired state of MetalStackMachineTemplateSpec.

func (*MetalStackMachineTemplateSpec) DeepCopy

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

func (*MetalStackMachineTemplateSpec) DeepCopyInto

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

Jump to

Keyboard shortcuts

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