# Copyright 2018 Google LLC All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Declare variables to be passed into your templates.

agones:
  featureGates: ""
  metrics:
    prometheusEnabled: true
    prometheusServiceDiscovery: true
    stackdriverEnabled: false
    stackdriverProjectID: ""
    stackdriverLabels: ""
    serviceMonitor:
      enabled: false
      interval: 30s
  rbacEnabled: true
  registerServiceAccounts: true
  registerWebhooks: true
  registerApiService: true
  crds:
    install: true
    cleanupOnDelete: true
  serviceaccount:
    allocator:
      name: agones-allocator
      annotations: {}
    controller:
      name: agones-controller
      annotations: {}
    sdk:
      name: agones-sdk
      annotations: {}
  createPriorityClass: true
  priorityClassName: agones-system
  cloudProduct: "auto"
  controller: &controllerValues
    resources: {}
      # requests:
      #   cpu: 1
      #   memory: 256Mi
    nodeSelector:
      cloud.google.com/gke-nodepool: default-pool
    annotations: {}
    tolerations:
    - key: "agones.dev/agones-system"
      operator: "Equal"
      value: "true"
      effect: "NoExecute"
    affinity:
      nodeAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 1
          preference:
            matchExpressions:
              - key: agones.dev/agones-system
                operator: Exists
    generateTLS: true
    tlsCert: ""
    tlsKey: ""
    disableSecret: false
    allocationApiService:
      annotations: {}
      disableCaBundle: false
    validatingWebhook:
      annotations: {}
      disableCaBundle: false
    mutatingWebhook:
      annotations: {}
      disableCaBundle: false
    customCertSecretPath: {}
    safeToEvict: false
    persistentLogs: true
    persistentLogsSizeLimitMB: 10000
    logLevel: info
    numWorkers: 100
    apiServerQPS: 400
    apiServerQPSBurst: 500
    http:
      port: 8080
    healthCheck:
      initialDelaySeconds: 3
      periodSeconds: 3
      failureThreshold: 3
      timeoutSeconds: 1
    allocationBatchWaitTime: 500ms
  extensions:
    <<: *controllerValues
    pdb:
        minAvailable: 1
    replicas: 2
  ping:
    install: true
    pdb:
      enabled: false
      minAvailable: 1
    updateStrategy: {}
    resources: {}
      # requests:
      #   cpu: 1
      #   memory: 256Mi
    nodeSelector:
      cloud.google.com/gke-nodepool: default-pool
    annotations: {}
    tolerations:
    - key: "agones.dev/agones-system"
      operator: "Equal"
      value: "true"
      effect: "NoExecute"
    affinity:
      nodeAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 1
          preference:
            matchExpressions:
              - key: agones.dev/agones-system
                operator: Exists
    replicas: 2
    http:
      expose: true
      response: ok
      port: 80
      serviceType: LoadBalancer
      loadBalancerIP: ""
      loadBalancerSourceRanges: []
      annotations: {}
    udp:
      expose: true
      rateLimit: 20
      port: 50000
      serviceType: LoadBalancer
      loadBalancerIP: ""
      loadBalancerSourceRanges: []
      annotations: {}
    healthCheck:
      initialDelaySeconds: 3
      periodSeconds: 3
      failureThreshold: 3
      timeoutSeconds: 1
  allocator:
    install: true
    pdb:
      enabled: false
      minAvailable: 1
    updateStrategy: {}
    apiServerQPS: 400
    apiServerQPSBurst: 500
    logLevel: info
    annotations: {}
    resources: {}
      # requests:
      #   cpu: 1
      #   memory: 256Mi
    nodeSelector:
      cloud.google.com/gke-nodepool: default-pool
    healthCheck:
      initialDelaySeconds: 3
      periodSeconds: 3
      failureThreshold: 3
      timeoutSeconds: 1
    tolerations:
    - key: "agones.dev/agones-system"
      operator: "Equal"
      value: "true"
      effect: "NoExecute"
    affinity:
      nodeAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 1
          preference:
            matchExpressions:
              - key: agones.dev/agones-system
                operator: Exists
    replicas: 3
    service:
      name: agones-allocator
      serviceType: LoadBalancer
      loadBalancerIP: ""
      loadBalancerSourceRanges: []
      annotations: {}
      http:
        enabled: true
        port: 443
        portName: https
        targetPort: 8443
        nodePort: 0 # nodePort will be used if the serviceType is set to NodePort
      grpc:
        enabled: true
        port: 443
        portName: grpc
        targetPort: 8443
        nodePort: 0 # nodePort will be used if the serviceType is set to NodePort
    serviceMetrics:
      name: agones-allocator-metrics-service
      annotations: {}
      http:
        enabled: true
        port: 8080
        portName: http
    disableSecretCreation: false
    generateTLS: true
    tlsCert: ""
    tlsKey: ""
    generateClientTLS: true
    clientCAs: {}
    disableMTLS: true
    disableTLS: true
    remoteAllocationTimeout: 10s
    totalRemoteAllocationTimeout: 30s
    allocationBatchWaitTime: 500ms
  image:
    registry: us-docker.pkg.dev/agones-images/release
    tag: 1.30.0
    controller:
      name: agones-controller
      pullPolicy: IfNotPresent
    # extensions settings ignored unless `SplitControllerAndExtensions` feature gate is enabled
    extensions:
      name: agones-extensions
      pullPolicy: IfNotPresent
    sdk:
      name: agones-sdk
      cpuRequest: 30m
      cpuLimit: 0
      memoryRequest: 0
      memoryLimit: 0
      alwaysPull: false
    ping:
      name: agones-ping
      pullPolicy: IfNotPresent
    allocator:
      name: agones-allocator
      pullPolicy: IfNotPresent

gameservers:
  namespaces:
  - default
  minPort: 7000
  maxPort: 8000
  podPreserveUnknownFields: false

helm:
  installTests: false