## Memcached image and tag
## ref: https://hub.docker.com/r/library/memcached/tags/
##
image: memcached:1.5.20

## Specify a imagePullPolicy
## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
# imagePullPolicy:
#

## Replica count
replicaCount: 3

## Pod disruption budget minAvailable count
## Ensure this value is lower than replicaCount in order to allow a worker
## node to drain successfully
pdbMinAvailable: 2

## Select AntiAffinity as either hard or soft, default is hard
AntiAffinity: "hard"

memcached:
  ## Various values that get set as command-line flags.
  ## ref: https://github.com/memcached/memcached/wiki/ConfiguringServer#commandline-arguments
  ##
  maxItemMemory: 64
  verbosity: v
  extendedOptions: modern

  ## Additional command line arguments to pass to memcached
  ## E.g. to specify a maximum value size
  ## extraArgs:
  ##   - -I 2m
  extraArgs: []

## Define various attributes of the service
serviceAnnotations: {}
#  prometheus.io/scrape: "true"

## StatefulSet or Deployment
kind: StatefulSet

## Update Strategy for the StatefulSet or Deployment
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment
updateStrategy:
  type: RollingUpdate

## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
  requests:
    memory: 64Mi
    cpu: 50m

## Key:value pair for assigning pod to specific sets of nodes
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
nodeSelector: {}

## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: {}

## Advanced scheduling controls
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
affinity: {}

## Memcached pod Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
  enabled: true
  fsGroup: 1001
  runAsUser: 1001

metrics:
  ## Expose memcached metrics in Prometheus format
  enabled: false
  serviceMonitor:
    enabled: false
    interval: 15s

  ## Memcached exporter image and tag
  image: quay.io/prometheus/memcached-exporter:v0.6.0

  ## Specify a imagePullPolicy
  ## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  ##
  # imagePullPolicy: IfNotPresent

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources: {}

extraContainers: |

extraVolumes: |

## Custom metadata labels to be applied to statefulset and pods
# podLabels:
#   foo: "bar"
#   bar: "foo"

# To be added to the server pod(s)
podAnnotations: {}

## Set pod priority class
# priorityClassName: ""