Nomad template vs Consul-Template

As best we can tell the best-practice way to have Terraform manage Consul manage/configured services, is with the Nomad template stanza, and the Terraform Nomad provider resources.

If our guess is correct, Consul service configuration files are best deployed and managed in production via a Nomad template. In turn the Nomad job state is managed via Terraform.

This lead us to wonder what, if any, are the functional differences between Consul-Template and Nomad template stanzas. We can see from the docs that Nomad template uses Consul-Template. However it is quite a leap of faith to assume that Nomad template exposes all the functionality of Consul-Template. In fact if it did we’d expect a statement to that effect. If we’ve missed/overlooked that statement - apologies - but please point it out.

If Nomad template exposes only a subset of Consul-Template functionality:
Does any one know of a feature/function comparison table for these two?

Hi @bbros-dev :wave:

Nomad embeds consul-template as a dependency, so the all functionalities should be the same for both. There could a gap if a newer version of consul-template is released, or if you are running an older version of Nomad, but we try to keep this dependency up to date.

Have you experienced any difference between the two?

3 Likes

@bbros-dev,

The use of consul-template is called out in the documentation for the template stanza, but it’s definitely easy to miss.

Nomad utilizes a tool called Consul Template.

It’s also really important to know which version of CT is included with the version of Nomad you are running, because it is not always the latest, which can make for some real headaches with regard to documented function availability.

3 Likes

@Igfa29, Thanks for the additional insight

No, we are at the research and planning phase.

1 Like

Thanks @angrycub

Appreciate the tip.

1 Like