kube

package
v0.0.0-...-1b709f2 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2026 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Overview

Package kube contains types and utilities for the Tailscale Kubernetes Operator.

Index

Constants

View Source
const (
	Alpha1Version = "v1alpha1"

	DNSRecordsCMName = "dnsrecords"
	DNSRecordsCMKey  = "records.json"
)

Variables

This section is empty.

Functions

func CapVerFromFileName

func CapVerFromFileName(name string) (tailcfg.CapabilityVersion, error)

CapVerFromFileName parses the capability version from a tailscaled config file name previously generated by TailscaledConfigFileNameForCap.

func DNSCfgIsReady

func DNSCfgIsReady(cfg *tsapi.DNSConfig) bool

func GetServiceCondition

func GetServiceCondition(svc *corev1.Service, conditionType tsapi.ConditionType) *metav1.Condition

GetServiceCondition returns Service condition with the specified type, if it exists on the Service.

func KubeAPIServerProxyConfigured

func KubeAPIServerProxyConfigured(pg *tsapi.ProxyGroup) bool

func KubeAPIServerProxyValid

func KubeAPIServerProxyValid(pg *tsapi.ProxyGroup) (valid bool, set bool)

func ProxyClassIsReady

func ProxyClassIsReady(pc *tsapi.ProxyClass) bool

func ProxyGroupAvailable

func ProxyGroupAvailable(pg *tsapi.ProxyGroup) bool

func ProxyGroupIsReady

func ProxyGroupIsReady(pg *tsapi.ProxyGroup) bool

func RemoveConnectorCondition

func RemoveConnectorCondition(conn *tsapi.Connector, conditionType tsapi.ConditionType)

RemoveConnectorCondition will remove condition of the given type if it exists.

func RemoveServiceCondition

func RemoveServiceCondition(svc *corev1.Service, conditionType tsapi.ConditionType)

RemoveServiceCondition will remove condition of the given type if it exists.

func SetConnectorCondition

func SetConnectorCondition(cn *tsapi.Connector, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, gen int64, clock tstime.Clock, logger *zap.SugaredLogger)

SetConnectorCondition ensures that Connector status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SetDNSConfigCondition

func SetDNSConfigCondition(dnsCfg *tsapi.DNSConfig, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, gen int64, clock tstime.Clock, logger *zap.SugaredLogger)

SetDNSConfigCondition ensures that DNSConfig status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes

func SetProxyClassCondition

func SetProxyClassCondition(pc *tsapi.ProxyClass, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, gen int64, clock tstime.Clock, logger *zap.SugaredLogger)

SetProxyClassCondition ensures that ProxyClass status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SetProxyGroupCondition

func SetProxyGroupCondition(pg *tsapi.ProxyGroup, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, gen int64, clock tstime.Clock, logger *zap.SugaredLogger)

SetProxyGroupCondition ensures that ProxyGroup status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SetRecorderCondition

func SetRecorderCondition(tsr *tsapi.Recorder, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, gen int64, clock tstime.Clock, logger *zap.SugaredLogger)

SetRecorderCondition ensures that Recorder status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SetServiceCondition

func SetServiceCondition(svc *corev1.Service, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, clock tstime.Clock, logger *zap.SugaredLogger)

SetServiceCondition ensures that Service status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SetTailnetCondition

func SetTailnetCondition(tn *tsapi.Tailnet, conditionType tsapi.ConditionType, status metav1.ConditionStatus, reason, message string, clock tstime.Clock, logger *zap.SugaredLogger)

SetTailnetCondition ensures that Tailnet status has a condition with the given attributes. LastTransitionTime gets set every time condition's status changes.

func SvcIsReady

func SvcIsReady(svc *corev1.Service) bool

func TailnetIsReady

func TailnetIsReady(tn *tsapi.Tailnet) bool

func TailscaledConfigFileName

func TailscaledConfigFileName(cap tailcfg.CapabilityVersion) string

TailscaledConfigFileName returns a tailscaled config file name in format expected by containerboot for the given CapVer.

Types

type Records

type Records struct {
	// Version is the version of this Records configuration. Version is
	// written by the operator, i.e when it first populates the Records.
	// k8s-nameserver must verify that it knows how to parse a given
	// version.
	Version string `json:"version"`
	// IP4 contains a mapping of DNS names to IPv4 address(es).
	IP4 map[string][]string `json:"ip4"`
	// IP6 contains a mapping of DNS names to IPv6 address(es).
	// This field is optional and will be omitted from JSON if empty.
	// It enables dual-stack DNS support in Kubernetes clusters.
	// +optional
	IP6 map[string][]string `json:"ip6,omitempty"`
}

Directories

Path Synopsis
Package apiproxy contains the Kubernetes API Proxy implementation used by k8s-operator and k8s-proxy.
Package apiproxy contains the Kubernetes API Proxy implementation used by k8s-operator and k8s-proxy.
Package apis contains a constant to name the Tailscale Kubernetes Operator's schema group.
Package apis contains a constant to name the Tailscale Kubernetes Operator's schema group.
v1alpha1
+kubebuilder:object:generate=true +groupName=tailscale.com
+kubebuilder:object:generate=true +groupName=tailscale.com
Package reconciler provides utilities for working with Kubernetes resources within controller reconciliation loops.
Package reconciler provides utilities for working with Kubernetes resources within controller reconciliation loops.
tailnet
Package tailnet provides reconciliation logic for the Tailnet custom resource definition.
Package tailnet provides reconciliation logic for the Tailnet custom resource definition.
Package sessionrecording contains functionality for recording Kubernetes API server proxy 'kubectl exec/attach' sessions.
Package sessionrecording contains functionality for recording Kubernetes API server proxy 'kubectl exec/attach' sessions.
fakes
Package fakes contains mocks used for testing 'kubectl exec' session recording functionality.
Package fakes contains mocks used for testing 'kubectl exec' session recording functionality.
spdy
Package spdy contains functionality for parsing SPDY streaming sessions.
Package spdy contains functionality for parsing SPDY streaming sessions.
tsrecorder
Package tsrecorder contains functionality for connecting to a tsrecorder instance.
Package tsrecorder contains functionality for connecting to a tsrecorder instance.
ws
package ws has functionality to parse 'kubectl exec/attach' sessions streamed using WebSocket protocol.
package ws has functionality to parse 'kubectl exec/attach' sessions streamed using WebSocket protocol.

Jump to

Keyboard shortcuts

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