62 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
| # 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
 |