v1alpha4

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	MetalStackClusterFinalizer = "metalstackcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const MetalStackFirewallFinalizer = "metalstackfirewall.infrastructure.cluster.x-k8s.io"
View Source
const (
	MetalStackMachineFinalizer = "metalstackmachine.infrastructure.cluster.x-k8s.io"
)

Variables

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

	// 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 (
	// MetalStackResourceStatusNew represents a MetalStack resource requested.
	// The MetalStack infrastructure uses a queue to avoid any abuse. So a resource
	// does not get created straight away but it can wait for a bit in a queue.
	MetalStackResourceStatusNew = MetalStackResourceStatus("new")
	// MetalStackResourceStatusQueued represents a machine waiting for his turn to be provisioned.
	// Time in queue depends on how many creation requests you already issued, or
	// from how many resources waiting to be deleted we have for you.
	MetalStackResourceStatusQueued = MetalStackResourceStatus("queued")
	// MetalStackResourceStatusProvisioning represents a resource that got dequeued
	// and it is actively processed by a worker.
	MetalStackResourceStatusProvisioning = MetalStackResourceStatus("provisioning")
	// MetalStackResourceStatusRunning represents a MetalStack resource already provisioned and in a active state.
	MetalStackResourceStatusRunning = MetalStackResourceStatus("active")
	// MetalStackResourceStatusErrored represents a MetalStack resource in a errored state.
	MetalStackResourceStatusErrored = MetalStackResourceStatus("errored")
	// MetalStackResourceStatusOff represents a MetalStack resource in off state.
	MetalStackResourceStatusOff = MetalStackResourceStatus("off")
)
View Source
var ProviderIDNotSet = errors.New("ProviderID is not set")

Functions

This section is empty.

Types

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) GetClusterIDTag

func (cluster *MetalStackCluster) GetClusterIDTag() string

func (*MetalStackCluster) GetFirewallNamespacedName

func (cluster *MetalStackCluster) GetFirewallNamespacedName() types.NamespacedName

func (*MetalStackCluster) Hub

func (*MetalStackCluster) Hub()

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.

func (*MetalStackClusterList) Hub

func (*MetalStackClusterList) Hub()

type MetalStackClusterSpec

type MetalStackClusterSpec struct {

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	ControlPlaneEndpoint v1alpha4.APIEndpoint `json:"controlPlaneEndpoint,omitempty"`

	// ProjectID is the projectID of the project in which K8s cluster should be deployed
	ProjectID string `json:"projectID,omitempty"`

	// Partition is the physical location where the cluster will be created
	Partition string `json:"partition,omitempty"`

	// PublicNetworkID is the id of the network that provides access to the internet
	PublicNetworkID string `json:"publicNetworkID"`

	// PrivateNetworkID is the id of the network which connects the machine together
	// +optional
	PrivateNetworkID *string `json:"privateNetworkID,omitempty"`

	// FirewallSpec is spec for MetalStackFirewall resource
	FirewallSpec MetalStackFirewallSpec `json:"firewallSpec,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 (infrastructure) is ready.
	// +optional
	Ready bool `json:"ready"`

	// ControlPlaneIPAllocated denotes that IP for Control Plane was allocated successfully.
	ControlPlaneIPAllocated bool `json:"controlPlaneIPAllocated"`

	// FailureReason indicates there is a fatal problem reconciling the provider’s infrastructure.
	// Meant to be suitable for programmatic interpretation
	// +optional
	FailureReason *capierrors.ClusterStatusError `json:"failureReason,omitempty"`

	// FailureMessage indicates there is a fatal problem reconciling the provider’s infrastructure.
	// Meant to be a more descriptive value than failureReason
	// +optional
	FailureMessage *string `json:"failureMessage,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 MetalStackFirewall

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

	Spec   MetalStackFirewallSpec   `json:"spec,omitempty"`
	Status MetalStackFirewallStatus `json:"status,omitempty"`
}

MetalStackFirewall is the Schema for the metalstackfirewalls API

func (*MetalStackFirewall) DeepCopy

func (in *MetalStackFirewall) DeepCopy() *MetalStackFirewall

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

func (*MetalStackFirewall) DeepCopyInto

func (in *MetalStackFirewall) DeepCopyInto(out *MetalStackFirewall)

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

func (*MetalStackFirewall) DeepCopyObject

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

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

func (*MetalStackFirewall) Hub

func (*MetalStackFirewall) Hub()

type MetalStackFirewallList

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

MetalStackFirewallList contains a list of MetalStackFirewall

func (*MetalStackFirewallList) DeepCopy

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

func (*MetalStackFirewallList) DeepCopyInto

func (in *MetalStackFirewallList) DeepCopyInto(out *MetalStackFirewallList)

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

func (*MetalStackFirewallList) DeepCopyObject

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

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

func (*MetalStackFirewallList) Hub

func (*MetalStackFirewallList) Hub()

type MetalStackFirewallSpec

type MetalStackFirewallSpec struct {
	// OS image
	Image string `json:"image,omitempty"`

	// Machine type(currently specifies only size)
	MachineType string `json:"machineType"`

	// ProviderID specifies the machine on which the firewall should be deployed
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// public SSH keys for machine
	// +optional
	SSHKeys []string `json:"sshKeys,omitempty"`
}

MetalStackFirewallSpec defines the desired state of MetalStackFirewall

func (*MetalStackFirewallSpec) DeepCopy

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

func (*MetalStackFirewallSpec) DeepCopyInto

func (in *MetalStackFirewallSpec) DeepCopyInto(out *MetalStackFirewallSpec)

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

func (*MetalStackFirewallSpec) ParsedProviderID

func (s *MetalStackFirewallSpec) ParsedProviderID() (string, error)

func (*MetalStackFirewallSpec) SetProviderID

func (s *MetalStackFirewallSpec) SetProviderID(ID string)

type MetalStackFirewallStatus

type MetalStackFirewallStatus struct {
	Ready bool `json:"ready,omitempty"`
}

MetalStackFirewallStatus defines the observed state of MetalStackFirewall

func (*MetalStackFirewallStatus) DeepCopy

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

func (*MetalStackFirewallStatus) DeepCopyInto

func (in *MetalStackFirewallStatus) DeepCopyInto(out *MetalStackFirewallStatus)

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) Hub

func (*MetalStackMachine) Hub()

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.

func (*MetalStackMachineList) Hub

func (*MetalStackMachineList) Hub()

type MetalStackMachineSpec

type MetalStackMachineSpec struct {

	// OS image
	Image string `json:"image"`

	// Machine type(currently specifies only size)
	MachineType string `json:"machineType"`

	// ID of Metal Stack machine
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// public SSH keys for machine
	// +optional
	SSHKeys []string `json:"sshKeys,omitempty"`

	// Set of tags to add to Metal Stack machine
	// +optional
	Tags []string `json:"tags,omitempty"`
}

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.

func (*MetalStackMachineSpec) ParsedProviderID

func (spec *MetalStackMachineSpec) ParsedProviderID() (string, error)

func (*MetalStackMachineSpec) SetProviderID

func (spec *MetalStackMachineSpec) SetProviderID(ID string)

type MetalStackMachineStatus

type MetalStackMachineStatus struct {

	// Addresses contains the MetalStack machine associated addresses.
	// +optional
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	ErrorReason *clustererr.MachineStatusError `json:"errorReason,omitempty"`

	// ErrorMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// +optional
	FailureReason *clustererr.MachineStatusError `json:"failureReason,omitempty"`

	// InstanceStatus is the status of the MetalStack machine instance for this machine.
	// +optional
	InstanceStatus *MetalStackResourceStatus `json:"instanceStatus,omitempty"`

	// +optional
	LLDP bool `json:"lldp,omitempty"`

	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`
}

todo: Ideally most of the status provided by `metal-API` should be shown here. todo: Implement the logic to updating the status. 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.

func (*MetalStackMachineStatus) Failed

func (st *MetalStackMachineStatus) Failed() bool

func (*MetalStackMachineStatus) SetFailure

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 metalstackmachinetemplates 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.

func (*MetalStackMachineTemplate) Hub

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.

func (*MetalStackMachineTemplateList) Hub

type MetalStackMachineTemplateResource

type MetalStackMachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec MetalStackMachineSpec `json:"spec"`
}

MetalStackMachineTemplateResource describes the data needed to create am MetalStackMachine 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 MetalStackMachineTemplateResource `json:"template"`
}

MetalStackMachineTemplateSpec defines the desired state of MetalStackMachineTemplate

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.

type MetalStackResourceStatus

type MetalStackResourceStatus string

MetalStackResourceStatus describes the status of a MetalStack resource.

Jump to

Keyboard shortcuts

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