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 ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.
func (*Backend) DeepCopyInto ¶ added in v0.0.8
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶ added in v0.0.8
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPProxy.
func (*TCPProxy) DeepCopyInto ¶ added in v0.0.8
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tailnet.
func (*Tailnet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tailnet) DeepCopyObject ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tailserve.
func (*Tailserve) DeepCopyInto ¶ added in v0.0.8
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
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.