--- # file: roles/nomad/defaults/main.yaml # Inst - Prerequisites. packages: "{{ packages_base + packages_by_distro[ansible_distribution | lower] + packages_by_arch[ansible_machine] }}" packages_base: - "curl" - "git" - "unzip" packages_by_distro: ubuntu: - [] packages_by_arch: aarch64: - [] x86_64: - [] # Inst - Nomad Map. nomad_architecture_map: amd64: "amd64" x86_64: "amd64" armv7l: "arm" aarch64: "arm64" 32-bit: "386" 64-bit: "amd64" nomad_architecture: "{{ nomad_architecture_map[ansible_architecture] }}" nomad_version: "1.0.4" nomad_pkg: "nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip" nomad_zip_url: "https://releases.hashicorp.com/nomad/{{ nomad_version }}/{{ nomad_pkg }}" # Inst - System paths. nomad_bin_dir: "/usr/local/bin" nomad_config_dir: "/etc/nomad.d" nomad_data_dir: "/var/nomad" nomad_inst_dir: "/opt" nomad_lockfile: "/var/lock/subsys/nomad" nomad_run_dir: "/var/run/nomad" nomad_ssl_dir: "/etc/nomad.d/ssl" # Conf - Service. nomad_node_role: "both" nomad_restart_handler_state: "restarted" # Conf - User and group. nomad_group: "nomad" nomad_group_state: "present" nomad_user: "nomad" nomad_user_state: "present" # Conf - base.hcl nomad_bind_addr: "0.0.0.0" nomad_datacenter: "dc1" nomad_disable_update_check: true nomad_enable_debug: false nomad_log_level: "INFO" nomad_name: "{{ inventory_hostname }}" nomad_region: "global" nomad_syslog_enable: true # Conf - tls.hcl nomad_ca_file: "{{ nomad_ssl_dir }}/ca.pem" nomad_cert_file: "{{ nomad_ssl_dir }}/nomad.pem" nomad_http: false nomad_key_file: "{{ nomad_ssl_dir }}/nomad-key.pem" nomad_rpc: false nomad_verify_https_client: false nomad_verify_server_hostname: false # Conf - client.hcl nomad_certificates: - src: "{{ file_nomad_ca_pem }}" dest: "{{ nomad_ca_file }}" - src: "{{ file_nomad_client_pem }}" dest: "{{ nomad_cert_file }}" - src: "{{ file_nomad_client_key_pem }}" dest: "{{ nomad_key_file }}" nomad_node_class: "" nomad_no_host_uuid: true nomad_options: {} nomad_servers: [] nomad_volumes: [] # Conf - server.hcl nomad_bootstrap_expect: 2 nomad_encrypt: "" nomad_retry_join: true # Specifies how long a node must be in a terminal state before it is garbage # collected and purged from the system. nomad_node_gc_threshold: "24h" # Specifies the interval between the job garbage collections. Only jobs who have # been terminal for at least job_gc_threshold will be collected. nomad_job_gc_interval: "1m" # Specifies the minimum time a job must be in the terminal state before it is # eligible for garbage collection. nomad_job_gc_threshold: "1m" # Specifies the minimum time an evaluation must be in the terminal state before # it is eligible for garbage collection. nomad_eval_gc_threshold: "1m" # Specifies the minimum time a deployment must be in the terminal state before # it is eligible for garbage collection. nomad_deployment_gc_threshold: "1m" # Conf - telemetry.hcl nomad_disable_hostname: false nomad_collection_interval: 60s nomad_use_node_name: false nomad_publish_allocation_metrics: true nomad_publish_node_metrics: true nomad_telemetry_provider_parameters: prometheus_metrics: true # Conf - custom.hcl # empty