v1alpha1

package
v0.0.0-...-6da7b20 Latest Latest
Warning

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

Go to latest
Published: May 16, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the livekit.stunner v1alpha1 API group +kubebuilder:object:generate=true +groupName=livekit.stunner.l7mp.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "livekit.stunner.l7mp.io", 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 ApplicationExpose

type ApplicationExpose struct {

	// HostName is the DNS host name that will be used by both Cert-Manager, External DNS and Envoy GW.
	// DnsZone Certificate requests will be issues against this HostName.
	// This ChallengeSolver will use this to solve the challenge.
	//
	// +kubebuilder:validation:Required
	HostName *string `yaml:"hostName" json:"hostName"`

	// CertManager will obtain certificates from a variety of Issuers, both popular public Issuers and private Issuers,
	// and ensure the certificates are valid and up-to-date, and will attempt to renew certificates at a configured time before expiry.
	//
	//
	// +optional
	CertManager *CertManager `yaml:"certManager" json:"certManager,omitempty"`

	// ExternalDNS creates the A record in the DNS provider configured.
	// Currently, only CloudFlare is support. To use other DNS services please configure your own External DNS deployment
	// and omit this field.
	// Make sure to enable RBAC resources to watch HTTPRoutes and/or services.
	// See more: https://github.com/kubernetes-sigs/external-dns/tree/master/docs/tutorials
	//
	// +optional
	ExternalDNS *ExternalDNS `yaml:"externalDNS" json:"externalDNS"`
}

func (*ApplicationExpose) DeepCopy

func (in *ApplicationExpose) DeepCopy() *ApplicationExpose

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

func (*ApplicationExpose) DeepCopyInto

func (in *ApplicationExpose) DeepCopyInto(out *ApplicationExpose)

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

type Azure

type Azure struct {
	AccountName   *string `yaml:"account_name" json:"account_name"`
	AccountKey    *string `yaml:"account_key" json:"account_key"`
	ContainerName *string `yaml:"container_name" json:"container_name"`
}

func (*Azure) DeepCopy

func (in *Azure) DeepCopy() *Azure

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

func (*Azure) DeepCopyInto

func (in *Azure) DeepCopyInto(out *Azure)

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

type CPUCost

type CPUCost struct {
	// +optional
	RTMPCPUCost *int `yaml:"rtmp_cpu_cost" json:"rtmp_cpu_cost"`
	// +optional
	WHIPCPUCost *int `yaml:"whip_cpu_cost" json:"whip_cpu_cost"`
	// +optional
	WHIPBypassTranscodingCPUCost *int `yaml:"whip_bypass_transcoding_cpu_cost" json:"whip_bypass_transcoding_cpu_cost"`
}

func (*CPUCost) DeepCopy

func (in *CPUCost) DeepCopy() *CPUCost

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

func (*CPUCost) DeepCopyInto

func (in *CPUCost) DeepCopyInto(out *CPUCost)

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

type CertManager

type CertManager struct {
	// Issuer holds the necessary configuration for the used Issuer
	//
	// +optional
	Issuer *Issuer `json:"issuer,omitempty"`
}

func (*CertManager) DeepCopy

func (in *CertManager) DeepCopy() *CertManager

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

func (*CertManager) DeepCopyInto

func (in *CertManager) DeepCopyInto(out *CertManager)

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

type CloudFlare

type CloudFlare struct {
	// Token is the API Token to authenticate the external DNS requests towards the CloudFlare servers
	Token *string `yaml:"token" json:"token"`

	// Email is the email address of the account associated with the Token provided
	Email *string `yaml:"email" json:"email"`
}

func (*CloudFlare) DeepCopy

func (in *CloudFlare) DeepCopy() *CloudFlare

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

func (*CloudFlare) DeepCopyInto

func (in *CloudFlare) DeepCopyInto(out *CloudFlare)

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

type Component

type Component struct {

	// LiveKit is the main resource that the operator manages. By default, it supports
	// only the LiveKit server as a media server but in the future it might support other
	// media servers as well.
	// +kubebuilder:validation:Required
	LiveKit *LiveKit `json:"liveKit"`

	// LiveKit's Ingress resource descriptor.
	// This resource makes it possible to stream videos(prerecorded or live) into
	// the Kubernetes cluster and further into a chosen room. Note that this resource
	// enables a one-way communication between the client and the media server.
	//
	// +optional
	Ingress *Ingress `json:"ingress,omitempty"`

	// LiveKit's Egress resource descriptor.
	// Egress makes it possible to stream a single user's or any number of users'
	// streams out of a room onto an RTMP port.
	//
	// +optional
	Egress *Egress `json:"egress,omitempty"`

	// ApplicationExpose is the component that contains all required subcomponents that are accountable for exposing the
	// application to the internet on a secure, encrypted way. This includes the Cert-manager, Envoy GW, and ExternalDns.
	// +kubebuilder:validation:Required
	ApplicationExpose *ApplicationExpose `json:"applicationExpose"`

	// Monitoring enables the Prometheus metric exposition, installs
	// a Prometheus operator and Grafana operator with the corresponding resources
	//
	// +optional
	Monitoring *Monitoring `json:"monitoring,omitempty"`

	// Stunner holds the configuration for the to-be created STUNner resources.
	// These resources provide the necessary resources for a possible/successful TURN connection
	//
	// +optional
	Stunner *Stunner `json:"stunner"`
}

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

type Container

type Container struct {
	// Container image name.
	//
	// +optional
	Image string `json:"image,omitempty"`

	// Image pull policy. One of Always, Never, IfNotPresent.
	//
	// +optional
	ImagePullPolicy *corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Entrypoint array.
	//
	// +optional
	Command []string `json:"command,omitempty"`

	// Arguments to the entrypoint.
	//
	// +optional
	Args []string `json:"args,omitempty"`

	// List of environment variables to set in the LiveKit container.
	//
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Resources required by LiveKit.
	//
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Optional duration in seconds the LiveKit needs to terminate gracefully. Defaults to 3600 seconds.
	//
	// +kubebuilder:default=3600
	// +optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// Host networking requested for the LiveKit pod to use the host's network namespace.
	// Defaults to false.
	//
	// +kubebuilder:default=false
	// +optional
	HostNetwork bool `json:"hostNetwork,omitempty"`

	// Scheduling constraints.
	//
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// SecurityContext holds pod-level security attributes and common container settings.
	//
	// +optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// If specified, the pod's tolerations.
	//
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// If specified, the health-check port.
	//
	// +optional
	HealthCheckPort *int `json:"healthCheckPort,omitempty"`
}

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

type Deployment

type Deployment struct {

	// Name is the name of the Deployment that will be created.
	// Optional, if not filled default name 'livekit' will be used
	// Note that the same namespace will be used as the CR was deployed into.
	//
	// +kubebuilder:default=livekit-server
	// +optional
	Name *string `json:"name"`

	// Replicas Number of desired pods. This is a pointer to distinguish between explicit zero and not
	// specified. Defaults to 1.
	//
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Container template for the containers created in each Pod in the replicaset.
	// If omitted the default template will be used. Which spawns a single container
	//TODO
	//
	// +optional
	Container *Container `json:"container"`

	// Config holds the configuration for the livekit server
	Config *LiveKitConfig `json:"config"`
}

func (*Deployment) DeepCopy

func (in *Deployment) DeepCopy() *Deployment

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

func (*Deployment) DeepCopyInto

func (in *Deployment) DeepCopyInto(out *Deployment)

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

type Egress

type Egress struct {
	// Config holds configuration for the LiveKit Egress
	Config *EgressConfig `yaml:"config" json:"config,omitempty"`

	// Container template for the containers created in each Pod in the replicaset.
	// If omitted the default template will be used. Which spawns a single container
	//TODO
	//
	// +optional
	Container *Container `json:"container"`
}

func (*Egress) DeepCopy

func (in *Egress) DeepCopy() *Egress

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

func (*Egress) DeepCopyInto

func (in *Egress) DeepCopyInto(out *Egress)

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

type EgressConfig

type EgressConfig struct {

	// HealthPort if used, will open an http port for health checks.
	// +optional
	HealthPort *int `yaml:"health_port" json:"health_port"`

	// Port used to host default templates.
	// +optional
	TemplatePort *int `yaml:"template_port" json:"template_port"`

	// PrometheusPort port used to collect Prometheus metrics.
	// +optional
	PrometheusPort *int `yaml:"prometheus_port" json:"prometheus_port"`

	// LogLevel Sets the log level of the deployed Egress resource.
	// +kubebuilder:validation:Enum=debug;info;warn;error
	// +optional
	LogLevel *string `yaml:"log_level" json:"log_level"`

	//TemplateBase
	//EnableChromeSandbox
	// +optional
	Insecure *bool `yaml:"insecure" json:"insecure"`

	// +optional
	S3 *S3 `yaml:"s3" json:"s3"`

	// +optional
	Azure *Azure `yaml:"azure" json:"azure"`

	// +optional
	Gcp *Gcp `yaml:"gcp" json:"gcp"`
}

func (*EgressConfig) DeepCopy

func (in *EgressConfig) DeepCopy() *EgressConfig

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

func (*EgressConfig) DeepCopyInto

func (in *EgressConfig) DeepCopyInto(out *EgressConfig)

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

type ExternalDNS

type ExternalDNS struct {

	// CloudFlare holds the necessary configuration for the CloudFlare ExternalDNS integration.
	// Currently, only CloudFlare is supported by the operator.
	CloudFlare *CloudFlare `yaml:"cloudFlare" json:"cloudFlare"`
}

func (*ExternalDNS) DeepCopy

func (in *ExternalDNS) DeepCopy() *ExternalDNS

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

func (*ExternalDNS) DeepCopyInto

func (in *ExternalDNS) DeepCopyInto(out *ExternalDNS)

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

type Gcp

type Gcp struct {
	CredentialsJson *string `yaml:"credentials_json" json:"credentials_json"`
	Bucket          *string `yaml:"bucket" json:"bucket"`
}

func (*Gcp) DeepCopy

func (in *Gcp) DeepCopy() *Gcp

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

func (*Gcp) DeepCopyInto

func (in *Gcp) DeepCopyInto(out *Gcp)

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

type Ingress

type Ingress struct {

	// Config holds configuration for the LiveKit Ingress
	//
	// +optional
	Config *IngressConfig `yaml:"config" json:"config,omitempty"`
}

Ingress is the LiveKit tool not the gateway resource to ingest traffic into the cluster

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

type IngressConfig

type IngressConfig struct {
	// CPUCost CPU resources to reserve when accepting RTMP sessions, in fraction of core count.
	// +optional
	CPUCost *CPUCost `yaml:"cpu_cost" json:"cpu_cost"`

	// HealthPort if used, will open an http port for health checks.
	// +optional
	HealthPort *int `yaml:"health_port" json:"health_port"`

	// PrometheusPort port used to collect Prometheus metrics.
	// +optional
	PrometheusPort *int `yaml:"prometheus_port" json:"prometheus_port"`
	// Rtmp holds the configuration for the RTMP service
	// If specified the all the necessary rescources (e.g.: gatewayclass, gateway listener, tcp route) will be created.
	// If omitted completely no resources will be created for it.
	//
	// +optional
	RTMPPort *int `yaml:"rtmp_port" json:"rtmp_port"`
	// Whip holds the configuration for the WHIP service
	// If specified the all the necessary rescources (e.g.: gatewayclass, gateway listener, http route) will be created.
	// If omitted completely no resources will be created for it.
	//
	// +optional
	WHIPPort *int `yaml:"whip_port" json:"whip_port"`

	// HTTPRelayPort TCP port for communication between the main service process and session handler processes
	// +optional
	HTTPRelayPort *int `yaml:"http_relay_port" json:"http_relay_port"`

	// Logging is used to set the log level of the Ingress
	// +optional
	Logging *Logging `yaml:"logging" json:"logging"`
}

func (*IngressConfig) DeepCopy

func (in *IngressConfig) DeepCopy() *IngressConfig

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

func (*IngressConfig) DeepCopyInto

func (in *IngressConfig) DeepCopyInto(out *IngressConfig)

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

type InstallStatus

type InstallStatus string

InstallStatus is the status of the component. Enum with the following possible values: -NONE meaning the component is not present -UPDATING meaning the component is being updated to a different version -RECONCILING meaning the controller has started but not yet completed reconciliation loop for the component -HEALTHY meaning the component is healthy -ERROR meaning a critical error happened to the component -ACTION_REQUIRED meaning there is a user action needed in order to proceed +kubebuilder:validation:Enum=NONE;UPDATING;RECONCILING;HEALTHY;ERROR;ACTION_REQUIRED

type Issuer

type Issuer struct {

	// Email is the email address to be associated with the ACME account.
	// This field is optional, but it is strongly recommended to be set.
	// It will be used to contact you in case of issues with your account or
	// certificates, including expiry notification emails.
	// This field may be updated after the account is initially registered.
	// +optional
	Email *string `json:"email,omitempty"`

	// ChallengeSolver Used to configure a DNS01 challenge provider to be used when solving DNS01 challenges.
	//
	// +kubebuilder:validation:Enum=cloudflare;route53;clouddns;digitalocean;azuredns
	// +kubebuilder:validation:Required
	ChallengeSolver *string `json:"challengeSolver"`

	// ApiToken is the API token for the CloudFlare account that owns the challenged DnsZone
	//
	// +kubebuilder:validation:Required
	ApiToken *string `json:"apiToken"`
}

func (*Issuer) DeepCopy

func (in *Issuer) DeepCopy() *Issuer

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

func (*Issuer) DeepCopyInto

func (in *Issuer) DeepCopyInto(out *Issuer)

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

type Keys

type Keys struct {
	AccessToken *map[string]string `yaml:"access_token" json:"access_token,omitempty"`
}

func (*Keys) DeepCopy

func (in *Keys) DeepCopy() *Keys

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

func (*Keys) DeepCopyInto

func (in *Keys) DeepCopyInto(out *Keys)

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

type LiveKit

type LiveKit struct {

	// +kubebuilder:validation:Enum=livekit
	// +kubebuilder:default=livekit
	// +optional
	Type string `json:"type,omitempty"`

	// Deployment holds the configuration for the future Deployment manifest that will be created
	// by the operator.
	//
	// +kubebuilder:validation:Required
	Deployment *Deployment `json:"deployment"`
}

func (*LiveKit) DeepCopy

func (in *LiveKit) DeepCopy() *LiveKit

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

func (*LiveKit) DeepCopyInto

func (in *LiveKit) DeepCopyInto(out *LiveKit)

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

type LiveKitConfig

type LiveKitConfig struct {

	// Keys API key / secret pairs.
	// Keys are used for JWT authentication, server APIs would require a keypair in order to generate access tokens
	// and make calls to the server
	//
	// +kubebuilder:validation:Required
	Keys *map[string]string `yaml:"keys" json:"keys,omitempty"`

	// LogLevel is the level used in the LiveKit server
	//
	// +kubebuilder:default=info
	// +kubebuilder:validation:Enum=debug;info;warn;error
	// +optional
	LogLevel *string `yaml:"log_level" json:"log_level,omitempty"`

	// Port is main TCP port for RoomService and RTC endpoint.
	//
	// +kubebuilder:default=7880
	// +optional
	Port *int `yaml:"port" json:"port,omitempty"`

	// Redis in case redis is configured no Redis resources will be created by the operator
	// The value of this field inherited to the Ingress and Egress config as well
	Redis *Redis `yaml:"redis" json:"redis,omitempty"`

	// Rtc WebRTC configuration for LiveKit
	//
	Rtc *Rtc `yaml:"rtc" json:"rtc,omitempty"`
}

func (*LiveKitConfig) DeepCopy

func (in *LiveKitConfig) DeepCopy() *LiveKitConfig

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

func (*LiveKitConfig) DeepCopyInto

func (in *LiveKitConfig) DeepCopyInto(out *LiveKitConfig)

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

type LiveKitMesh

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

	Spec   LiveKitMeshSpec   `json:"spec,omitempty"`
	Status LiveKitMeshStatus `json:"status,omitempty"`
}

LiveKitMesh is the Schema for the livekitmeshes API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*LiveKitMesh) DeepCopy

func (in *LiveKitMesh) DeepCopy() *LiveKitMesh

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

func (*LiveKitMesh) DeepCopyInto

func (in *LiveKitMesh) DeepCopyInto(out *LiveKitMesh)

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

func (*LiveKitMesh) DeepCopyObject

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

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

type LiveKitMeshList

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

LiveKitMeshList contains a list of LiveKitMesh

func (*LiveKitMeshList) DeepCopy

func (in *LiveKitMeshList) DeepCopy() *LiveKitMeshList

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

func (*LiveKitMeshList) DeepCopyInto

func (in *LiveKitMeshList) DeepCopyInto(out *LiveKitMeshList)

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

func (*LiveKitMeshList) DeepCopyObject

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

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

type LiveKitMeshSpec

type LiveKitMeshSpec struct {

	// +kubebuilder:validation:Required
	Components *Component `json:"components"`
}

LiveKitMeshSpec defines the desired state of LiveKitMesh

func (*LiveKitMeshSpec) DeepCopy

func (in *LiveKitMeshSpec) DeepCopy() *LiveKitMeshSpec

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

func (*LiveKitMeshSpec) DeepCopyInto

func (in *LiveKitMeshSpec) DeepCopyInto(out *LiveKitMeshSpec)

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

type LiveKitMeshStatus

type LiveKitMeshStatus struct {

	// ComponentStatus is a key-value store to signal the components' status after installation
	// The map will give a brief overview for the user which component was successful or failed etc.
	// THE FIELD IS POPULATED BY THE OPERATOR NOT BY THE USER. IT WILL BE OVERWRITTEN
	ComponentStatus map[string]InstallStatus `json:"componentStatus"`

	// OverallStatus of all components controlled by the operator.
	//
	// * If all components have status `NONE`, overall status is `NONE`.
	// * If all components are `HEALTHY`, overall status is `HEALTHY`.
	// * If one or more components are `RECONCILING` and others are `HEALTHY`, overall status is `RECONCILING`.
	// * If one or more components are `UPDATING` and others are `HEALTHY`, overall status is `UPDATING`.
	// * If components are a mix of `RECONCILING`, `UPDATING` and `HEALTHY`, overall status is `UPDATING`.
	// * If any component is in `ERROR` state, overall status is `ERROR`.
	// * If further action is needed for reconciliation to proceed, overall status is `ACTION_REQUIRED`.
	//
	OverallStatus *InstallStatus `json:"overallStatus"`

	// ConfigStatus holds the current configuration for the LiveKit component
	// if it is available in the cluster. nil meaning the ConfigMap provided is not present.
	//
	ConfigStatus *string `json:"configStatus"`
}

LiveKitMeshStatus defines the observed state of LiveKitMesh

func (*LiveKitMeshStatus) DeepCopy

func (in *LiveKitMeshStatus) DeepCopy() *LiveKitMeshStatus

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

func (*LiveKitMeshStatus) DeepCopyInto

func (in *LiveKitMeshStatus) DeepCopyInto(out *LiveKitMeshStatus)

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

type Logging

type Logging struct {

	// +kubebuilder:validation:Enum=info;debug;warn;error
	Level string `yaml:"level" json:"level"`
}

func (*Logging) DeepCopy

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto

func (in *Logging) DeepCopyInto(out *Logging)

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

type Monitoring

type Monitoring struct {
}

func (*Monitoring) DeepCopy

func (in *Monitoring) DeepCopy() *Monitoring

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

func (*Monitoring) DeepCopyInto

func (in *Monitoring) DeepCopyInto(out *Monitoring)

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

type NamespacedName

type NamespacedName struct {
	// Namespace is the namespace of the configMap resource
	Namespace *string `json:"namespace"`
	// Name is the name of the configMap resource
	Name *string `json:"name"`
}

NamespacedName is the namespaced name of the configmap that stores the base configuration for a given LiveKit container

func (*NamespacedName) DeepCopy

func (in *NamespacedName) DeepCopy() *NamespacedName

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

func (*NamespacedName) DeepCopyInto

func (in *NamespacedName) DeepCopyInto(out *NamespacedName)

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

type Redis

type Redis struct {
	Address  *string `yaml:"address" json:"address,omitempty"`
	Username *string `yaml:"username" json:"username,omitempty"`
	Password *string `yaml:"password" json:"password,omitempty"`
	Db       *string `yaml:"db" json:"db,omitempty"`
}

Redis holds the configuration for the Redis deployment If the field is configured, no redis will be created by the operator, in this case user deployed Redis deployment is required If it is omitted, a default Redis will be created.

func (*Redis) DeepCopy

func (in *Redis) DeepCopy() *Redis

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

func (*Redis) DeepCopyInto

func (in *Redis) DeepCopyInto(out *Redis)

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

type Rtc

type Rtc struct {

	// PortRangeEnd UDP ports to use for client traffic.
	//
	// +kubebuilder:default=50000
	// +optional
	PortRangeEnd *int `yaml:"port_range_end" json:"port_range_end,omitempty"`

	// PortRangeStart UDP ports to use for client traffic.
	//
	// +kubebuilder:default=60000
	// +optional
	PortRangeStart *int `yaml:"port_range_start" json:"port_range_start,omitempty"`

	// TcpPort When set, LiveKit enable WebRTC ICE over TCP when UDP isn't available.
	//
	// +kubebuilder:default=7801
	// +optional
	TcpPort *int `yaml:"tcp_port" json:"tcp_port,omitempty"`
}

func (*Rtc) DeepCopy

func (in *Rtc) DeepCopy() *Rtc

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

func (*Rtc) DeepCopyInto

func (in *Rtc) DeepCopyInto(out *Rtc)

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

type Rtmp

type Rtmp struct {
	Port *int `yaml:"port" json:"port,omitempty"`
}

func (*Rtmp) DeepCopy

func (in *Rtmp) DeepCopy() *Rtmp

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

func (*Rtmp) DeepCopyInto

func (in *Rtmp) DeepCopyInto(out *Rtmp)

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

type S3

type S3 struct {
	AccessKey *string `yaml:"access_key" json:"access_key"`
	Secret    *string `yaml:"secret" json:"secret"`
	Region    *string `yaml:"region" json:"region"`
	Endpoint  *string `yaml:"endpoint" json:"endpoint"`
	Bucket    *string `yaml:"bucket" json:"bucket"`
}

func (*S3) DeepCopy

func (in *S3) DeepCopy() *S3

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

func (*S3) DeepCopyInto

func (in *S3) DeepCopyInto(out *S3)

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

type Stunner

type Stunner struct {

	// GatewayConfig is the configuration for the STUNner deployment's GatewayConfig object
	//
	// +kubebuilder:validation:Required
	GatewayConfig *stnrgwv1.GatewayConfigSpec `yaml:"gatewayConfig" json:"gatewayConfig"`

	// GatewayListeners list is the configuration for the STUNner deployment's Gateway object
	//
	// +kubebuilder:validation:Required
	GatewayListeners []gwapiv1.Listener `yaml:"gatewayListeners" json:"gatewayListeners"`
}

func (*Stunner) DeepCopy

func (in *Stunner) DeepCopy() *Stunner

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

func (*Stunner) DeepCopyInto

func (in *Stunner) DeepCopyInto(out *Stunner)

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

type TurnServer

type TurnServer struct {
	Credential *string `yaml:"credential" json:"credential,omitempty"`
	Host       *string `yaml:"host" json:"host,omitempty"`
	Port       *int    `yaml:"port" json:"port,omitempty"`
	Protocol   *string `yaml:"protocol" json:"protocol,omitempty"`
	Username   *string `yaml:"username" json:"username,omitempty"`
	AuthURI    *string `yaml:"uri,omitempty" json:"uri,omitempty"`
}

func (*TurnServer) DeepCopy

func (in *TurnServer) DeepCopy() *TurnServer

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

func (*TurnServer) DeepCopyInto

func (in *TurnServer) DeepCopyInto(out *TurnServer)

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

type Whip

type Whip struct {
	Port *int `yaml:"port" json:"port,omitempty"`
}

func (*Whip) DeepCopy

func (in *Whip) DeepCopy() *Whip

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

func (*Whip) DeepCopyInto

func (in *Whip) DeepCopyInto(out *Whip)

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