v1alpha1

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the tailcar v1alpha1 API group +kubebuilder:object:generate=true +groupName=tailcar.rajsingh.info

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "tailcar.rajsingh.info", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Backend added in v0.0.8

type Backend struct {
	// Type specifies the backend type (proxy, text, file)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=proxy;text;file
	Type string `json:"type"`

	// Proxy is the backend address for type=proxy (e.g., "http://127.0.0.1:8080")
	// +optional
	Proxy string `json:"proxy,omitempty"`

	// Text is the text content to serve for type=text
	// +optional
	Text string `json:"text,omitempty"`

	// File is the file path to serve for type=file
	// +optional
	File string `json:"file,omitempty"`
}

Backend defines the backend configuration for a route.

func (*Backend) DeepCopy added in v0.0.8

func (in *Backend) DeepCopy() *Backend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.

func (*Backend) DeepCopyInto added in v0.0.8

func (in *Backend) DeepCopyInto(out *Backend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Route added in v0.0.8

type Route struct {
	// Path is the URL path to match (defaults to "/")
	// +kubebuilder:default="/"
	// +optional
	Path string `json:"path,omitempty"`

	// Backend defines where to proxy requests
	// +kubebuilder:validation:Required
	Backend Backend `json:"backend"`
}

Route defines a path-based route for HTTP/HTTPS handlers.

func (*Route) DeepCopy added in v0.0.8

func (in *Route) DeepCopy() *Route

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.

func (*Route) DeepCopyInto added in v0.0.8

func (in *Route) DeepCopyInto(out *Route)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretReference

type SecretReference struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
}

SecretReference references a secret containing OAuth credentials.

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceHandler added in v0.0.8

type ServiceHandler struct {
	// Port is the port to expose the service on
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Protocol specifies the protocol to use (http, https, tcp, tls-terminated-tcp)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=http;https;tcp;tls-terminated-tcp
	Protocol string `json:"protocol"`

	// Routes defines path-based routing for HTTP/HTTPS handlers
	// +optional
	Routes []Route `json:"routes,omitempty"`

	// TCPProxy defines the backend for TCP/TLS-terminated-TCP handlers
	// +optional
	TCPProxy *TCPProxy `json:"tcpProxy,omitempty"`
}

ServiceHandler defines a handler for the service proxy.

func (*ServiceHandler) DeepCopy added in v0.0.8

func (in *ServiceHandler) DeepCopy() *ServiceHandler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceHandler.

func (*ServiceHandler) DeepCopyInto added in v0.0.8

func (in *ServiceHandler) DeepCopyInto(out *ServiceHandler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TCPProxy added in v0.0.8

type TCPProxy struct {
	// Backend is the backend address (e.g., "tcp://localhost:5432")
	// +kubebuilder:validation:Required
	Backend string `json:"backend"`

	// TerminateTLS enables TLS termination before forwarding to the backend.
	// When enabled for tls-terminated-tcp protocol, TLS is terminated and plaintext is forwarded.
	// The service's FQDN is used as the SNI hostname for certificate validation.
	// +optional
	TerminateTLS bool `json:"terminateTLS,omitempty"`
}

TCPProxy defines the backend for TCP handlers.

func (*TCPProxy) DeepCopy added in v0.0.8

func (in *TCPProxy) DeepCopy() *TCPProxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPProxy.

func (*TCPProxy) DeepCopyInto added in v0.0.8

func (in *TCPProxy) DeepCopyInto(out *TCPProxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tailnet

type Tailnet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TailnetSpec   `json:"spec,omitempty"`
	Status TailnetStatus `json:"status,omitempty"`
}

Tailnet is the Schema for the tailnets API.

func (*Tailnet) DeepCopy

func (in *Tailnet) DeepCopy() *Tailnet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tailnet.

func (*Tailnet) DeepCopyInto

func (in *Tailnet) DeepCopyInto(out *Tailnet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tailnet) DeepCopyObject

func (in *Tailnet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TailnetList

type TailnetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tailnet `json:"items"`
}

TailnetList contains a list of Tailnet.

func (*TailnetList) DeepCopy

func (in *TailnetList) DeepCopy() *TailnetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailnetList.

func (*TailnetList) DeepCopyInto

func (in *TailnetList) DeepCopyInto(out *TailnetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TailnetList) DeepCopyObject

func (in *TailnetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TailnetSpec

type TailnetSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:default="-"
	TailnetName string `json:"tailnetName"`

	// +kubebuilder:validation:Required
	OAuthSecretRef SecretReference `json:"oauthSecretRef"`

	// +kubebuilder:validation:Required
	Tailscale TailscaleConfig `json:"tailscale"`
}

TailnetSpec defines the desired state of Tailnet.

func (*TailnetSpec) DeepCopy

func (in *TailnetSpec) DeepCopy() *TailnetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailnetSpec.

func (*TailnetSpec) DeepCopyInto

func (in *TailnetSpec) DeepCopyInto(out *TailnetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TailnetStatus

type TailnetStatus struct {
	// +optional
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// +optional
	AuthKeyID string `json:"authKeyID,omitempty"`

	// +optional
	AuthKeyCreated *metav1.Time `json:"authKeyCreated,omitempty"`

	// +optional
	MagicDNSSuffix string `json:"magicDNSSuffix,omitempty"`

	// +optional
	InjectedPods int32 `json:"injectedPods,omitempty"`

	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

TailnetStatus defines the observed state of Tailnet.

func (*TailnetStatus) DeepCopy

func (in *TailnetStatus) DeepCopy() *TailnetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailnetStatus.

func (*TailnetStatus) DeepCopyInto

func (in *TailnetStatus) DeepCopyInto(out *TailnetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TailscaleConfig

type TailscaleConfig struct {
	// +kubebuilder:default=true
	// +optional
	AutoApprove bool `json:"autoApprove,omitempty"`

	// +kubebuilder:default=true
	// +optional
	AcceptDNS *bool `json:"acceptDNS,omitempty"`

	// +kubebuilder:default=false
	// +optional
	Userspace *bool `json:"userspace,omitempty"`

	// +kubebuilder:default="/var/lib/tailscale"
	// +optional
	StateDir string `json:"stateDir,omitempty"`

	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// +optional
	Tags []string `json:"tags,omitempty"`

	// +kubebuilder:default="ghcr.io/tailscale/tailscale:latest"
	// +optional
	Image string `json:"image,omitempty"`
}

TailscaleConfig contains Tailscale-specific configuration.

func (*TailscaleConfig) DeepCopy

func (in *TailscaleConfig) DeepCopy() *TailscaleConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailscaleConfig.

func (*TailscaleConfig) DeepCopyInto

func (in *TailscaleConfig) DeepCopyInto(out *TailscaleConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tailserve added in v0.0.8

type Tailserve struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TailserveSpec   `json:"spec,omitempty"`
	Status TailserveStatus `json:"status,omitempty"`
}

Tailserve is the Schema for the tailserves API.

func (*Tailserve) DeepCopy added in v0.0.8

func (in *Tailserve) DeepCopy() *Tailserve

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tailserve.

func (*Tailserve) DeepCopyInto added in v0.0.8

func (in *Tailserve) DeepCopyInto(out *Tailserve)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tailserve) DeepCopyObject added in v0.0.8

func (in *Tailserve) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TailserveList added in v0.0.8

type TailserveList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tailserve `json:"items"`
}

TailserveList contains a list of Tailserve.

func (*TailserveList) DeepCopy added in v0.0.8

func (in *TailserveList) DeepCopy() *TailserveList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailserveList.

func (*TailserveList) DeepCopyInto added in v0.0.8

func (in *TailserveList) DeepCopyInto(out *TailserveList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TailserveList) DeepCopyObject added in v0.0.8

func (in *TailserveList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TailserveSpec added in v0.0.8

type TailserveSpec struct {
	// ServiceName is the name of the Tailscale service (e.g., "web-server" becomes "svc:web-server")
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	ServiceName string `json:"serviceName"`

	// TailnetRef references the Tailnet resource to use
	// +kubebuilder:validation:Required
	TailnetRef string `json:"tailnetRef"`

	// Handlers defines the service proxy configuration
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Handlers []ServiceHandler `json:"handlers"`
}

TailserveSpec defines the desired state of Tailserve.

func (*TailserveSpec) DeepCopy added in v0.0.8

func (in *TailserveSpec) DeepCopy() *TailserveSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailserveSpec.

func (*TailserveSpec) DeepCopyInto added in v0.0.8

func (in *TailserveSpec) DeepCopyInto(out *TailserveSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TailserveStatus added in v0.0.8

type TailserveStatus struct {
	// +optional
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ConfigMapName is the name of the generated ConfigMap
	// +optional
	ConfigMapName string `json:"configMapName,omitempty"`

	// LastUpdated is the last time the serve config was updated
	// +optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// ObservedGeneration reflects the generation observed by the controller
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

TailserveStatus defines the observed state of Tailserve.

func (*TailserveStatus) DeepCopy added in v0.0.8

func (in *TailserveStatus) DeepCopy() *TailserveStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailserveStatus.

func (*TailserveStatus) DeepCopyInto added in v0.0.8

func (in *TailserveStatus) DeepCopyInto(out *TailserveStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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