etcdOperator:

  image:

    # -- Image repository
    repository: ghcr.io/aenix-io/etcd-operator

    # -- Image pull policy
    pullPolicy: IfNotPresent

    # -- Overrides the image tag whose default is the chart appVersion.
    tag: ""

  args:
    - --health-probe-bind-address=:8081
    - --metrics-bind-address=127.0.0.1:8080
    - --leader-elect

  service:

    # -- Service type
    type: ClusterIP

    # -- Service port
    port: 9443

  # -- Empty environment variables section
  envVars: {}

  livenessProbe:

    httpGet:

      # -- Healthcheck liveness probe path
      path: /healthz

      # -- Healthcheck port
      port: 8081

    # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
    initialDelaySeconds: 15

    # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
    periodSeconds: 20

  readinessProbe:

    httpGet:

      # -- Healthcheck readiness probe path
      path: /readyz

      # -- Healthcheck port
      port: 8081

    # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
    initialDelaySeconds: 5

    # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
    periodSeconds: 10

  # -- ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  resources:

    limits:

      cpu: 500m

      memory: 128Mi

    requests:

      cpu: 100m

      memory: 64Mi

  # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  securityContext:

    allowPrivilegeEscalation: false

    capabilities:

      drop:
        - ALL

  vpa:
    enabled: true
    minAllowed:
      cpu: 100m
      memory: 128Mi
    maxAllowed:
      cpu: 1000m
      memory: 1Gi

kubeRbacProxy:

  image:

    # -- Image repository
    repository: gcr.io/kubebuilder/kube-rbac-proxy

    # -- Image pull policy
    pullPolicy: IfNotPresent

    # -- Version of image
    tag: v0.16.0

  args:
    - --secure-listen-address=0.0.0.0:8443
    - --upstream=http://127.0.0.1:8080/
    - --logtostderr=true
    - --v=0

  service:

    # -- Service type
    type: ClusterIP

    # -- Service port
    port: 8443

  # -- https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
  livenessProbe: {}

  # -- https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
  readinessProbe: {}

  # -- ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  resources:

    limits:

      cpu: 250m

      memory: 128Mi

    requests:

      cpu: 100m

      memory: 64Mi

  # -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
  securityContext:

    allowPrivilegeEscalation: false

    capabilities:

      drop:
          - ALL

  vpa:
    enabled: true
    minAllowed:
      cpu: 50m
      memory: 64Mi
    maxAllowed:
      cpu: 500m
      memory: 256Mi

# -- Kubernetes cluster domain prefix
kubernetesClusterDomain: cluster.local

# -- Count of pod replicas
replicaCount: 1

imagePullSecrets: []

# -- Override a name of helm release
nameOverride: ""

# -- Override a full name of helm release
fullnameOverride: ""

serviceAccount:

  # -- Specifies whether a service account should be created
  create: true

  # -- Annotations to add to the service account
  annotations: {}

# -- ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
podAnnotations: {}

# -- ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
podLabels: {}

# -- ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
podSecurityContext: {}
  # fsGroup: 2000

# -- ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}

# -- ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []

# -- ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
affinity: {}

vpa:
  updatePolicy: "Auto"
