Documentation ¶
Overview ¶
Package talos is an implementation of Interface and InstancesV2 for Talos.
Index ¶
- Constants
- func CSRNodeChecks(ctx context.Context, kclient clientkubernetes.Interface, ...) (bool, error)
- type Cloud
- func (c *Cloud) Clusters() (cloudprovider.Clusters, bool)
- func (c *Cloud) HasClusterID() bool
- func (c *Cloud) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{})
- func (c *Cloud) Instances() (cloudprovider.Instances, bool)
- func (c *Cloud) InstancesV2() (cloudprovider.InstancesV2, bool)
- func (c *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (c *Cloud) ProviderName() string
- func (c *Cloud) Routes() (cloudprovider.Routes, bool)
- func (c *Cloud) Zones() (cloudprovider.Zones, bool)
Constants ¶
const ( // ProviderName is the name of the Talos provider. ProviderName = "talos" // ServiceAccountName is the service account name used in kube-system namespace. ServiceAccountName = "talos-cloud-controller-manager" // ClusterNameNodeLabel is the node label of cluster-name. ClusterNameNodeLabel = "node.cloudprovider.kubernetes.io/clustername" // ClusterNodePlatformLabel is the node label of platform name. ClusterNodePlatformLabel = "node.cloudprovider.kubernetes.io/platform" // ClusterNodeLifeCycleLabel is a life cycle type of compute node. ClusterNodeLifeCycleLabel = "node.cloudprovider.kubernetes.io/lifecycle" )
Variables ¶
This section is empty.
Functions ¶
func CSRNodeChecks ¶ added in v1.8.0
func CSRNodeChecks(ctx context.Context, kclient clientkubernetes.Interface, x509cr *x509.CertificateRequest) (bool, error)
CSRNodeChecks checks if the IP addresses in the CSR match the IP addresses of the node. TODO: add more checks, like domain name, worker nodes don't have controlplane IPs, etc...
Types ¶
type Cloud ¶ added in v1.8.0
type Cloud struct {
// contains filtered or unexported fields
}
Cloud is an implementation of cloudprovider interface for Talos CCM.
func (*Cloud) Clusters ¶ added in v1.8.0
func (c *Cloud) Clusters() (cloudprovider.Clusters, bool)
Clusters is not implemented.
func (*Cloud) HasClusterID ¶ added in v1.8.0
HasClusterID is not implemented.
func (*Cloud) Initialize ¶ added in v1.8.0
func (c *Cloud) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{})
Initialize provides the cloud with a kubernetes client builder and may spawn goroutines to perform housekeeping or run custom controllers specific to the cloud provider. Any tasks started here should be cleaned up when the stop channel closes.
func (*Cloud) Instances ¶ added in v1.8.0
func (c *Cloud) Instances() (cloudprovider.Instances, bool)
Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
func (*Cloud) InstancesV2 ¶ added in v1.8.0
func (c *Cloud) InstancesV2() (cloudprovider.InstancesV2, bool)
InstancesV2 is an implementation for instances and should only be implemented by external cloud providers. Implementing InstancesV2 is behaviorally identical to Instances but is optimized to significantly reduce API calls to the cloud provider when registering and syncing nodes. Also returns true if the interface is supported, false otherwise.
func (*Cloud) LoadBalancer ¶ added in v1.8.0
func (c *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
func (*Cloud) ProviderName ¶ added in v1.8.0
ProviderName returns the cloud provider ID.