[Unit] Description=Nomad Documentation=https://nomadproject.io/docs/ Wants=network-online.target After=network-online.target After=vault.service After=consul.service After=nomad-vault-agent.service ConditionFileNotEmpty={{ nomad_root_dir }}/etc/nomad.hcl # Nomad version {{ nomad_current_version }} [Service] Type=notify EnvironmentFile=-{{ nomad_root_dir }}/etc/nomad.env EnvironmentFile=-/run/nomad/vault.env EnvironmentFile=-/run/nomad/consul.env {% if nomad_conf.consul.ssl and nomad_conf.client.enabled %} Environment=CONSUL_HTTP_SSL=true Environment=CONSUL_HTTP_ADDR=localhost:{{ (consul_services is defined) | ternary(consul_services.https.port, '8501') }} Environment=CONSUL_CACERT={{ nomad_conf.consul.ca_file }} Environment=CONSUL_CLIENT_CERT={{ nomad_conf.consul.cert_file }} Environment=CONSUL_CLIENT_KEY={{ nomad_conf.consul.key_file }} {% endif %} User={{ nomad_user }} Group={{ nomad_user }} ExecStart=/usr/local/bin/nomad agent -config {{ nomad_root_dir }}/etc ExecReload=/bin/kill --signal HUP $MAINPID Restart=on-failure LimitNOFILE=65536 LimitNPROC=infinity Restart=on-failure RestartSec=5 StartLimitInterval=0 TasksMax=infinity OOMScoreAdjust=-1000 {% if nomad_conf.client.enabled %} # Give Nomad some time to drain the node TimeoutStopSec=3600 {% endif %} [Install] WantedBy=multi-user.target