Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ednz-cloud/terraform-nomad-base

Terraform module used to deploy nomad jobs with optional CSI storage and consul integrations. Mirror from https://git.ednz.fr/terraform-registry/terraform-nomad-base.
https://github.com/ednz-cloud/terraform-nomad-base

hashicorp jobspec nomad terraform terraform-module

Last synced: 5 days ago
JSON representation

Terraform module used to deploy nomad jobs with optional CSI storage and consul integrations. Mirror from https://git.ednz.fr/terraform-registry/terraform-nomad-base.

Awesome Lists containing this project

README

        

# 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.