---
# Set to false to only do certificate management
etcd_cluster_setup: true
etcd_events_cluster_setup: false

# Set to true to separate k8s events to a different etcd cluster
etcd_events_cluster_enabled: false

etcd_backup_prefix: "/var/backups"
etcd_data_dir: "/var/lib/etcd"


etcd_config_dir: /etc/ssl/etcd
etcd_cert_dir: "{{ etcd_config_dir }}/ssl"
etcd_cert_group: root
# Note: This does not set up DNS entries. It simply adds the following DNS
# entries to the certificate
etcd_cert_alt_names:
  - "etcd.kube-system.svc.{{ dns_domain }}"
  - "etcd.kube-system.svc"
  - "etcd.kube-system"
  - "etcd"
etcd_cert_alt_ips: []

etcd_script_dir: "{{ bin_dir }}/etcd-scripts"

etcd_heartbeat_interval: "250"
etcd_election_timeout: "5000"

# etcd_snapshot_count: "10000"

# Parameters for ionice
# -c takes an integer between 0 and 3 or one of the strings none, realtime, best-effort or idle.
# -n takes an integer between 0 (highest priority) and 7 (lowest priority)
# etcd_ionice: "-c2 -n0"

etcd_metrics: "basic"

# Uncomment to set a separate port for etcd to expose metrics on
# etcd_metrics_port: 2381

## A dictionary of extra environment variables to add to etcd.env, formatted like:
##  etcd_extra_vars:
##    ETCD_VAR1: "value1"
##    ETCD_VAR2: "value2"
etcd_extra_vars: {}

# Limits
# Limit memory only if <4GB memory on host. 0=unlimited
etcd_memory_limit: "{% if ansible_memtotal_mb < 4096 %}512M{% else %}0{% endif %}"

# etcd_quota_backend_bytes: "2G"

# Uncomment to set CPU share for etcd
# etcd_cpu_limit: 300m

etcd_blkio_weight: 1000

etcd_node_cert_hosts: "{{ groups['k8s-cluster'] | union(groups.get('calico-rr', [])) | union(groups.get('vault', [])) }}"

etcd_compaction_retention: "8"

# Force clients like etcdctl to use TLS certs (different than peer security)
etcd_secure_client: true

# Enable peer client cert authentication
etcd_peer_client_auth: true

# Number of loop retries
etcd_retries: 4