# terraform-nomad-base This module lets you deploy a (or multiple) fully featured nomad job(s), with potentially CSI volumes, consul intentions, and consul kv entries. ### Requirements No requirements. ### Providers | Name | Version | |------|---------| | [consul](#provider_consul) | n/a | | [nomad](#provider_nomad) | n/a | ### Modules No modules. ### Resources | Name | Type | |------|------| | [consul_intention.this](https://registry.terraform.io/providers/hashicorp/consul/latest/docs/resources/intention) | resource | | [consul_key_prefix.this](https://registry.terraform.io/providers/hashicorp/consul/latest/docs/resources/key_prefix) | resource | | [nomad_csi_volume.this](https://registry.terraform.io/providers/hashicorp/nomad/latest/docs/resources/csi_volume) | resource | | [nomad_csi_volume_registration.this](https://registry.terraform.io/providers/hashicorp/nomad/latest/docs/resources/csi_volume_registration) | resource | | [nomad_job.this](https://registry.terraform.io/providers/hashicorp/nomad/latest/docs/resources/job) | resource | ### Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [consul_intentions](#input_consul_intentions) | List of intentions associated with the job(s) |
map(object({
source_name = string
destination_name = string
action = string
}))
| `{}` | no | | [consul_kv](#input_consul_kv) | List key/value pairs to put at a specific prefix (mainly for traefik) | `map(any)` | `{}` | no | | [jobs](#input_jobs) | The list of jobs to deploy | `map(string)` | `{}` | no | | [jobs_variables](#input_jobs_variables) | Map of object to pass variables to the nomad job(s). Key is the job's name, value is a map of variables and their values | `map(map(string))` | `{}` | no | | [nfs_volumes](#input_nfs_volumes) | List of nfs volumes associated to the job(s) |
map(object({
plugin_id = string
namespace = string
capability = map(string)
context = map(string)
mount_options = object({
fs_type = string
mount_flags = list(string)
})
}))
| `{}` | no | | [volumes](#input_volumes) | List of volumes associated to the job(s) |
map(object({
plugin_id = string
namespace = string
capacity_min = string
capacity_max = string
capability = map(string)
parameters = map(string)
secrets = map(string)
}))
| `{}` | no | ### Outputs No outputs.