v1alpha4

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2021 License: Apache-2.0 Imports: 12 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 (
	MachineDeployedCondition clusterv1.ConditionType = "MachineDeployed"

	// WaitingForClusterInfrastructureReason (Severity=Info) documents a MachineMachine waiting for the cluster
	// infrastructure to be ready before starting to deploy the machine that provides the MachineMachine
	// infrastructure.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"

	// WaitingForBootstrapDataReason (Severity=Info) documents a MachineMachine waiting for the bootstrap
	// script to be ready before starting to create the container that provides the MachineMachine infrastructure.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"

	// MachineDeployingReason
	MachineDeployingReason = "MachineDeploying"

	// MachineTerminatedReason
	MachineTerminatedReason = "MachineTerminatedReason"

	// MachineDeployingReason
	MachinePoweredOffReason = "MachinePoweredOff"

	// MachineNotFoundReason used when the machine couldn't be retrieved.
	MachineNotFoundReason = "MachineNotFound"

	// MachineDeployFailedReason (Severity=Warning) documents a MachineMachine controller detecting
	// an error while deploying the MaaS machine that provides the MachineMachine infrastructure; those kind of
	// errors are usually transient and failed provisioning are automatically re-tried by the controller.
	MachineDeployFailedReason = "MachineDeployFailed"

	// MachineDeployStartedReason (Severity=Info) documents a MachineMachine controller started deploying
	MachineDeployStartedReason = "MachineDeployStartedReason"
)
View Source
const (
	// Only applicable to control plane machines. DNSAttachedCondition will report true when a control plane is successfully registered with an DNS
	// When set to false, severity can be an Error if the subnet is not found or unavailable in the instance's AZ
	DNSAttachedCondition clusterv1.ConditionType = "DNSAttached"

	DNSDetachPending = "DNSDetachPending"
	DNSAttachPending = "DNSAttachPending"
)
View Source
const (
	// DNSReadyCondition documents the availability of the container that implements the cluster DNS.
	DNSReadyCondition clusterv1.ConditionType = "LoadBalancerReady"

	// LoadBalancerProvisioningFailedReason (Severity=Warning) documents a MAASCluster controller detecting
	// dns reconcile failure will be retried
	DNSFailedReason = "LoadBalancerFailed"

	WaitForDNSNameReason = "WaitForDNSName"
)
View Source
const (
	// APIServerAvailableCondition documents whether API server is reachable
	APIServerAvailableCondition clusterv1.ConditionType = "APIServerAvailable"

	// APIServerNotReadyReason api server isn't responding
	APIServerNotReadyReason = "APIServerNotReady"
)
View Source
const (
	// ClusterFinalizer allows MaasClusterReconciler to clean up resources associated with MaasCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "maascluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows MaasMachineReconciler to clean up resources associated with MaasMachine before
	// removing it from the apiserver.
	MachineFinalizer = "maasmachine.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 (
	// MachineStateAllocated is the string representing an instance in a ready (commissioned) state
	MachineStateAllocated = MachineState("Allocated")

	//MachineStateDeploying is the string representing an instance in a deploying state
	MachineStateDeploying = MachineState("Deploying")

	// MachineStateDeployed is the string representing an instance in a pending state
	MachineStateDeployed = MachineState("Deployed")

	// MachineStateReady is the string representing an instance in a ready (commissioned) state
	MachineStateReady = MachineState("Ready")

	// MachineStateDiskErasing is the string representing an instance which is releasing (disk)
	MachineStateDiskErasing = MachineState("Disk erasing")

	// MachineStateDiskErasing is the string representing an instance which is releasing
	MachineStateReleasing = MachineState("Releasing")

	// MachineStateNew is the string representing an instance which is not yet commissioned
	MachineStateNew = MachineState("New")

	// MachineRunningStates defines the set of states in which an MaaS instance is
	// running or going to be running soon
	MachineRunningStates = sets.NewString(
		string(MachineStateDeploying),
		string(MachineStateDeployed),
	)

	// MachineOperationalStates defines the set of states in which an MaaS instance is
	// or can return to running, and supports all MaaS operations
	MachineOperationalStates = MachineRunningStates.Union(
		sets.NewString(
			string(MachineStateAllocated),
		),
	)

	// MachineKnownStates represents all known MaaS instance states
	MachineKnownStates = MachineOperationalStates.Union(
		sets.NewString(
			string(MachineStateDiskErasing),
			string(MachineStateReleasing),
			string(MachineStateReady),
			string(MachineStateNew),
		),
	)
)

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.

func (APIEndpoint) IsZero

func (in APIEndpoint) IsZero() bool

IsZero returns true if both host and port are zero values.

type MaasCluster

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

	Spec   MaasClusterSpec   `json:"spec,omitempty"`
	Status MaasClusterStatus `json:"status,omitempty"`
}

MaasCluster is the Schema for the maasclusters API

func (*MaasCluster) DeepCopy

func (in *MaasCluster) DeepCopy() *MaasCluster

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

func (*MaasCluster) DeepCopyInto

func (in *MaasCluster) DeepCopyInto(out *MaasCluster)

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

func (*MaasCluster) DeepCopyObject

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

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

func (*MaasCluster) Default

func (r *MaasCluster) Default()

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

func (*MaasCluster) GetConditions

func (in *MaasCluster) GetConditions() clusterv1.Conditions

func (*MaasCluster) Hub

func (*MaasCluster) Hub()

func (*MaasCluster) SetConditions

func (in *MaasCluster) SetConditions(conditions clusterv1.Conditions)

func (*MaasCluster) SetupWebhookWithManager

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

func (*MaasCluster) ValidateCreate

func (r *MaasCluster) ValidateCreate() error

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

func (*MaasCluster) ValidateDelete

func (r *MaasCluster) ValidateDelete() error

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

func (*MaasCluster) ValidateUpdate

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

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

type MaasClusterList

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

MaasClusterList contains a list of MaasCluster

func (*MaasClusterList) DeepCopy

func (in *MaasClusterList) DeepCopy() *MaasClusterList

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

func (*MaasClusterList) DeepCopyInto

func (in *MaasClusterList) DeepCopyInto(out *MaasClusterList)

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

func (*MaasClusterList) DeepCopyObject

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

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

func (*MaasClusterList) Hub

func (*MaasClusterList) Hub()

type MaasClusterSpec

type MaasClusterSpec struct {
	// DNSDomain configures the MaaS domain to create the cluster on (e.g maas)
	// +kubebuilder:validation:MinLength=1
	DNSDomain string `json:"dnsDomain"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint APIEndpoint `json:"controlPlaneEndpoint"`

	// FailureDomains are not usually defined on the spec.
	// but useful for MaaS since we can limit the domains to these
	// +optional
	FailureDomains []string `json:"failureDomains,omitempty"`
}

MaasClusterSpec defines the desired state of MaasCluster

func (*MaasClusterSpec) DeepCopy

func (in *MaasClusterSpec) DeepCopy() *MaasClusterSpec

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

func (*MaasClusterSpec) DeepCopyInto

func (in *MaasClusterSpec) DeepCopyInto(out *MaasClusterSpec)

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

type MaasClusterStatus

type MaasClusterStatus struct {
	// Ready denotes that the maas cluster (infrastructure) is ready.
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// Network represents the network
	Network Network `json:"network,omitempty"`

	// FailureDomains don't mean much in CAPMAAS since it's all local, but we can see how the rest of cluster API
	// will use this if we populate it.
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

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

MaasClusterStatus defines the observed state of MaasCluster

func (*MaasClusterStatus) DeepCopy

func (in *MaasClusterStatus) DeepCopy() *MaasClusterStatus

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

func (*MaasClusterStatus) DeepCopyInto

func (in *MaasClusterStatus) DeepCopyInto(out *MaasClusterStatus)

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

type MaasMachine

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

	Spec   MaasMachineSpec   `json:"spec,omitempty"`
	Status MaasMachineStatus `json:"status,omitempty"`
}

MaasMachine is the Schema for the maasmachines API

func (*MaasMachine) DeepCopy

func (in *MaasMachine) DeepCopy() *MaasMachine

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

func (*MaasMachine) DeepCopyInto

func (in *MaasMachine) DeepCopyInto(out *MaasMachine)

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

func (*MaasMachine) DeepCopyObject

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

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

func (*MaasMachine) Default

func (r *MaasMachine) Default()

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

func (*MaasMachine) GetConditions

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

func (*MaasMachine) Hub

func (*MaasMachine) Hub()

func (*MaasMachine) SetConditions

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

func (*MaasMachine) SetupWebhookWithManager

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

func (*MaasMachine) ValidateCreate

func (r *MaasMachine) ValidateCreate() error

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

func (*MaasMachine) ValidateDelete

func (r *MaasMachine) ValidateDelete() error

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

func (*MaasMachine) ValidateUpdate

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

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

type MaasMachineList

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

MaasMachineList contains a list of MaasMachine

func (*MaasMachineList) DeepCopy

func (in *MaasMachineList) DeepCopy() *MaasMachineList

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

func (*MaasMachineList) DeepCopyInto

func (in *MaasMachineList) DeepCopyInto(out *MaasMachineList)

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

func (*MaasMachineList) DeepCopyObject

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

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

func (*MaasMachineList) Hub

func (*MaasMachineList) Hub()

type MaasMachineSpec

type MaasMachineSpec struct {

	// FailureDomain is the failure domain the machine will be created in.
	// Must match a key in the FailureDomains map stored on the cluster object.
	// +optional
	FailureDomain *string `json:"failureDomain,omitempty"`

	// SystemID will be the MaaS machine ID
	// +optional
	SystemID *string `json:"systemID,omitempty"`

	// ProviderID will be the name in ProviderID format (maas://<zone>/system_id)
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// ResourcePool will be the MAAS Machine resourcepool
	// +optional
	ResourcePool *string `json:"resourcePool,omitempty"`

	// MinCPU minimum number of CPUs
	// +kubebuilder:validation:Minimum=0
	MinCPU *int `json:"minCPU"`

	// MinMemoryInMB minimum memory in MB
	// +kubebuilder:validation:Minimum=0
	MinMemoryInMB *int `json:"minMemory"`

	// Image will be the MaaS image id
	// +kubebuilder:validation:MinLength=1
	Image string `json:"image"`
}

MaasMachineSpec defines the desired state of MaasMachine

func (*MaasMachineSpec) DeepCopy

func (in *MaasMachineSpec) DeepCopy() *MaasMachineSpec

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

func (*MaasMachineSpec) DeepCopyInto

func (in *MaasMachineSpec) DeepCopyInto(out *MaasMachineSpec)

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

type MaasMachineStatus

type MaasMachineStatus struct {

	// Ready denotes that the machine (maas container) is ready
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// MachineState is the state of this MAAS machine.
	MachineState *MachineState `json:"machineState,omitempty"`

	// MachinePowered is if the machine is "Powered" on
	MachinePowered bool `json:"machinePowered,omitempty"`

	// Hostname is the actual MaaS hostname
	Hostname *string `json:"hostname,omitempty"`

	// DNSAttached specifies whether the DNS record contains the IP of this machine
	DNSAttached bool `json:"dnsAttached,omitempty"`

	// Addresses contains the associated addresses for the maas machine.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

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

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage 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.
	FailureMessage *string `json:"failureMessage,omitempty"`
}

MaasMachineStatus defines the observed state of MaasMachine

func (*MaasMachineStatus) DeepCopy

func (in *MaasMachineStatus) DeepCopy() *MaasMachineStatus

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

func (*MaasMachineStatus) DeepCopyInto

func (in *MaasMachineStatus) DeepCopyInto(out *MaasMachineStatus)

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

type MaasMachineTemplate

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

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

MaasMachineTemplate is the Schema for the maasmachinetemplates API

func (*MaasMachineTemplate) DeepCopy

func (in *MaasMachineTemplate) DeepCopy() *MaasMachineTemplate

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

func (*MaasMachineTemplate) DeepCopyInto

func (in *MaasMachineTemplate) DeepCopyInto(out *MaasMachineTemplate)

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

func (*MaasMachineTemplate) DeepCopyObject

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

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

func (*MaasMachineTemplate) Default

func (r *MaasMachineTemplate) Default()

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

func (*MaasMachineTemplate) Hub

func (*MaasMachineTemplate) Hub()

func (*MaasMachineTemplate) SetupWebhookWithManager

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

func (*MaasMachineTemplate) ValidateCreate

func (r *MaasMachineTemplate) ValidateCreate() error

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

func (*MaasMachineTemplate) ValidateDelete

func (r *MaasMachineTemplate) ValidateDelete() error

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

func (*MaasMachineTemplate) ValidateUpdate

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

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

type MaasMachineTemplateList

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

MaasMachineTemplateList contains a list of MaasMachineTemplate

func (*MaasMachineTemplateList) DeepCopy

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

func (*MaasMachineTemplateList) DeepCopyInto

func (in *MaasMachineTemplateList) DeepCopyInto(out *MaasMachineTemplateList)

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

func (*MaasMachineTemplateList) DeepCopyObject

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

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

func (*MaasMachineTemplateList) Hub

func (*MaasMachineTemplateList) Hub()

type MaasMachineTemplateResource

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

MaasMachineTemplateResource describes the data needed to create a MaasMachine from a template

func (*MaasMachineTemplateResource) DeepCopy

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

func (*MaasMachineTemplateResource) DeepCopyInto

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

type MaasMachineTemplateSpec

type MaasMachineTemplateSpec struct {
	Template MaasMachineTemplateResource `json:"template"`
}

MaasMachineTemplateSpec defines the desired state of MaasMachineTemplate

func (*MaasMachineTemplateSpec) DeepCopy

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

func (*MaasMachineTemplateSpec) DeepCopyInto

func (in *MaasMachineTemplateSpec) DeepCopyInto(out *MaasMachineTemplateSpec)

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

type Machine

type Machine struct {
	ID string

	// Hostname is the hostname
	Hostname string

	// The current state of the machine.
	State MachineState

	// The current state of the machine.
	Powered bool

	// The AZ of the machine
	AvailabilityZone string

	// Addresses contains the MAAS Machine associated addresses.
	Addresses []clusterv1.MachineAddress
}

Instance describes an MAAS Machine.

func (*Machine) DeepCopy

func (in *Machine) DeepCopy() *Machine

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

func (*Machine) DeepCopyInto

func (in *Machine) DeepCopyInto(out *Machine)

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

type MachineState

type MachineState string

MachineState describes the state of an MAAS Machine.

type Network

type Network struct {
	// DNSName is the Kubernetes api server name
	DNSName string `json:"dnsName,omitempty"`
}

Network encapsulates the Cluster Network

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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