v1alpha1

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group

Index

Constants

View Source
const GroupName = "config.apoxy.dev"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Config

type Config struct {
	metav1.TypeMeta `json:",inline"`
	// The name of this instance, if not specified the hostname of the machine
	// will be used.
	Name string `json:"name,omitempty"`
	// Whether to enable verbose logging.
	Verbose bool `json:"verbose,omitempty"`
	// The URL for the dashboard UI.
	DashboardURL string `json:"dashboardURL,omitempty"`
	// CurrentProject is the default project ID to use unless overridden.
	CurrentProject uuid.UUID `json:"currentProject,omitempty"`
	// Projects is a list of projects that this instance is managing.
	Projects []Project `json:"projects,omitempty"`
	// Tunnel is the configuration for the tunnel.
	Tunnel *TunnelConfig `json:"tunnel,omitempty"`
}

Config is the Schema for the Apoxy Backplane configuration.

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (*Config) DeepCopyObject

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

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

type KubernetesConfig added in v0.6.0

type KubernetesConfig struct {
	// The name of the kubeconfig context to use.
	// +optional
	Context string `json:"context,omitempty"`
	// The path to a kubeconfig file. If not specified, the standard kubeconfig
	// file paths will be used.
	// +optional
	KubeconfigPath string `json:"kubeconfigPath,omitempty"`
}

KubernetesConfig is the configuration for the Kubernetes API.

func (*KubernetesConfig) DeepCopy added in v0.6.0

func (in *KubernetesConfig) DeepCopy() *KubernetesConfig

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

func (*KubernetesConfig) DeepCopyInto added in v0.6.0

func (in *KubernetesConfig) DeepCopyInto(out *KubernetesConfig)

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

type Project

type Project struct {
	// ID is the project ID.
	ID uuid.UUID `json:"id"`
	// The base URL for API requests.
	APIBaseURL string `json:"apiBaseURL,omitempty"`
	// The host header to set for API requests.
	APIBaseHost string `json:"apiBaseHost,omitempty"`
	// APIKey is the API key for the project.
	APIKey string `json:"apiKey"`
	// Kubernetes configuration for the project.
	// If set, overrides APIBaseURL, APIBaseHost, and APIKey.
	// +optional
	KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"`
}

Project is a configuration for a project.

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

type STUNScheme added in v0.8.1

type STUNScheme string
const (
	STUNSchemeSTUN    STUNScheme = "stun"
	STUNSchemeSTUNS   STUNScheme = "stuns"
	STUNSchemeTURN    STUNScheme = "turn"
	STUNSchemeTURNSSL STUNScheme = "turns"
)

type STUNServer added in v0.8.1

type STUNServer struct {
	Scheme   STUNScheme `json:"scheme,omitempty"`
	Host     string     `json:"host,omitempty"`
	Port     int        `json:"port,omitempty"`
	Proto    StunProto  `json:"proto,omitempty"`
	Username string     `json:"username,omitempty"`
	Password string     `json:"password,omitempty"`
}

STUNServer represent a STUN (https://datatracker.ietf.org/doc/html/rfc7064) or a TURN (https://datatracker.ietf.org/doc/html/rfc7065) server URIs.

func (*STUNServer) DeepCopy added in v0.8.1

func (in *STUNServer) DeepCopy() *STUNServer

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

func (*STUNServer) DeepCopyInto added in v0.8.1

func (in *STUNServer) DeepCopyInto(out *STUNServer)

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

type StunProto added in v0.8.1

type StunProto string
const (
	StunProtoUDP StunProto = "udp"
	StunProtoTCP StunProto = "tcp"
)

type TunnelConfig added in v0.4.2

type TunnelConfig struct {
	// Mode is the mode of the tunnel.
	Mode TunnelMode `json:"mode,omitempty"`
	// SocksPort, when running in userspace mode, is the port to listen on for
	// SOCKS5 proxy connections. If not specified it will default to 1080.
	SocksPort *int `json:"socksPort,omitempty"`
	// STUNServers is an optional list of STUN servers to use for determining the
	// external address of the tunnel node. If not specified it will default to
	// Google and Cloudflare's public STUN servers.
	STUNServers []STUNServer `json:"stunServers,omitempty"`
	// PacketCapturePath is an optional path to write packet captures to.
	// If not specified, packet sniffing will be disabled.
	// This is only available in userspace mode and intended for debugging purposes.
	PacketCapturePath string `json:"packetCapturePath,omitempty"`
}

TunnelConfig is the configuration for the tunnel.

func (*TunnelConfig) DeepCopy added in v0.4.2

func (in *TunnelConfig) DeepCopy() *TunnelConfig

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

func (*TunnelConfig) DeepCopyInto added in v0.4.2

func (in *TunnelConfig) DeepCopyInto(out *TunnelConfig)

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

type TunnelMode added in v0.4.2

type TunnelMode string

TunnelMode is the mode of the tunnel.

const (
	// Use the kernel implementation of WireGuard.
	TunnelModeKernel TunnelMode = "kernel"
	// Use an unprivileged userspace implementation of WireGuard.
	TunnelModeUserspace TunnelMode = "userspace"
)

Jump to

Keyboard shortcuts

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