Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the controlplane v1alpha1 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io
Index ¶
- Variables
- type AddonsSpec
- type ControlPlaneComponent
- type CoreDNSAddonSpec
- type DeploymentComponent
- type ExternalClusterReference
- type IngressComponent
- type KineComponent
- type LoadBalancerConfig
- type NetworkComponent
- type StewardControlPlane
- type StewardControlPlaneConditionType
- type StewardControlPlaneFields
- type StewardControlPlaneList
- type StewardControlPlaneSpec
- type StewardControlPlaneStatus
- type StewardControlPlaneTemplate
- type StewardControlPlaneTemplateList
- type StewardControlPlaneTemplateResource
- type StewardControlPlaneTemplateSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "controlplane.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 )
Functions ¶
This section is empty.
Types ¶
type AddonsSpec ¶
type AddonsSpec struct {
stewardv1alpha1.AddonsSpec `json:",inline"`
CoreDNS *CoreDNSAddonSpec `json:"coreDNS,omitempty"` //nolint:tagliatelle
}
AddonsSpec defines the enabled addons and their features.
func (*AddonsSpec) DeepCopy ¶
func (in *AddonsSpec) DeepCopy() *AddonsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsSpec.
func (*AddonsSpec) DeepCopyInto ¶
func (in *AddonsSpec) DeepCopyInto(out *AddonsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlPlaneComponent ¶
type ControlPlaneComponent struct {
ExtraVolumeMounts []corev1.VolumeMount `json:"extraVolumeMounts,omitempty"`
ExtraArgs []string `json:"extraArgs,omitempty"`
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// In combination with the container registry, it can override the component container image.
// With no value, the default images will be used.
// +kubebuilder:validation:MinLength=1
ContainerImageName string `json:"containerImageName,omitempty"`
}
ControlPlaneComponent allows the customization for the given component of the control plane.
func (*ControlPlaneComponent) DeepCopy ¶
func (in *ControlPlaneComponent) DeepCopy() *ControlPlaneComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneComponent.
func (*ControlPlaneComponent) DeepCopyInto ¶
func (in *ControlPlaneComponent) DeepCopyInto(out *ControlPlaneComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CoreDNSAddonSpec ¶
type CoreDNSAddonSpec struct {
*stewardv1alpha1.AddonSpec `json:",inline"`
// DNSServiceIPs contains the CoreDNS Service IPs.
// When set to an empty slice, Steward will automatically inflect it from the Service CIDR.
DNSServiceIPs []string `json:"dnsServiceIPs,omitempty"`
}
func (*CoreDNSAddonSpec) DeepCopy ¶
func (in *CoreDNSAddonSpec) DeepCopy() *CoreDNSAddonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNSAddonSpec.
func (*CoreDNSAddonSpec) DeepCopyInto ¶
func (in *CoreDNSAddonSpec) DeepCopyInto(out *CoreDNSAddonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentComponent ¶
type DeploymentComponent struct {
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
RuntimeClassName string `json:"runtimeClassName,omitempty"`
// AdditionalMetadata refers to the additional labels and annotations attached
// to the resulting Deployment managed by Steward.
AdditionalMetadata stewardv1alpha1.AdditionalMetadata `json:"additionalMetadata,omitempty"`
// PodAdditionalMetadata defines the additional labels and annotations that must be attached
// to the resulting Pods managed by the Deployment.
PodAdditionalMetadata stewardv1alpha1.AdditionalMetadata `json:"podAdditionalMetadata,omitempty"`
ServiceAccountName string `json:"serviceAccountName,omitempty"`
Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty"`
Affinity *corev1.Affinity `json:"affinity,omitempty"`
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
ExtraInitContainers []corev1.Container `json:"extraInitContainers,omitempty"`
ExtraContainers []corev1.Container `json:"extraContainers,omitempty"`
ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"`
// ExternalClusterReference allows defining the target Cluster where the Tenant Control Plane components must be deployed.
// When this value is nil, the Cluster API management cluster will be used as a target.
// The ExternalClusterReference feature gate must be enabled with one of the available flags.
ExternalClusterReference *ExternalClusterReference `json:"externalClusterReference,omitempty"`
}
func (*DeploymentComponent) DeepCopy ¶
func (in *DeploymentComponent) DeepCopy() *DeploymentComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentComponent.
func (*DeploymentComponent) DeepCopyInto ¶
func (in *DeploymentComponent) DeepCopyInto(out *DeploymentComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterReference ¶
type ExternalClusterReference struct {
// The Secret object containing the kubeconfig used to interact with the remote cluster that will host
// the Tenant Control Plane resources generated by the Control Plane Provider.
// +kubebuilder:required
// +kubebuilder:validation:MinLength=1
KubeconfigSecretName string `json:"kubeconfigSecretName"`
// The key used to extract the kubeconfig from the specified Secret.
// +kubebuilder:required
// +kubebuilder:validation:MinLength=1
KubeconfigSecretKey string `json:"kubeconfigSecretKey"`
// When ExternalClusterReferenceCrossNamespace is enabled allows specifying a different Namespace where the kubeconfig can be retrieved.
// With ExternalClusterReference this value can be left empty since the StewardControlPlane object Namespace will be used.
KubeconfigSecretNamespace string `json:"kubeconfigSecretNamespace,omitempty"`
// The Namespace where the resulting TenantControlPlane must be deployed to.
DeploymentNamespace string `json:"deploymentNamespace"`
}
func (*ExternalClusterReference) DeepCopy ¶
func (in *ExternalClusterReference) DeepCopy() *ExternalClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterReference.
func (*ExternalClusterReference) DeepCopyInto ¶
func (in *ExternalClusterReference) DeepCopyInto(out *ExternalClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressComponent ¶
type IngressComponent struct {
// Defines the Ingress Class for the Ingress object.
ClassName string `json:"className,omitempty"`
// Defines the hostname for the Ingress object.
// When using an Ingress object the FQDN is automatically added to the Certificate SANs.
// +kubebuilder:required
// +kubebuilder:validation:MinLength=1
Hostname string `json:"hostname"`
// Defines the extra labels for the Ingress object.
ExtraLabels map[string]string `json:"extraLabels,omitempty"`
// Defines the extra annotations for the Ingress object.
// Useful if you need to define TLS/SSL passthrough, or other Ingress Controller-specific options.
ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"`
}
func (*IngressComponent) DeepCopy ¶
func (in *IngressComponent) DeepCopy() *IngressComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressComponent.
func (*IngressComponent) DeepCopyInto ¶
func (in *IngressComponent) DeepCopyInto(out *IngressComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KineComponent ¶
type KineComponent struct {
ExtraArgs []string `json:"extraArgs,omitempty"`
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}
KineComponent allows the customization for the kine component of the control plane. Available only if Steward is running using Kine as backing storage.
func (*KineComponent) DeepCopy ¶
func (in *KineComponent) DeepCopy() *KineComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KineComponent.
func (*KineComponent) DeepCopyInto ¶
func (in *KineComponent) DeepCopyInto(out *KineComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerConfig ¶
type LoadBalancerConfig struct {
// LoadBalancerSourceRanges restricts the IP ranges that can access
// the LoadBalancer type Service. This field defines a list of IP
// address ranges (in CIDR format) that are allowed to access the service.
// If left empty, the service will allow traffic from all IP ranges (0.0.0.0/0).
// This feature is useful for restricting access to API servers or services
// to specific networks for security purposes.
// Example: {"192.168.1.0/24", "10.0.0.0/8"}
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
// Specify the LoadBalancer class in case of multiple load balancer implementations.
// Field supported only for Tenant Control Plane instances exposed using a LoadBalancer Service.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="LoadBalancerClass is immutable"
LoadBalancerClass *string `json:"loadBalancerClass,omitempty"`
}
LoadBalancerConfig is used when the StewardControlPlane is exposed using a LoadBalancer service type.
func (*LoadBalancerConfig) DeepCopy ¶
func (in *LoadBalancerConfig) DeepCopy() *LoadBalancerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerConfig.
func (*LoadBalancerConfig) DeepCopyInto ¶
func (in *LoadBalancerConfig) DeepCopyInto(out *LoadBalancerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkComponent ¶
type NetworkComponent struct {
// Optional configuration for the LoadBalancer service that exposes the Steward control plane.
LoadBalancerConfig *LoadBalancerConfig `json:"loadBalancerConfig,omitempty"`
// When specified, the StewardControlPlane will be reachable using an Ingress object
// deployed in the management cluster.
Ingress *IngressComponent `json:"ingress,omitempty"`
// +kubebuilder:default="LoadBalancer"
ServiceType stewardv1alpha1.ServiceType `json:"serviceType,omitempty"`
// This field can be used in case of pre-assigned address, such as a VIP,
// helping when serviceType is NodePort.
ServiceAddress string `json:"serviceAddress,omitempty"`
ServiceLabels map[string]string `json:"serviceLabels,omitempty"`
ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
// Configure additional Subject Address Names for the kube-apiserver certificate,
// useful if the TenantControlPlane is going to be exposed behind a FQDN with NAT.
CertSANs []string `json:"certSANs,omitempty"` //nolint:tagliatelle
// DNSServiceIPs contains the DNS Service IPs.
// If the CoreDNS addon is specified, its DNSServiceIPs will be used instead.
// When set to an empty slice, Steward will automatically inflect it from the Service CIDR.
DNSServiceIPs []string `json:"dnsServiceIPs,omitempty"`
}
func (*NetworkComponent) DeepCopy ¶
func (in *NetworkComponent) DeepCopy() *NetworkComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkComponent.
func (*NetworkComponent) DeepCopyInto ¶
func (in *NetworkComponent) DeepCopyInto(out *NetworkComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StewardControlPlane ¶
type StewardControlPlane struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec StewardControlPlaneSpec `json:"spec,omitempty"`
Status StewardControlPlaneStatus `json:"status,omitempty"`
}
StewardControlPlane is the Schema for the stewardcontrolplanes API.
func (*StewardControlPlane) DeepCopy ¶
func (in *StewardControlPlane) DeepCopy() *StewardControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlane.
func (*StewardControlPlane) DeepCopyInto ¶
func (in *StewardControlPlane) DeepCopyInto(out *StewardControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StewardControlPlane) DeepCopyObject ¶
func (in *StewardControlPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StewardControlPlaneConditionType ¶
type StewardControlPlaneConditionType string
var ( FoundExternalClusterReferenceConditionType StewardControlPlaneConditionType = "FoundExternalReferenceClient" TenantControlPlaneCreatedConditionType StewardControlPlaneConditionType = "TenantControlPlaneCreated" TenantControlPlaneAddressReadyConditionType StewardControlPlaneConditionType = "TenantControlPlaneAddressReady" ControlPlaneEndpointPatchedConditionType StewardControlPlaneConditionType = "ControlPlaneEndpointPatched" InfrastructureClusterPatchedConditionType StewardControlPlaneConditionType = "InfrastructureClusterPatched" StewardControlPlaneInitializedConditionType StewardControlPlaneConditionType = "StewardControlPlaneIsInitialized" StewardControlPlaneReadyConditionType StewardControlPlaneConditionType = "StewardControlPlaneIsReady" KubeadmResourcesCreatedReadyConditionType StewardControlPlaneConditionType = "KubeadmResourcesCreated" )
type StewardControlPlaneFields ¶
type StewardControlPlaneFields struct {
// The Steward DataStore to use for the given TenantControlPlane.
// Retrieve the list of the allowed ones by issuing "kubectl get datastores.steward.butlerlabs.dev".
DataStoreName string `json:"dataStoreName,omitempty"`
// DataStoreSchema allows to specify the name of the database (for relational DataStores) or the key prefix (for etcd)
DataStoreSchema string `json:"dataStoreSchema,omitempty"`
// DataStoreUsername allows to specify the username of the database (for relational DataStores). This
// value is optional and immutable. Note that Steward currently doesn't ensure that DataStoreUsername values are unique. It's up
// to the user to avoid clashes between different TenantControlPlanes. If not set upon creation, Steward will default the
// DataStoreUsername by concatenating the namespace and name of the TenantControlPlane.
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="changing the dataStoreUsername is not supported"
DataStoreUsername string `json:"dataStoreUsername,omitempty"`
// The addons that must be managed by Steward, such as CoreDNS, kube-proxy, and konnectivity.
Addons AddonsSpec `json:"addons,omitempty"`
// List of the admission controllers to configure for the TenantControlPlane kube-apiserver.
// By default, no admission controllers are enabled, refer to the desired Kubernetes version.
//
// More info: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
AdmissionControllers stewardv1alpha1.AdmissionControllers `json:"admissionControllers,omitempty"`
// Override the container registry used to pull the components image.
// Helpful if running in an air-gapped environment.
// +kubebuilder:default="registry.k8s.io"
ContainerRegistry string `json:"registry,omitempty"`
ControllerManager ControlPlaneComponent `json:"controllerManager,omitempty"`
ApiServer ControlPlaneComponent `json:"apiServer,omitempty"` //nolint:revive
Scheduler ControlPlaneComponent `json:"scheduler,omitempty"`
Kine KineComponent `json:"kine,omitempty"`
// Configure the Kubelet options, such as the preferred address types, or the expected cgroupfs.
// +kubebuilder:default={preferredAddressTypes:{"InternalIP","ExternalIP","Hostname"},cgroupfs:"systemd"}
Kubelet stewardv1alpha1.KubeletSpec `json:"kubelet,omitempty"`
// Configure how the TenantControlPlane should be exposed.
// +kubebuilder:default={serviceType:"LoadBalancer"}
Network NetworkComponent `json:"network,omitempty"`
// Configure how the TenantControlPlane Deployment object should be configured.
Deployment DeploymentComponent `json:"deployment,omitempty"`
}
func (*StewardControlPlaneFields) DeepCopy ¶
func (in *StewardControlPlaneFields) DeepCopy() *StewardControlPlaneFields
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneFields.
func (*StewardControlPlaneFields) DeepCopyInto ¶
func (in *StewardControlPlaneFields) DeepCopyInto(out *StewardControlPlaneFields)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StewardControlPlaneList ¶
type StewardControlPlaneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []StewardControlPlane `json:"items"`
}
StewardControlPlaneList contains a list of StewardControlPlane.
func (*StewardControlPlaneList) DeepCopy ¶
func (in *StewardControlPlaneList) DeepCopy() *StewardControlPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneList.
func (*StewardControlPlaneList) DeepCopyInto ¶
func (in *StewardControlPlaneList) DeepCopyInto(out *StewardControlPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StewardControlPlaneList) DeepCopyObject ¶
func (in *StewardControlPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StewardControlPlaneSpec ¶
type StewardControlPlaneSpec struct {
StewardControlPlaneFields `json:",inline"`
// ControlPlaneEndpoint propagates the endpoint the Kubernetes API Server managed by Steward is located.
ControlPlaneEndpoint capiv1beta1.APIEndpoint `json:"controlPlaneEndpoint,omitempty"`
// Number of desired replicas for the given TenantControlPlane.
// Defaults to 2.
// +kubebuilder:default=2
Replicas *int32 `json:"replicas,omitempty"`
// Version defines the desired Kubernetes version.
Version string `json:"version"`
}
StewardControlPlaneSpec defines the desired state of StewardControlPlane.
func (*StewardControlPlaneSpec) DeepCopy ¶
func (in *StewardControlPlaneSpec) DeepCopy() *StewardControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneSpec.
func (*StewardControlPlaneSpec) DeepCopyInto ¶
func (in *StewardControlPlaneSpec) DeepCopyInto(out *StewardControlPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StewardControlPlaneStatus ¶
type StewardControlPlaneStatus struct {
// The TenantControlPlane has completed initialization.
Initialized bool `json:"initialized"`
// The Steward Control Plane is ready to link Cluster API with the Tenant Control Plane.
Ready bool `json:"ready"`
// Total number of fully running and ready control plane instances.
ReadyReplicas int32 `json:"readyReplicas"`
// Total number of non-terminated control plane instances.
Replicas int32 `json:"replicas"`
Selector string `json:"selector"`
// equal to the desired number of control plane instances - ready instances.
UnavailableReplicas int32 `json:"unavailableReplicas"`
// Total number of non-terminated Pods targeted by this control plane that have the desired template spec.
UpdatedReplicas int32 `json:"updatedReplicas"`
// ExternalManagedControlPlane indicates to Cluster API that the Control Plane
// is externally managed by Steward.
// +kubebuilder:default=true
ExternalManagedControlPlane *bool `json:"externalManagedControlPlane"`
// Share the failed process of the StewardControlPlane provider which wasn't able to complete the reconciliation for the given resource.
FailureReason string `json:"failureReason,omitempty"`
// The error message, if available, for the failing reconciliation.
FailureMessage string `json:"failureMessage,omitempty"`
// String representing the minimum Kubernetes version for the control plane machines in the cluster.
Version string `json:"version"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
StewardControlPlaneStatus defines the observed state of StewardControlPlane.
func (*StewardControlPlaneStatus) DeepCopy ¶
func (in *StewardControlPlaneStatus) DeepCopy() *StewardControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneStatus.
func (*StewardControlPlaneStatus) DeepCopyInto ¶
func (in *StewardControlPlaneStatus) DeepCopyInto(out *StewardControlPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StewardControlPlaneTemplate ¶
type StewardControlPlaneTemplate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec StewardControlPlaneTemplateSpec `json:"spec,omitempty"`
}
StewardControlPlaneTemplate is the Schema for the stewardcontrolplanetemplates API.
func (*StewardControlPlaneTemplate) DeepCopy ¶
func (in *StewardControlPlaneTemplate) DeepCopy() *StewardControlPlaneTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneTemplate.
func (*StewardControlPlaneTemplate) DeepCopyInto ¶
func (in *StewardControlPlaneTemplate) DeepCopyInto(out *StewardControlPlaneTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StewardControlPlaneTemplate) DeepCopyObject ¶
func (in *StewardControlPlaneTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StewardControlPlaneTemplateList ¶
type StewardControlPlaneTemplateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []StewardControlPlaneTemplate `json:"items"`
}
StewardControlPlaneTemplateList contains a list of StewardControlPlaneTemplate.
func (*StewardControlPlaneTemplateList) DeepCopy ¶
func (in *StewardControlPlaneTemplateList) DeepCopy() *StewardControlPlaneTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneTemplateList.
func (*StewardControlPlaneTemplateList) DeepCopyInto ¶
func (in *StewardControlPlaneTemplateList) DeepCopyInto(out *StewardControlPlaneTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StewardControlPlaneTemplateList) DeepCopyObject ¶
func (in *StewardControlPlaneTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StewardControlPlaneTemplateResource ¶
type StewardControlPlaneTemplateResource struct {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`
Spec StewardControlPlaneFields `json:"spec"`
}
StewardControlPlaneTemplateResource describes the data needed to create a StewardControlPlane from a template.
func (*StewardControlPlaneTemplateResource) DeepCopy ¶
func (in *StewardControlPlaneTemplateResource) DeepCopy() *StewardControlPlaneTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneTemplateResource.
func (*StewardControlPlaneTemplateResource) DeepCopyInto ¶
func (in *StewardControlPlaneTemplateResource) DeepCopyInto(out *StewardControlPlaneTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StewardControlPlaneTemplateSpec ¶
type StewardControlPlaneTemplateSpec struct {
Template StewardControlPlaneTemplateResource `json:"template"`
}
StewardControlPlaneTemplateSpec defines the desired state of StewardControlPlaneTemplate.
func (*StewardControlPlaneTemplateSpec) DeepCopy ¶
func (in *StewardControlPlaneTemplateSpec) DeepCopy() *StewardControlPlaneTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StewardControlPlaneTemplateSpec.
func (*StewardControlPlaneTemplateSpec) DeepCopyInto ¶
func (in *StewardControlPlaneTemplateSpec) DeepCopyInto(out *StewardControlPlaneTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.