# Consul Client Configuration for {{ inventory_hostname }}
datacenter = "dc1"
data_dir = "/opt/consul/data"
log_level = "INFO"
node_name = "{{ inventory_hostname }}"
bind_addr = "{{ hostvars[inventory_hostname]['tailscale_ip'] }}"

# Client mode (not server)
server = false

# Connect to Consul servers (指向三节点集群)
retry_join = [
{% for server in consul_servers %}
  "{{ server }}"{% if not loop.last %},{% endif %}
{% endfor %}
]

# Performance optimization
performance {
  raft_multiplier = 5
}

# Ports configuration
ports {
  grpc = 8502
  http = 8500
  dns = 8600
}

# Enable Connect for service mesh
connect {
  enabled = true
}

# Cache configuration for performance
cache {
  entry_fetch_max_burst = 42
  entry_fetch_rate = 30
}

# Node metadata
node_meta = {
  region = "unknown"
  zone = "nomad-{{ 'server' if 'server' in group_names else 'client' }}"
}

# UI disabled for clients
ui_config {
  enabled = false
}

# ACL configuration (if needed)
acl = {
  enabled = false
  default_policy = "allow"
}

# Logging
log_file = "/var/log/consul/consul.log"
log_rotate_duration = "24h"
log_rotate_max_files = 7
