# Default values for {{ .Config.GetVariableValue "APPNAME"}}.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1

namespace: {{ .Config.GetVariableValue "NAMESPACE" }}

containerPort: {{ .Config.GetVariableValue "PORT" }}

image:
  repository: {{ .Config.GetVariableValue "IMAGENAME" }}
  tag: {{ .Config.GetVariableValue "IMAGETAG" }}
  pullPolicy: {{ .Config.GetVariableValue "IMAGEPULLPOLICY" }}

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

podAnnotations: {}

podSecurityContext: {}

service:
  annotations: {}
  type: LoadBalancer
  port: {{ .Config.GetVariableValue "SERVICEPORT" }}

{{- if eq (.Config.GetVariableValue "ENABLEWORKLOADIDENTITY") "true" }}
serviceAccountName: {{ .Config.GetVariableValue "SERVICEACCOUNT" }}
{{- end}}

resources:
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  limits:
    cpu: "{{ .Config.GetVariableValue "CPULIMIT" }}"
    memory: "{{ .Config.GetVariableValue "MEMLIMIT" }}"
  requests:
    cpu: "{{ .Config.GetVariableValue "CPUREQ" }}"
    memory: "{{ .Config.GetVariableValue "MEMREQ" }}"

autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 100
  targetCPUUtilizationPercentage: 80
  # targetMemoryUtilizationPercentage: 80

livenessProbe:
{{- if eq (.Config.GetVariableValue "PROBETYPE") "httpGet" }}
  httpGet:
    path: {{ .Config.GetVariableValue "PROBEHTTPPATH" }}
    port: {{ .Config.GetVariableValue "PORT" }}
{{- else if eq (.Config.GetVariableValue "PROBETYPE") "tcpSocket" }}
  tcpSocket:
    port: {{ .Config.GetVariableValue "PORT" }}
{{- end }}
readinessProbe:
{{- if eq (.Config.GetVariableValue "PROBETYPE") "httpGet" }}
  httpGet:
    path: {{ .Config.GetVariableValue "PROBEHTTPPATH" }}
    port: {{ .Config.GetVariableValue "PORT" }}
{{- else if eq (.Config.GetVariableValue "PROBETYPE") "tcpSocket" }}
  tcpSocket:
    port: {{ .Config.GetVariableValue "PORT" }}
{{- end }}
  periodSeconds: {{ .Config.GetVariableValue "READINESSPERIOD" }}
  timeoutSeconds: {{ .Config.GetVariableValue "READINESSTIMEOUT" }}
  failureThreshold: {{ .Config.GetVariableValue "READINESSFAILURETHRESHOLD" }}
  successThreshold: {{ .Config.GetVariableValue "READINESSSUCCESSTHRESHOLD" }}
  initialDelaySeconds: {{ .Config.GetVariableValue "READINESSINITIALDELAY" }}
startupProbe:
{{- if eq (.Config.GetVariableValue "PROBETYPE") "httpGet" }}
  httpGet:
    path: {{ .Config.GetVariableValue "PROBEHTTPPATH" }}
    port: {{ .Config.GetVariableValue "PORT" }}
{{- else if eq (.Config.GetVariableValue "PROBETYPE") "tcpSocket" }}
  tcpSocket:
    port: {{ .Config.GetVariableValue "PORT" }}
{{- end }}
  periodSeconds: {{ .Config.GetVariableValue "STARTUPPERIOD" }}
  timeoutSeconds: {{ .Config.GetVariableValue "STARTUPTIMEOUT" }}
  failureThreshold: {{ .Config.GetVariableValue "STARTUPFAILURETHRESHOLD" }}
  successThreshold: {{ .Config.GetVariableValue "STARTUPSUCCESSTHRESHOLD" }}
  initialDelaySeconds: {{ .Config.GetVariableValue "STARTUPINITIALDELAY" }}

nodeSelector: {}

tolerations: []

topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: kubernetes.io/hostname
    whenUnsatisfiable: ScheduleAnyway
    labelSelector:
      matchLabels:
        app.kubernetes.io/name: {{ .Config.GetVariableValue "APPNAME" }}

affinity:
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      podAffinityTerm:
        topologyKey: kubernetes.io/hostname
        labelSelector:
          matchLabels:
            app.kubernetes.io/name: {{ .Config.GetVariableValue "APPNAME" }}

securityContext:
  seccompProfile:
    type: RuntimeDefault
  capabilities:
    drop:
      - ALL
    add:
      - SETPCAP
      - MKNOD
      - AUDIT_WRITE
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - FSETID
      - KILL
      - SETGID
      - SETUID
      - NET_BIND_SERVICE
      - SYS_CHROOT
      - SETFCAP
      - SYS_PTRACE

envVars:
{{- range $key, $value := .Config.GetVariableValue "ENVVARS" }}
  {{ $key }}: {{ $value }}
{{- end }}

generatorLabel: {{ .Config.GetVariableValue "GENERATORLABEL" }}