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
- Variables
- type MetalStackCluster
- func (in *MetalStackCluster) DeepCopy() *MetalStackCluster
- func (in *MetalStackCluster) DeepCopyInto(out *MetalStackCluster)
- func (in *MetalStackCluster) DeepCopyObject() runtime.Object
- func (cluster *MetalStackCluster) GetClusterIDTag() string
- func (cluster *MetalStackCluster) GetFirewallNamespacedName() types.NamespacedName
- func (*MetalStackCluster) Hub()
- type MetalStackClusterList
- type MetalStackClusterSpec
- type MetalStackClusterStatus
- type MetalStackFirewall
- type MetalStackFirewallList
- type MetalStackFirewallSpec
- type MetalStackFirewallStatus
- type MetalStackMachine
- type MetalStackMachineList
- type MetalStackMachineSpec
- type MetalStackMachineStatus
- type MetalStackMachineTemplate
- type MetalStackMachineTemplateList
- type MetalStackMachineTemplateResource
- type MetalStackMachineTemplateSpec
- type MetalStackResourceStatus
Constants ¶
const (
MetalStackClusterFinalizer = "metalstackcluster.infrastructure.cluster.x-k8s.io"
)
const MetalStackFirewallFinalizer = "metalstackfirewall.infrastructure.cluster.x-k8s.io"
const (
MetalStackMachineFinalizer = "metalstackmachine.infrastructure.cluster.x-k8s.io"
)
Variables ¶
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 )
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") )
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 ¶
func (in *MetalStackClusterList) DeepCopy() *MetalStackClusterList
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 ¶
func (in *MetalStackClusterSpec) DeepCopy() *MetalStackClusterSpec
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 ¶
func (in *MetalStackClusterStatus) DeepCopy() *MetalStackClusterStatus
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 ¶
func (in *MetalStackFirewallList) DeepCopy() *MetalStackFirewallList
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 ¶
func (in *MetalStackFirewallSpec) DeepCopy() *MetalStackFirewallSpec
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 ¶
func (in *MetalStackFirewallStatus) DeepCopy() *MetalStackFirewallStatus
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 ¶
func (in *MetalStackMachineList) DeepCopy() *MetalStackMachineList
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 ¶
func (in *MetalStackMachineSpec) DeepCopy() *MetalStackMachineSpec
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 ¶
func (in *MetalStackMachineStatus) DeepCopy() *MetalStackMachineStatus
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 ¶
func (st *MetalStackMachineStatus) SetFailure(msg string, err clustererr.MachineStatusError)
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 ¶
func (in *MetalStackMachineTemplate) DeepCopy() *MetalStackMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalStackMachineTemplate.
func (*MetalStackMachineTemplate) DeepCopyInto ¶
func (in *MetalStackMachineTemplate) DeepCopyInto(out *MetalStackMachineTemplate)
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 ¶
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 ¶
func (in *MetalStackMachineTemplateList) DeepCopy() *MetalStackMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalStackMachineTemplateList.
func (*MetalStackMachineTemplateList) DeepCopyInto ¶
func (in *MetalStackMachineTemplateList) DeepCopyInto(out *MetalStackMachineTemplateList)
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 ¶
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 ¶
func (in *MetalStackMachineTemplateResource) DeepCopy() *MetalStackMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalStackMachineTemplateResource.
func (*MetalStackMachineTemplateResource) DeepCopyInto ¶
func (in *MetalStackMachineTemplateResource) DeepCopyInto(out *MetalStackMachineTemplateResource)
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 ¶
func (in *MetalStackMachineTemplateSpec) DeepCopy() *MetalStackMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetalStackMachineTemplateSpec.
func (*MetalStackMachineTemplateSpec) DeepCopyInto ¶
func (in *MetalStackMachineTemplateSpec) DeepCopyInto(out *MetalStackMachineTemplateSpec)
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.