talos

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2025 License: MIT Imports: 28 Imported by: 0

Documentation

Overview

Package talos is an implementation of Interface and InstancesV2 for Talos.

Index

Constants

View Source
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

func (c *Cloud) HasClusterID() bool

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

func (c *Cloud) ProviderName() string

ProviderName returns the cloud provider ID.

func (*Cloud) Routes added in v1.8.0

func (c *Cloud) Routes() (cloudprovider.Routes, bool)

Routes is not implemented.

func (*Cloud) Zones added in v1.8.0

func (c *Cloud) Zones() (cloudprovider.Zones, bool)

Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.

Jump to

Keyboard shortcuts

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