I’m an absolute beginner to Nomad and am curently working my way through the official tutorials. If this question has already been answered elsewhere then please point it out.
I understand that job config files can/are checked into version control. What is the nomadic idiom for maintaining job configurations for different types of environments?
To elaborate, consider a developer who wants to deploy the same job to multiple clusters that have different resource constraints. For instance deploy to a lightweight local dev cluster, test, then promote to more powerful QA/Staging/Prod clusters. The developer wants to test everything locally using a two instance group of an application container, whereas the same would require 8 instances in QA, and prod.
I’d hazard a guess that maybe jobs can be parametrised to achieve this effect, but am not sure. A cursory search of online resources did not yield much information on this.
@marco-m pointed to some great discussions already, but the TL;DR is that you probably should start looking into Nomad Pack, which is the tool we’re building to help do just that.
Take a look at this Grafana pack for an example on how to do this.
I must note that I haven’t worked with Nomad Pack at all. The file you linked to appears to be a job template, and the cpu/memory seem to be parametrised. Will investigate how this gets converted into a job, how the job is version controlled etc. Do let me know if there is anything else I should check out.