From 07227a820a934486c24f6c41a62e3480f00875d0 Mon Sep 17 00:00:00 2001 From: Alexander Taran Date: Mon, 6 Apr 2026 15:09:22 +0300 Subject: [PATCH 1/3] Add option to configure env vars Signed-off-by: Alexander Taran --- install/helm/agones/templates/controller.yaml | 3 +++ install/helm/agones/templates/extensions-deployment.yaml | 3 +++ install/helm/agones/templates/ping.yaml | 3 +++ install/helm/agones/templates/processor.yaml | 3 +++ install/helm/agones/templates/service/allocation.yaml | 3 +++ install/helm/agones/values.yaml | 5 +++++ 6 files changed, 20 insertions(+) diff --git a/install/helm/agones/templates/controller.yaml b/install/helm/agones/templates/controller.yaml index 35c500ea5a..7f8c22be5d 100644 --- a/install/helm/agones/templates/controller.yaml +++ b/install/helm/agones/templates/controller.yaml @@ -199,6 +199,9 @@ spec: - name: LEADER_ELECTION value: "true" {{- end }} +{{- if .Values.agones.controller.env }} + {{- toYaml .Values.agones.controller.env | nindent 8 }} +{{- end }} ports: - name: webhooks containerPort: 8081 diff --git a/install/helm/agones/templates/extensions-deployment.yaml b/install/helm/agones/templates/extensions-deployment.yaml index f6cad77946..7b7c504d21 100644 --- a/install/helm/agones/templates/extensions-deployment.yaml +++ b/install/helm/agones/templates/extensions-deployment.yaml @@ -157,6 +157,9 @@ spec: value: {{ .Values.agones.extensions.webhooks.port | quote }} - name: HTTP_PORT value: {{ .Values.agones.extensions.http.port | quote }} +{{- if .Values.agones.extensions.env }} + {{- toYaml .Values.agones.extensions.env | nindent 8 }} +{{- end }} ports: - name: webhooks containerPort: {{ .Values.agones.extensions.webhooks.port }} diff --git a/install/helm/agones/templates/ping.yaml b/install/helm/agones/templates/ping.yaml index 60f6e08ca5..0e7e769b26 100644 --- a/install/helm/agones/templates/ping.yaml +++ b/install/helm/agones/templates/ping.yaml @@ -113,6 +113,9 @@ spec: value: {{ .Values.agones.ping.udp.rateLimit | quote }} - name: FEATURE_GATES value: {{ .Values.agones.featureGates | quote }} +{{- if .Values.agones.ping.env }} + {{- toYaml .Values.agones.ping.env | nindent 10 }} +{{- end }} {{- if .Values.agones.image.controller.pullSecret }} imagePullSecrets: - name: {{.Values.agones.image.controller.pullSecret}} diff --git a/install/helm/agones/templates/processor.yaml b/install/helm/agones/templates/processor.yaml index 5efe43284a..5952f1e0d2 100644 --- a/install/helm/agones/templates/processor.yaml +++ b/install/helm/agones/templates/processor.yaml @@ -120,6 +120,9 @@ spec: - name: RETRY_PERIOD value: {{ .Values.agones.allocator.processor.leaderElection.retryPeriod | default "2s" | quote }} {{- end }} +{{- if .Values.agones.allocator.processor.env }} + {{- toYaml .Values.agones.allocator.processor.env | nindent 8 }} +{{- end }} livenessProbe: httpGet: path: /live diff --git a/install/helm/agones/templates/service/allocation.yaml b/install/helm/agones/templates/service/allocation.yaml index b3cc0cddde..ed6f342338 100644 --- a/install/helm/agones/templates/service/allocation.yaml +++ b/install/helm/agones/templates/service/allocation.yaml @@ -315,6 +315,9 @@ spec: value: {{ .Values.agones.allocator.processor.grpc.address | quote }} - name: PROCESSOR_GRPC_PORT value: {{ .Values.agones.allocator.processor.grpc.port | quote }} +{{- end }} +{{- if .Values.agones.allocator.env }} + {{- toYaml .Values.agones.allocator.env | nindent 8 }} {{- end }} ports: {{- if .Values.agones.allocator.service.http.enabled }} diff --git a/install/helm/agones/values.yaml b/install/helm/agones/values.yaml index fb829633cd..0c5350fb59 100644 --- a/install/helm/agones/values.yaml +++ b/install/helm/agones/values.yaml @@ -107,6 +107,7 @@ agones: pdb: minAvailable: 1 topologySpreadConstraints: [] + env: [] extensions: resources: {} # requests: @@ -168,6 +169,7 @@ agones: periodSeconds: 3 failureThreshold: 3 topologySpreadConstraints: [] + env: [] ping: install: true pdb: @@ -216,6 +218,7 @@ agones: failureThreshold: 3 timeoutSeconds: 1 topologySpreadConstraints: [] + env: [] allocator: install: true pdb: @@ -289,6 +292,7 @@ agones: totalRemoteAllocationTimeout: 30s allocationBatchWaitTime: 500ms topologySpreadConstraints: [] + env: [] processor: replicas: 2 maxBatchSize: 100 @@ -303,6 +307,7 @@ agones: effect: "NoExecute" affinity: {} topologySpreadConstraints: [] + env: [] logLevel: info leaderElection: {} http: From d1b609bcab961b9b91f9b6d354144195abb9b797 Mon Sep 17 00:00:00 2001 From: Alexander Taran Date: Wed, 22 Apr 2026 11:40:20 +0300 Subject: [PATCH 2/3] docs: document env vars Helm values for all Agones components Signed-off-by: Alexander Taran --- site/content/en/docs/Installation/Install Agones/helm.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/site/content/en/docs/Installation/Install Agones/helm.md b/site/content/en/docs/Installation/Install Agones/helm.md index 8385e55d47..ab01c3711d 100644 --- a/site/content/en/docs/Installation/Install Agones/helm.md +++ b/site/content/en/docs/Installation/Install Agones/helm.md @@ -197,6 +197,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.controller.mutatingWebhook.disableCaBundle` | **Deprecated**. Use `agones.extensions.mutatingWebhook.disableCaBundle` instead. Disable ca-bundle so it can be injected by cert-manager | `false` | | `agones.controller.allocationBatchWaitTime` | Wait time between each allocation batch when performing allocations in controller mode | `500ms` | | `agones.controller.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.controller.env` | Additional [environment variables][env-vars] to inject into the controller pod | `[]` | | `agones.controller.maxCreationParallelism` | Maximum number of parallelizing creation calls in GSS controller | `16` | | `agones.controller.maxGameServerCreationsPerBatch` | Maximum number of GameServer creation calls per batch | `64` | | `agones.controller.maxDeletionParallelism` | Maximum number of parallelizing deletion calls in GSS | `64` | @@ -251,6 +252,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.ping.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | | `agones.ping.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage Mutually Exclusive with `minAvailable` | \`\` | | `agones.ping.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.ping.env` | Additional [environment variables][env-vars] to inject into the ping pod | `[]` | ### Allocator Service @@ -314,6 +316,8 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.allocator.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | | `agones.allocator.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | | `agones.allocator.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.allocator.env` | Additional [environment variables][env-vars] to inject into the allocator pod | `[]` | +| `agones.allocator.processor.env` | Additional [environment variables][env-vars] to inject into the allocator processor pod | `[]` | ### Extensions @@ -354,6 +358,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.extensions.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | | `agones.extensions.replicas` | The number of replicas to run in the deployment | `2` | | `agones.extensions.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | +| `agones.extensions.env` | Additional [environment variables][env-vars] to inject into the extensions pod | `[]` | ### GameServers @@ -392,6 +397,7 @@ The following tables lists the configurable parameters of the Agones chart and t [rest-requests]: {{< ref "/docs/Advanced/allocator-service.md#using-rest" >}} [grpc-requests]: {{< ref "/docs/Advanced/allocator-service.md#using-grpc" >}} [split-controller]: {{< ref "/docs/Advanced/high-availability-agones" >}} +[env-vars]: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, From 6151a4f7a56572095440fb04f6b0d75ac4e052f9 Mon Sep 17 00:00:00 2001 From: Alexander Taran Date: Wed, 22 Apr 2026 11:56:30 +0300 Subject: [PATCH 3/3] docs: use inline links for env vars Helm table entries Signed-off-by: Alexander Taran --- .../en/docs/Installation/Install Agones/helm.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/site/content/en/docs/Installation/Install Agones/helm.md b/site/content/en/docs/Installation/Install Agones/helm.md index ab01c3711d..ceaa97ef67 100644 --- a/site/content/en/docs/Installation/Install Agones/helm.md +++ b/site/content/en/docs/Installation/Install Agones/helm.md @@ -197,7 +197,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.controller.mutatingWebhook.disableCaBundle` | **Deprecated**. Use `agones.extensions.mutatingWebhook.disableCaBundle` instead. Disable ca-bundle so it can be injected by cert-manager | `false` | | `agones.controller.allocationBatchWaitTime` | Wait time between each allocation batch when performing allocations in controller mode | `500ms` | | `agones.controller.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | -| `agones.controller.env` | Additional [environment variables][env-vars] to inject into the controller pod | `[]` | +| `agones.controller.env` | Additional [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) to inject into the controller pod | `[]` | | `agones.controller.maxCreationParallelism` | Maximum number of parallelizing creation calls in GSS controller | `16` | | `agones.controller.maxGameServerCreationsPerBatch` | Maximum number of GameServer creation calls per batch | `64` | | `agones.controller.maxDeletionParallelism` | Maximum number of parallelizing deletion calls in GSS | `64` | @@ -252,7 +252,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.ping.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | | `agones.ping.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage Mutually Exclusive with `minAvailable` | \`\` | | `agones.ping.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | -| `agones.ping.env` | Additional [environment variables][env-vars] to inject into the ping pod | `[]` | +| `agones.ping.env` | Additional [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) to inject into the ping pod | `[]` | ### Allocator Service @@ -316,8 +316,8 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.allocator.pdb.minAvailable` | Description of the number of pods from that set that must still be available after the eviction, even in the absence of the evicted pod. Can be either an absolute number or a percentage. Mutually Exclusive with `maxUnavailable` | `1` | | `agones.allocator.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | | `agones.allocator.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | -| `agones.allocator.env` | Additional [environment variables][env-vars] to inject into the allocator pod | `[]` | -| `agones.allocator.processor.env` | Additional [environment variables][env-vars] to inject into the allocator processor pod | `[]` | +| `agones.allocator.env` | Additional [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) to inject into the allocator pod | `[]` | +| `agones.allocator.processor.env` | Additional [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) to inject into the allocator processor pod | `[]` | ### Extensions @@ -358,7 +358,7 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.extensions.pdb.maxUnavailable` | Description of the number of pods from that set that can be unavailable after the eviction. It can be either an absolute number or a percentage. Mutually Exclusive with `minAvailable` | \`\` | | `agones.extensions.replicas` | The number of replicas to run in the deployment | `2` | | `agones.extensions.topologySpreadConstraints` | Ensures better resource utilization and high availability by evenly distributing Pods in the agones-system namespace | `{}` | -| `agones.extensions.env` | Additional [environment variables][env-vars] to inject into the extensions pod | `[]` | +| `agones.extensions.env` | Additional [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) to inject into the extensions pod | `[]` | ### GameServers @@ -397,7 +397,6 @@ The following tables lists the configurable parameters of the Agones chart and t [rest-requests]: {{< ref "/docs/Advanced/allocator-service.md#using-rest" >}} [grpc-requests]: {{< ref "/docs/Advanced/allocator-service.md#using-grpc" >}} [split-controller]: {{< ref "/docs/Advanced/high-availability-agones" >}} -[env-vars]: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,