Sign inSign up

ookla/ooklaserver-helm

By ookla

•Updated about 1 month ago

Helm
0

228

ookla/ooklaserver-helm repository overview

⁠OoklaServer Helm Chart

Note: Intended for demonstration purposes only. Performance of OoklaServer in Kubernetes has not been tested. Configuration should be adjusted based on resource and network requirements.

⁠Introduction

This chart deploys OoklaServer on a Kubernetes cluster using the Helm package manager and is intended to be used with the OoklaServer Docker Image⁠.

⁠Usage

To install OoklaServer using Helm using the default values, run the following command:

helm upgrade --install ooklaserver .

⁠Configuration Options

⁠Service
⁠Session Affinity

The sessionAffinity option is hard coded to ClientIP in the service.yaml file. This should not be changed, as session affinity is required for OoklaServer test accuracy.

⁠Ingress

By default, the service type is set to NodePort and ingress is disabled.

The service type can be updated via the service.type value.

--set service.type=LoadBalancer

To enable ingress, set ingress.enabled to true.

--set ingress.enabled=true

This will create an ingress resource in the same namespace as the OoklaServer deployment.

⁠OoklaServer Configuration

To include optional files mentioned in the OoklaServer Docker Image README⁠, add one or more of the following options:

helm upgrade --install ooklaserver .
--set ooklaServer.localFiles.certificateFile=certs/yourcert.pem
--set ooklaServer.localFiles.privateKeyFile=certs/yourKey.key
--set ooklaServer.localFiles.caBundle=certs/yourCA.pem
--set ooklaServer.localFiles.propertiesFile=OoklaServer.properties
⁠OoklaServer Properties File Configuration

If no properties file is provided, the values.yaml parameters in the table below are used to write to a properties file via the config map located in templates/configmap.yaml. If additional properties are required, they should be added to the config map.

ParameterDescriptionDefault
ooklaServer.properties.OoklaServer.enableAutoUpdateEnable auto updatefalse
ooklaServer.properties.OoklaServer.useIPv6Use IPv6true
ooklaServer.properties.OoklaServer.ssl.useLetsEncryptUse LetsEncrypttrue
ooklaServer.properties.OoklaServer.clientAuthToken.denyInvalidDeny invalid client auth tokentrue
ooklaServer.properties.OoklaServer.tcpPortsTCP ports5060,8080
ooklaServer.properties.OoklaServer.udpPortsUDP ports5060,8080
ooklaServer.properties.OoklaServer.allowedDomainsAllowed domains*
ooklaServer.properties.OoklaServer.userAgentFilterEnabledEnable user agent filterfalse
ooklaServer.properties.OoklaServer.host.idHost ID""
ooklaServer.properties.OoklaServer.workerThreadPool.capacityWorker thread pool capacity30000
ooklaServer.properties.OoklaServer.workerThreadPool.stackSizeBytesWorker thread pool stack size102400
ooklaServer.properties.OoklaServer.ipTracking.gcIntervalMinutesIP tracking garbage collection interval5
ooklaServer.properties.OoklaServer.ipTracking.maxIdleAgeMinutesIP tracking max idle age35
ooklaServer.properties.OoklaServer.ipTracking.slidingWindowBucketLengthMinutesIP tracking sliding window bucket length5
ooklaServer.properties.OoklaServer.ipTracking.metricTopIpCountIP tracking metric top IP count5
ooklaServer.properties.OoklaServer.ipTracking.maxConnPerIpIP tracking max connections per IP500
ooklaServer.properties.OoklaServer.ipTracking.maxConnPerBucketPerIpIP tracking max connections per bucket per IP20000
ooklaServer.properties.OoklaServer.websocket.frameSizeLimitBytesWebsocket frame size limit5242880
ooklaServer.properties.OoklaServer.http.maxHeadersSizeHTTP max headers size65536
ooklaServer.properties.OoklaServer.openSSL.server.minimumTLSProtocolOpenSSL server minimum TLS protocol1.2
ooklaServer.properties.OoklaServer.logging.loggers.app.nameApplication logger nameApplication
ooklaServer.properties.OoklaServer.logging.loggers.app.levelApplication logger levelinformation
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.classApplication logger channel classConsoleChannel
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.patternApplication logger channel pattern%Y-%m-%d %H:%M:%S [%P - %I] [%p] %t
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.pathApplication logger channel path""
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.rotationApplication logger channel rotation""
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.archiveApplication logger channel archive""
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.compressApplication logger channel compress""
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.purgeCountApplication logger channel purge count""
ooklaServer.properties.OoklaServer.logging.loggers.access.nameAccess logger name""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.classAccess logger channel class""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.patternAccess logger channel pattern""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.pathAccess logger channel path""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.rotationAccess logger channel rotation""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.archiveAccess logger channel archive""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.compressAccess logger channel compress""
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.purgeCountAccess logger channel purge count""
⁠OoklaServer Image / Container Configuration

The following parameters can be used to specify the OoklaServer image and container.

ParameterDescriptionDefault
image.repositoryOoklaServer image repositoryookla/ooklaserver
image.tagOoklaServer image taglatest
image.pullPolicyOoklaServer image pull policyIfNotPresent
imagePullSecretsImage pull secrets[]
container.environmentEnvironment variables for the container{}
container.userOoklaServer userooklaserver
container.groupOoklaServer groupooklaserver
container.volumes.configVolumeOoklaServer config volumeooklaserver-config-vol
container.volumes.secretVolumeOoklaServer secret volumeooklaserver-secret-vol
ooklaServer.localFiles.certificateFileCertificate file""
ooklaServer.localFiles.privateKeyFilePrivate key file""
ooklaServer.localFiles.caBundleCA bundle""
ooklaServer.localFiles.propertiesFileProperties file""
⁠Helm Values

The following parameters can be used to configure the cluster, service, and ingress.

ParameterDescriptionDefault
nameOverrideOverride the name of the chart""
fullnameOverrideOverride the full name of the chart""
replicaCountNumber of OoklaServer replicas1
serviceAccount.createSpecifies whether a service account should be createdtrue
serviceAccount.annotationsAnnotations to add to the service account{}
serviceAccount.nameThe name of the service account to use. If not set and create is true, a name is generated using the fullname template""
podAnnotationsAnnotations to add to the pod{}
podSecurityContextSecurity context for the pod{}
securityContextSecurity context for the container{}
ingress.enabledSpecifies whether ingress should be enabledfalse
ingress.classNameIngress class namenginx
ingress.annotationsAnnotations to add to the ingress{}
ingress.hostsIngress hosts[]
ingress.pathsIngress paths[]
ingress.tlsIngress TLS[]
service.typeService typeNodePort
service.externalTrafficPolicyExternal traffic policyLocal
service.internalTrafficPolicyInternal traffic policyLocal
service.nodePortNode port31202
service.portPort8080
service.portProtocolPort protocolTCP
service.secondaryNodePortSecondary node port31203
service.secondaryPortSecondary port5060
service.secondaryPortProtocolSecondary port protocolUDP
resourcesResource requests and limits{}
autoscaling.enabledSpecifies whether autoscaling should be enabledfalse
autoscaling.minReplicasMinimum number of replicas1
autoscaling.maxReplicasMaximum number of replicas100
autoscaling.targetCPUUtilizationPercentageTarget CPU utilization percentage80
nodeSelectorNode selector{}
tolerationsTolerations[]
affinityAffinity{}

Tag summary

Content type

Helm

Digest

sha256:970e8afac…

Size

4.9 kB

Last updated

about 1 month ago

helm pull oci://registry-1.docker.io/ookla/ooklaserver-helm --version 2.11.6