mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-05 16:05:36 +00:00
05093ea7d9
cmd/k8s-operator/deploy/crds,k8s-operator/apis/v1alpha1: allow to define an exit node via Connector CR. Make it possible to define an exit node to be deployed to a Kubernetes cluster via Connector Custom resource. Also changes to Connector API so that one Connector corresponds to one Tailnet node that can be either a subnet router or an exit node or both. The Kubernetes operator parses Connector custom resource and, if .spec.isExitNode is set, configures that Tailscale node deployed for that connector as an exit node. Signed-off-by: Irbe Krumina <irbe@tailscale.com> Co-authored-by: Anton Tolchanov <anton@tailscale.com>
196 lines
5.2 KiB
Go
196 lines
5.2 KiB
Go
//go:build !ignore_autogenerated && !plan9
|
|
|
|
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
// Code generated by controller-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
)
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *Connector) DeepCopyInto(out *Connector) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Connector.
|
|
func (in *Connector) DeepCopy() *Connector {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(Connector)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *Connector) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ConnectorCondition) DeepCopyInto(out *ConnectorCondition) {
|
|
*out = *in
|
|
if in.LastTransitionTime != nil {
|
|
in, out := &in.LastTransitionTime, &out.LastTransitionTime
|
|
*out = (*in).DeepCopy()
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorCondition.
|
|
func (in *ConnectorCondition) DeepCopy() *ConnectorCondition {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ConnectorCondition)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ConnectorList) DeepCopyInto(out *ConnectorList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]Connector, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorList.
|
|
func (in *ConnectorList) DeepCopy() *ConnectorList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ConnectorList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *ConnectorList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ConnectorSpec) DeepCopyInto(out *ConnectorSpec) {
|
|
*out = *in
|
|
if in.Tags != nil {
|
|
in, out := &in.Tags, &out.Tags
|
|
*out = make(Tags, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.SubnetRouter != nil {
|
|
in, out := &in.SubnetRouter, &out.SubnetRouter
|
|
*out = new(SubnetRouter)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorSpec.
|
|
func (in *ConnectorSpec) DeepCopy() *ConnectorSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ConnectorSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ConnectorStatus) DeepCopyInto(out *ConnectorStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]ConnectorCondition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectorStatus.
|
|
func (in *ConnectorStatus) DeepCopy() *ConnectorStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ConnectorStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in Routes) DeepCopyInto(out *Routes) {
|
|
{
|
|
in := &in
|
|
*out = make(Routes, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Routes.
|
|
func (in Routes) DeepCopy() Routes {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(Routes)
|
|
in.DeepCopyInto(out)
|
|
return *out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SubnetRouter) DeepCopyInto(out *SubnetRouter) {
|
|
*out = *in
|
|
if in.AdvertiseRoutes != nil {
|
|
in, out := &in.AdvertiseRoutes, &out.AdvertiseRoutes
|
|
*out = make(Routes, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetRouter.
|
|
func (in *SubnetRouter) DeepCopy() *SubnetRouter {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SubnetRouter)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in Tags) DeepCopyInto(out *Tags) {
|
|
{
|
|
in := &in
|
|
*out = make(Tags, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tags.
|
|
func (in Tags) DeepCopy() Tags {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(Tags)
|
|
in.DeepCopyInto(out)
|
|
return *out
|
|
}
|