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 ¶
- Variables
- type ApplicationExpose
- type Azure
- type CPUCost
- type CertManager
- type CloudFlare
- type Component
- type Container
- type Deployment
- type Egress
- type EgressConfig
- type ExternalDNS
- type Gcp
- type Ingress
- type IngressConfig
- type InstallStatus
- type Issuer
- type Keys
- type LiveKit
- type LiveKitConfig
- type LiveKitMesh
- type LiveKitMeshList
- type LiveKitMeshSpec
- type LiveKitMeshStatus
- type Logging
- type Monitoring
- type NamespacedName
- type Redis
- type Rtc
- type Rtmp
- type S3
- type Stunner
- type TurnServer
- type Whip
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Azure.
func (*Azure) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUCost.
func (*CPUCost) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Egress.
func (*Egress) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gcp.
func (*Gcp) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Issuer.
func (*Issuer) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Keys.
func (*Keys) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiveKit.
func (*LiveKit) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.
func (*Logging) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Redis.
func (*Redis) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rtc.
func (*Rtc) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rtmp.
func (*Rtmp) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3.
func (*S3) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stunner.
func (*Stunner) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Whip.
func (*Whip) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.