Documentation ¶
Overview ¶
+kubebuilder:object:generate=true +groupName=tailscale.com
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type Connector
- type ConnectorCondition
- type ConnectorConditionType
- type ConnectorList
- type ConnectorSpec
- type ConnectorStatus
- type Container
- type DNSConfig
- type DNSConfigList
- type DNSConfigSpec
- type DNSConfigStatus
- type Env
- type Hostname
- type Image
- type Metrics
- type Name
- type Nameserver
- type NameserverStatus
- type Pod
- type ProxyClass
- type ProxyClassList
- type ProxyClassSpec
- type ProxyClassStatus
- type Route
- type Routes
- type StatefulSet
- type SubnetRouter
- type Tag
- type Tags
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme GlobalScheme *runtime.Scheme )
var ConnectorKind = "Connector"
var DNSConfigKind = "DNSConfig"
var ProxyClassKind = "ProxyClass"
var SchemeGroupVersion = schema.GroupVersion{Group: apis.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Connector ¶
type Connector struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // ConnectorSpec describes the desired Tailscale component. // More info: // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status Spec ConnectorSpec `json:"spec"` // ConnectorStatus describes the status of the Connector. This is set // and managed by the Tailscale operator. // +optional Status ConnectorStatus `json:"status"` }
Connector defines a Tailscale node that will be deployed in the cluster. The node can be configured to act as a Tailscale subnet router and/or a Tailscale exit node. Connector is a cluster-scoped resource. More info: https://tailscale.com/kb/1236/kubernetes-operator#deploying-exit-nodes-and-subnet-routers-on-kubernetes-using-connector-custom-resource
func (*Connector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Connector.
func (*Connector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Connector) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConnectorCondition ¶
type ConnectorCondition struct { // Type of the condition, known values are (`SubnetRouterReady`). Type ConnectorConditionType `json:"type"` // Status of the condition, one of ('True', 'False', 'Unknown'). Status metav1.ConditionStatus `json:"status"` // LastTransitionTime is the timestamp corresponding to the last status // change of this condition. // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` // Reason is a brief machine readable explanation for the condition's last // transition. // +optional Reason string `json:"reason,omitempty"` // Message is a human readable description of the details of the last // transition, complementing reason. // +optional Message string `json:"message,omitempty"` // If set, this represents the .metadata.generation that the condition was // set based upon. // For instance, if .metadata.generation is currently 12, but the // .status.condition[x].observedGeneration is 9, the condition is out of date // with respect to the current state of the Connector. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
ConnectorCondition contains condition information for a Connector.
func (*ConnectorCondition) DeepCopy ¶
func (in *ConnectorCondition) DeepCopy() *ConnectorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorCondition.
func (*ConnectorCondition) DeepCopyInto ¶
func (in *ConnectorCondition) DeepCopyInto(out *ConnectorCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectorConditionType ¶
type ConnectorConditionType string
ConnectorConditionType represents a Connector condition type.
const ( ConnectorReady ConnectorConditionType = `ConnectorReady` ProxyClassready ConnectorConditionType = `ProxyClassReady` )
const NameserverReady ConnectorConditionType = `NameserverReady`
type ConnectorList ¶
type ConnectorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Connector `json:"items"` }
func (*ConnectorList) DeepCopy ¶
func (in *ConnectorList) DeepCopy() *ConnectorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorList.
func (*ConnectorList) DeepCopyInto ¶
func (in *ConnectorList) DeepCopyInto(out *ConnectorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConnectorList) DeepCopyObject ¶
func (in *ConnectorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConnectorSpec ¶
type ConnectorSpec struct { // Tags that the Tailscale node will be tagged with. // Defaults to [tag:k8s]. // To autoapprove the subnet routes or exit node defined by a Connector, // you can configure Tailscale ACLs to give these tags the necessary // permissions. // See https://tailscale.com/kb/1018/acls/#auto-approvers-for-routes-and-exit-nodes. // If you specify custom tags here, you must also make the operator an owner of these tags. // See https://tailscale.com/kb/1236/kubernetes-operator/#setting-up-the-kubernetes-operator. // Tags cannot be changed once a Connector node has been created. // Tag values must be in form ^tag:[a-zA-Z][a-zA-Z0-9-]*$. // +optional Tags Tags `json:"tags,omitempty"` // Hostname is the tailnet hostname that should be assigned to the // Connector node. If unset, hostname defaults to <connector // name>-connector. Hostname can contain lower case letters, numbers and // dashes, it must not start or end with a dash and must be between 2 // and 63 characters long. // +optional Hostname Hostname `json:"hostname,omitempty"` // ProxyClass is the name of the ProxyClass custom resource that // contains configuration options that should be applied to the // resources created for this Connector. If unset, the operator will // create resources with the default configuration. // +optional ProxyClass string `json:"proxyClass,omitempty"` // SubnetRouter defines subnet routes that the Connector node should // expose to tailnet. If unset, none are exposed. // https://tailscale.com/kb/1019/subnets/ // +optional SubnetRouter *SubnetRouter `json:"subnetRouter"` // ExitNode defines whether the Connector node should act as a // Tailscale exit node. Defaults to false. // https://tailscale.com/kb/1103/exit-nodes // +optional ExitNode bool `json:"exitNode"` }
ConnectorSpec describes a Tailscale node to be deployed in the cluster. +kubebuilder:validation:XValidation:rule="has(self.subnetRouter) || self.exitNode == true",message="A Connector needs to be either an exit node or a subnet router, or both."
func (*ConnectorSpec) DeepCopy ¶
func (in *ConnectorSpec) DeepCopy() *ConnectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorSpec.
func (*ConnectorSpec) DeepCopyInto ¶
func (in *ConnectorSpec) DeepCopyInto(out *ConnectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectorStatus ¶
type ConnectorStatus struct { // List of status conditions to indicate the status of the Connector. // Known condition types are `ConnectorReady`. // +listType=map // +listMapKey=type // +optional Conditions []ConnectorCondition `json:"conditions"` // SubnetRoutes are the routes currently exposed to tailnet via this // Connector instance. // +optional SubnetRoutes string `json:"subnetRoutes"` // IsExitNode is set to true if the Connector acts as an exit node. // +optional IsExitNode bool `json:"isExitNode"` }
ConnectorStatus defines the observed state of the Connector.
func (*ConnectorStatus) DeepCopy ¶
func (in *ConnectorStatus) DeepCopy() *ConnectorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorStatus.
func (*ConnectorStatus) DeepCopyInto ¶
func (in *ConnectorStatus) DeepCopyInto(out *ConnectorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶ added in v1.60.0
type Container struct { // Container security context. // Security context specified here will override the security context by the operator. // By default the operator: // - sets 'privileged: true' for the init container // - set NET_ADMIN capability for tailscale container for proxies that // are created for Services or Connector. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // Container resource requirements. // By default Tailscale Kubernetes operator does not apply any resource // requirements. The amount of resources required wil depend on the // amount of resources the operator needs to parse, usage patterns and // cluster size. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // List of environment variables to set in the container. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables // Note that environment variables provided here will take precedence // over Tailscale-specific environment variables set by the operator, // however running proxies with custom values for Tailscale environment // variables (i.e TS_USERSPACE) is not recommended and might break in // the future. // +optional Env []Env `json:"env,omitempty"` }
func (*Container) DeepCopy ¶ added in v1.60.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶ added in v1.60.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSConfig ¶ added in v1.66.0
type DNSConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSConfigSpec `json:"spec"` // +optional Status DNSConfigStatus `json:"status"` }
func (*DNSConfig) DeepCopy ¶ added in v1.66.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfig.
func (*DNSConfig) DeepCopyInto ¶ added in v1.66.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSConfig) DeepCopyObject ¶ added in v1.66.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSConfigList ¶ added in v1.66.0
type DNSConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []DNSConfig `json:"items"` }
func (*DNSConfigList) DeepCopy ¶ added in v1.66.0
func (in *DNSConfigList) DeepCopy() *DNSConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfigList.
func (*DNSConfigList) DeepCopyInto ¶ added in v1.66.0
func (in *DNSConfigList) DeepCopyInto(out *DNSConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSConfigList) DeepCopyObject ¶ added in v1.66.0
func (in *DNSConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSConfigSpec ¶ added in v1.66.0
type DNSConfigSpec struct {
Nameserver *Nameserver `json:"nameserver"`
}
func (*DNSConfigSpec) DeepCopy ¶ added in v1.66.0
func (in *DNSConfigSpec) DeepCopy() *DNSConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfigSpec.
func (*DNSConfigSpec) DeepCopyInto ¶ added in v1.66.0
func (in *DNSConfigSpec) DeepCopyInto(out *DNSConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSConfigStatus ¶ added in v1.66.0
type DNSConfigStatus struct { // +listType=map // +listMapKey=type // +optional Conditions []ConnectorCondition `json:"conditions"` // +optional Nameserver *NameserverStatus `json:"nameserver"` }
func (*DNSConfigStatus) DeepCopy ¶ added in v1.66.0
func (in *DNSConfigStatus) DeepCopy() *DNSConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfigStatus.
func (*DNSConfigStatus) DeepCopyInto ¶ added in v1.66.0
func (in *DNSConfigStatus) DeepCopyInto(out *DNSConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Env ¶ added in v1.66.0
type Env struct { // Name of the environment variable. Must be a C_IDENTIFIER. Name Name `json:"name"` // Variable references $(VAR_NAME) are expanded using the previously defined // environment variables in the container and any service environment // variables. If a variable cannot be resolved, the reference in the input // string will be unchanged. Double $$ are reduced to a single $, which // allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will // produce the string literal "$(VAR_NAME)". Escaped references will never // be expanded, regardless of whether the variable exists or not. Defaults // to "". // +optional Value string `json:"value,omitempty"` }
func (*Env) DeepCopy ¶ added in v1.66.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Env.
func (*Env) DeepCopyInto ¶ added in v1.66.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hostname ¶
type Hostname string
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern=`^[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$`
type Image ¶ added in v1.66.0
type Image struct { // +optional Repo string `json:"repo,omitempty"` // +optional Tag string `json:"tag,omitempty"` }
func (*Image) DeepCopy ¶ added in v1.66.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶ added in v1.66.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metrics ¶ added in v1.66.0
type Metrics struct { // Setting enable to true will make the proxy serve Tailscale metrics // at <pod-ip>:9001/debug/metrics. // Defaults to false. Enable bool `json:"enable"` }
func (*Metrics) DeepCopy ¶ added in v1.66.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metrics.
func (*Metrics) DeepCopyInto ¶ added in v1.66.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Name ¶ added in v1.66.0
type Name string
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern=`^[-._a-zA-Z][-._a-zA-Z0-9]*$`
type Nameserver ¶ added in v1.66.0
type Nameserver struct { // +optional Image *Image `json:"image,omitempty"` }
func (*Nameserver) DeepCopy ¶ added in v1.66.0
func (in *Nameserver) DeepCopy() *Nameserver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nameserver.
func (*Nameserver) DeepCopyInto ¶ added in v1.66.0
func (in *Nameserver) DeepCopyInto(out *Nameserver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NameserverStatus ¶ added in v1.66.0
type NameserverStatus struct { // +optional IP string `json:"ip"` }
func (*NameserverStatus) DeepCopy ¶ added in v1.66.0
func (in *NameserverStatus) DeepCopy() *NameserverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NameserverStatus.
func (*NameserverStatus) DeepCopyInto ¶ added in v1.66.0
func (in *NameserverStatus) DeepCopyInto(out *NameserverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pod ¶ added in v1.60.0
type Pod struct { // Labels that will be added to the proxy Pod. // Any labels specified here will be merged with the default labels // applied to the Pod by the Tailscale Kubernetes operator. // Label keys and values must be valid Kubernetes label keys and values. // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations that will be added to the proxy Pod. // Any annotations specified here will be merged with the default // annotations applied to the Pod by the Tailscale Kubernetes operator. // Annotations must be valid Kubernetes annotations. // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set // +optional Annotations map[string]string `json:"annotations,omitempty"` // Proxy Pod's affinity rules. // By default, the Tailscale Kubernetes operator does not apply any affinity rules. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#affinity // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Configuration for the proxy container running tailscale. // +optional TailscaleContainer *Container `json:"tailscaleContainer,omitempty"` // Configuration for the proxy init container that enables forwarding. // +optional TailscaleInitContainer *Container `json:"tailscaleInitContainer,omitempty"` // Proxy Pod's security context. // By default Tailscale Kubernetes operator does not apply any Pod // security context. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-2 // +optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` // Proxy Pod's image pull Secrets. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // Proxy Pod's node name. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling // +optional NodeName string `json:"nodeName,omitempty"` // Proxy Pod's node selector. // By default Tailscale Kubernetes operator does not apply any node // selector. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Proxy Pod's tolerations. // By default Tailscale Kubernetes operator does not apply any // tolerations. // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
func (*Pod) DeepCopy ¶ added in v1.60.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶ added in v1.60.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyClass ¶ added in v1.60.0
type ProxyClass struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired state of the ProxyClass resource. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status Spec ProxyClassSpec `json:"spec"` // +optional // Status of the ProxyClass. This is set and managed automatically. // https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status Status ProxyClassStatus `json:"status"` }
ProxyClass describes a set of configuration parameters that can be applied to proxy resources created by the Tailscale Kubernetes operator. To apply a given ProxyClass to resources created for a tailscale Ingress or Service, use tailscale.com/proxy-class=<proxyclass-name> label. To apply a given ProxyClass to resources created for a Connector, use connector.spec.proxyClass field. ProxyClass is a cluster scoped resource. More info: https://tailscale.com/kb/1236/kubernetes-operator#cluster-resource-customization-using-proxyclass-custom-resource.
func (*ProxyClass) DeepCopy ¶ added in v1.60.0
func (in *ProxyClass) DeepCopy() *ProxyClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyClass.
func (*ProxyClass) DeepCopyInto ¶ added in v1.60.0
func (in *ProxyClass) DeepCopyInto(out *ProxyClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyClass) DeepCopyObject ¶ added in v1.60.0
func (in *ProxyClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxyClassList ¶ added in v1.60.0
type ProxyClassList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ProxyClass `json:"items"` }
+kubebuilder:object:root=true
func (*ProxyClassList) DeepCopy ¶ added in v1.60.0
func (in *ProxyClassList) DeepCopy() *ProxyClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyClassList.
func (*ProxyClassList) DeepCopyInto ¶ added in v1.60.0
func (in *ProxyClassList) DeepCopyInto(out *ProxyClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyClassList) DeepCopyObject ¶ added in v1.60.0
func (in *ProxyClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProxyClassSpec ¶ added in v1.60.0
type ProxyClassSpec struct { // Configuration parameters for the proxy's StatefulSet. Tailscale // Kubernetes operator deploys a StatefulSet for each of the user // configured proxies (Tailscale Ingress, Tailscale Service, Connector). // +optional StatefulSet *StatefulSet `json:"statefulSet"` // Configuration for proxy metrics. Metrics are currently not supported // for egress proxies and for Ingress proxies that have been configured // with tailscale.com/experimental-forward-cluster-traffic-via-ingress // annotation. Note that the metrics are currently considered unstable // and will likely change in breaking ways in the future - we only // recommend that you use those for debugging purposes. // +optional Metrics *Metrics `json:"metrics,omitempty"` }
func (*ProxyClassSpec) DeepCopy ¶ added in v1.60.0
func (in *ProxyClassSpec) DeepCopy() *ProxyClassSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyClassSpec.
func (*ProxyClassSpec) DeepCopyInto ¶ added in v1.60.0
func (in *ProxyClassSpec) DeepCopyInto(out *ProxyClassSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyClassStatus ¶ added in v1.60.0
type ProxyClassStatus struct { // List of status conditions to indicate the status of the ProxyClass. // Known condition types are `ProxyClassReady`. // +listType=map // +listMapKey=type // +optional Conditions []ConnectorCondition `json:"conditions,omitempty"` }
func (*ProxyClassStatus) DeepCopy ¶ added in v1.60.0
func (in *ProxyClassStatus) DeepCopy() *ProxyClassStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyClassStatus.
func (*ProxyClassStatus) DeepCopyInto ¶ added in v1.60.0
func (in *ProxyClassStatus) DeepCopyInto(out *ProxyClassStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route ¶
type Route string
+kubebuilder:validation:Type=string +kubebuilder:validation:Format=cidr
type Routes ¶
type Routes []Route
+kubebuilder:validation:MinItems=1
func (Routes) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Routes.
func (Routes) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulSet ¶ added in v1.60.0
type StatefulSet struct { // Labels that will be added to the StatefulSet created for the proxy. // Any labels specified here will be merged with the default labels // applied to the StatefulSet by the Tailscale Kubernetes operator as // well as any other labels that might have been applied by other // actors. // Label keys and values must be valid Kubernetes label keys and values. // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations that will be added to the StatefulSet created for the proxy. // Any Annotations specified here will be merged with the default annotations // applied to the StatefulSet by the Tailscale Kubernetes operator as // well as any other annotations that might have been applied by other // actors. // Annotations must be valid Kubernetes annotations. // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set // +optional Annotations map[string]string `json:"annotations,omitempty"` // Configuration for the proxy Pod. // +optional Pod *Pod `json:"pod,omitempty"` }
func (*StatefulSet) DeepCopy ¶ added in v1.60.0
func (in *StatefulSet) DeepCopy() *StatefulSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSet.
func (*StatefulSet) DeepCopyInto ¶ added in v1.60.0
func (in *StatefulSet) DeepCopyInto(out *StatefulSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetRouter ¶
type SubnetRouter struct { // AdvertiseRoutes refer to CIDRs that the subnet router should make // available. Route values must be strings that represent a valid IPv4 // or IPv6 CIDR range. Values can be Tailscale 4via6 subnet routes. // https://tailscale.com/kb/1201/4via6-subnets/ AdvertiseRoutes Routes `json:"advertiseRoutes"` }
SubnetRouter defines subnet routes that should be exposed to tailnet via a Connector node.
func (*SubnetRouter) DeepCopy ¶
func (in *SubnetRouter) DeepCopy() *SubnetRouter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetRouter.
func (*SubnetRouter) DeepCopyInto ¶
func (in *SubnetRouter) DeepCopyInto(out *SubnetRouter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tag ¶
type Tag string
+kubebuilder:validation:Type=string +kubebuilder:validation:Pattern=`^tag:[a-zA-Z][a-zA-Z0-9-]*$`