Skip to main content
logoTetrate Enterprise Gateway for EnvoyVersion: v1.9.x

teg-envoy-gateway-helm

Version: v1.9.0 Type: application AppVersion: v1.9.0

The Helm chart for Tetrate Enterprise Gateway for Envoy

Homepage: https://tetrate.io/

Requirements

RepositoryNameVersion
oci://docker.io/envoyproxygateway-helmv1.9.0

Values

KeyTypeDefaultDescription
certgenobject{"job":{"affinity":{},"annotations":{},"nodeSelector":{},"pod":{"labels":{}},"resources":{},"tolerations":[],"ttlSecondsAfterFinished":30},"rbac":{"annotations":{},"labels":{}}}TEG Certificate Generation Job configuration used to generate TLS Certificates for Redis
certgen.job.affinityobject{}Affinity rules for certgen job pod scheduling
certgen.job.nodeSelectorobject{}Node selector for certgen job pod scheduling (e.g. pin to amd64 nodes)
certgen.job.podobject-Tetrate Enterprise Gateway for Envoy certgen job pod configuration
certgen.job.pod.labelsobject{}Custom labels to add to the certgen job pods (in addition to standard labels)
certgen.job.tolerationslist[]Tolerations for certgen job pod scheduling
commonLabelsobject{}Labels to apply to all resources created by this chart (Deployment, Job, Service, RBAC, etc.)
config.envoyProxyobject{"logging":{"level":{"default":"warn"}},"provider":{"kubernetes":{"envoyDeployment":{"container":{"image":"docker.io/tetrate/teg-envoy:distroless-v1.9.0"}}},"type":"Kubernetes"}}Configuration for every Envoy Proxy replica in each Gateway which uses the GatewayClass created by this chart (named by gatewayClass.name, which references the EnvoyProxy resource made from these values). This is merged with defaults to product an EnvoyProxy object (https://gateway.envoyproxy.io/latest/api/extension_types/#envoyproxyspec). Values specified here take precedence.
config.envoyProxy.logging.level.defaultstring"warn"All Envoy log areas to log at level warn Individual areas can be altered with eg oauth2: debug
config.envoyProxy.providerobject{"kubernetes":{"envoyDeployment":{"container":{"image":"docker.io/tetrate/teg-envoy:distroless-v1.9.0"}}},"type":"Kubernetes"}Default data-plane Envoy image for the EnvoyProxy resource. This is a Built-on-Envoy image that bundles the dynamic modules required for WAF, so WAF works out of the box without any image customization. Override this to use a FIPS Envoy image (e.g. fips-containers.teg.tetratelabs.com/envoy:distroless-vX.Y.Z).
deploymentobject-Tetrate Enterprise Gateway for Envoy control plane components configuration options
deployment.tegEnvoyGatewayobject-Tetrate Enterprise Gateway for Envoy deployment configuration
deployment.tegEnvoyGateway.annotationsobject{}Custom annotations to add to the Deployment metadata
deployment.tegEnvoyGateway.containerobject{"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532,"seccompProfile":{"type":"RuntimeDefault"}}}Tetrate Enterprise Gateway for Envoy con configuration
deployment.tegEnvoyGateway.imageobject-Tetrate Enterprise Gateway for Envoy image configuration
deployment.tegEnvoyGateway.image.pullPolicystring"IfNotPresent"Tetrate Enterprise Gateway for Envoy image pull policy
deployment.tegEnvoyGateway.image.pullSecretslist[]Tetrate Enterprise Gateway for Envoy image pull secrets
deployment.tegEnvoyGateway.image.repositorystring"docker.io/tetrate/teg-envoy-gateway"Tetrate Enterprise Gateway for Envoy image repository
deployment.tegEnvoyGateway.image.tagstring"v1.9.0"Tetrate Enterprise Gateway for Envoy image tag
deployment.tegEnvoyGateway.podobject{"affinity":{},"annotations":{},"labels":{},"nodeSelector":{},"securityContext":{"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532,"seccompProfile":{"type":"RuntimeDefault"}},"tolerations":[],"topologySpreadConstraints":[]}Tetrate Enterprise Gateway for Envoy pod configuration
deployment.tegEnvoyGateway.pod.annotationsobject{}Custom annotations to add to pods
deployment.tegEnvoyGateway.pod.labelsobject{}Custom labels to add to pods (in addition to standard labels)
deployment.tegEnvoyGateway.replicasint1Tetrate Enterprise Gateway for Envoy replicas in cluster
deployment.tegEnvoyGateway.resourcesobject{}Tetrate Enterprise Gateway for Envoy deployment resources More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
gateway-helmobject{"commonLabels":{},"config":{"envoyGateway":{"envoyProxy":{"dynamicModules":[{"doNotClose":true,"name":"composer","source":{"local":{"path":"/usr/local/lib/tetrateio/libcomposer.so"},"type":"Local"}},{"name":"ip-restriction","source":{"local":{"path":"/usr/local/lib/tetrateio/libip-restriction.so"},"type":"Local"}},{"name":"dns-gateway","source":{"local":{"path":"/usr/local/lib/tetrateio/libdns-gateway.so"},"type":"Local"}}]},"extensionApis":{"enableEnvoyPatchPolicy":true},"provider":{"kubernetes":{"overwrite_control_plane_certs":false,"rateLimitDeployment":{"container":{"env":[{"name":"LOG_FORMAT","value":"json"},{"name":"REDIS_HEALTH_CHECK_ACTIVE_CONNECTION","value":"false"},{"name":"REDIS_TYPE","value":"SINGLE"},{"name":"REDIS_TLS_CACERT","value":"/redis-certs/ca.crt"}]}}}},"rateLimit":{"backend":{"redis":{"tls":{"certificateRef":{"name":"redis-tls"}},"url":"teg-redis.envoy-gateway-system.svc.cluster.local:6379"},"type":"Redis"}}}}}Envoy Gateway installation configuration. Detailed configuration documentation can be found here: https://github.com/envoyproxy/gateway/tree/main/charts/gateway-helm Tetrate Enterprise Gateway for Envoy configures underlying Envoy gateway installation configuration. In case there are any conflicts, between TEG configuration and EG configuration provided here, EG configuration is given precedence.
gateway-helm.commonLabelsobject{}Labels to apply to all Envoy Gateway (subchart) resources
gateway-helm.config.envoyGateway.rateLimit.backend.redis.urlstring"teg-redis.envoy-gateway-system.svc.cluster.local:6379"If you change the namespace or name of the Redis Service, change this to match
gatewayClassobject-GatewayClass created by this chart for the Tetrate Enterprise Gateway for Envoy data plane.
gatewayClass.enabledbooltrueCreate the GatewayClass. Set to false when the class is managed separately, or to install TEG alongside an existing installation that already owns a GatewayClass of this name.
gatewayClass.namestring"teg"Name of the GatewayClass. Gateways select it via spec.gatewayClassName. The controller that reconciles it is taken from gateway-helm.config.envoyGateway.gateway.controllerName, so the two cannot drift apart.
phoneHomeobject{"enabled":false}Phone-home telemetry. Only affects the enterprise edition, where phone-home is off by default and this opts in. The community edition always reports regardless of this value.
phoneHome.enabledboolfalseEnable the phone-home client in the enterprise edition (no effect on the community edition).
podDisruptionBudgetobject{"minAvailable":0}PodDisruptionBudget configuration for the teg manager pods
podDisruptionBudget.minAvailableint0Minimum number of pods that must remain available.
redisobject-TEG Redis deployment configuration. While the TEG-managed Redis instance is a great way to get started, it is not deployed in a production-hardened manner and should be considered suitable for demo purposes only. It is a single, non-replicated instance with no persistence, no high availability and no backup, so a restart loses all rate limit counters. For production, run your own hardened Redis: set redis.disabled=true and point gateway-helm.config.envoyGateway.rateLimit.backend.redis.url at it.
redis.disabledboolfalseRedis enabled by default
redis.imageobject-Redis image configuration
redis.image.pullPolicystring"IfNotPresent"Redis image pull policy in cluster
redis.image.pullSecretslist[]Redis image pull secrets
redis.image.repositorystring"redis"Redis image repository
redis.image.tagstring"8.6.3"Redis image tag
redis.passwordstring""default user auth password for redis deployment
redis.replicasint1Redis replicas to deploy
redis.resourcesobject{}Redis deployment resources More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
redis.serviceobject-Redis service configuration
redis.service.portint6379Redis service exposed port
redis.service.typestring"ClusterIP"Redis service type