Chart reference
The Helm chart aims to offer easy config settings through values for most used Kubernetes or Stream features. If something you need is not yet covered, you can also use:
-
extraConfigto directly edit Horizon config; -
extraObjectsto add related Kubernetes resources.
The chart source is also freely available to investigate unwanted behaviors.
image
By default, we fetch the Stream image from the Evertrust registry. If the tag is null or unset, the default value will be set the to the chart appVersion. As the official Evertrust registry is not in open-access, you should specify an image pull secret that has access to Stream images.
updateStrategy
Set it to Recreate if you use a PV that cannot be mounted on multiple pods
|
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
extraVolumes
Optionally specify extra list of additional volumes for Stream pods
extraVolumes: []
extraVolumes:
- name: extra-volume-name
configMap:
name: example-configmap
extraVolumeMounts
Optionally specify extra list of additional volumeMounts for Stream container(s)
extraVolumeMounts: []
extraVolumeMounts:
- name: extra-volume-name
mountPath: /mnt/extra-volume
sidecars
Add additional sidecar containers to the Stream pod
sidecars: []
sidecars:
- name: your-image-name
image: your-image
imagePullPolicy: Always
ports:
- name: portname
containerPort: 1234
podAffinityPreset
Pod affinity preset. Ignored if affinity is set. Allowed values: soft or hard
podAffinityPreset: ""
podAntiAffinityPreset
Pod anti-affinity preset. Ignored if affinity is set. Allowed values: soft or hard
podAntiAffinityPreset: "soft"
nodeAffinityPreset
affinity
| podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it’s set |
affinity: {}
topologySpreadConstraints
Spread Constraints for pod assignment
topologySpreadConstraints: []
topologySpreadConstraints:
- maxSkew: 1
topologyKey: node
whenUnsatisfiable: DoNotSchedule
resources
Stream containers' resource requests and limits
The JVM will automatically adapt the memory allocation pool to the container allocated resources.
containerSecurityContext
startupProbe
disruptionBudget
environment
Configure environment variable injections into Stream’s pods. This is the way you should inject secrets into the app if you wish to use the Kubernetes secrets implementation.
environment: []
dnsConfig
Pod’s DNS Configuration
This value is useful if you need to resolve your custom domain for ACME challenges
dnsConfig: {}
nameservers:
- 1.2.3.4
searches:
- ns1.svc.cluster-domain.example
- my.dns.search.suffix
options:
- name: ndots
value: "2"
service
Service configuration
loadBalancerIP
Load balancer IP for the Stream Service (optional, cloud specific)
service.loadBalancerIP: ""
loadBalancerSourceRanges
Address that are allowed when service is LoadBalancer
service.loadBalancerSourceRanges: []
loadBalancerSourceRanges:
- 10.10.10.0/24
ingress
Ingress configuration
ingressClassName
IngressClass that will be used to implement the Ingress (Kubernetes 1.18+)
ingress.ingressClassName: ""
path
Default path for the ingress record NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
ingress.path: "/"
annotations
Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
ingress.annotations: {}
annotations:
cert-manager.io/cluster-issuer: cluster-issuer-name
tls
Enable TLS configuration for the hostname defined at ingress.hostname TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.ingress.hostname }} You can use the ingress.secrets parameter to create this TLS secret, relay on cert-manager to create it, or let the chart create self-signed certificates for you
ingress.tls: false
extraHosts
Additional hostnames to be covered with this ingress record Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
ingress.extraHosts: []
extraHosts:
- name: stream.local
path: /
extraPaths
An array with additional arbitrary paths that may need to be added to the ingress under the main host
ingress.extraPaths: []
extraPaths:
- path: /*
backend:
serviceName: ssl-redirect
servicePort: use-annotation
extraTls
The tls configuration for additional hostnames to be covered with this ingress record.
ingress.extraTls: []
extraTls:
- hosts:
- stream.local
secretName: stream.local-tls
appSecret
Configure the Play secret for the Stream instance. As this is used for cryptographic purposes, it should be fetched from the environment.
appSecret:
secretName: ''
secretKey: ''
appSecret:
valueFrom:
secretKeyRef:
name: stream-secret
key: appSecret
license
A valid Stream license is required for the software to run. You should store it (base64-encoded) in a Kubernetes secret and specify the secret details here.
README.md[README.md]
initialAdminHashPassword
allowedHosts
Additional allowed hosts that are whitelisted to access the Stream UI. Configured ingresses will automatically be added to the list, this should only be used when port forwarding or when an ingress is created manually.
allowedHosts:
- localhost:9000
- localhost:9443
allowedHosts:
- localhost:9000
- demo.example.org
trustedProxies
Depending on your Kubernetes environment, Ingress IPs may be unpredictable. In that case, you should trust whitelist every IP in your local addressing space.
trustedProxies:
- 0.0.0.0/0
- '::/0'
trustedProxies:
- 0.0.0.0/0
- ::/0
logFormat
Format in which logs will be outputted. Can be set either to "console" or "json" for structured logging.
logFormat: "console"
serviceAccount
clientCertificateHeader
Indicates to Stream in which header the client certificate will be passed by the Ingress controller.
clientCertificateHeader: ""
podsDirectConnect
Whether Stream pods should connect to each other directly via IP, or through a DNS record generated by a Kubernetes DNS server. Useful if the kube-dns server is configured with "pods disabled" or if you use GKE Cloud DNS NOTE: This is not support by Istio
podsDirectConnect: false
extraConfig
Additional configuration for Stream. Injecting arbitrary config could result in unexpected behavior. Proceed with caution.
extraConfig: ""
extraConfig: |
stream {
notification.mail.attachment.extension.der = "der"
}
externalDatabase
mailer
Configuration for the Stream mailer. You should configure this if you want your Stream instance to be able to send emails. You should fetch credentials from the environment if they are required.