Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/ednz-cloud/terraform-nomad-base
- Owner: ednz-cloud
- License: mit
- Created: 2024-04-09T17:03:26.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T19:47:54.000Z (9 months ago)
- Last Synced: 2024-11-07T18:41:49.552Z (about 2 months ago)
- Topics: hashicorp, jobspec, nomad, terraform, terraform-module
- Language: HCL
- Homepage: https://ednz.fr
- Size: 12.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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({| `{}` | no |
source_name = string
destination_name = string
action = string
}))
| [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({| `{}` | no |
plugin_id = string
namespace = string
capability = map(string)
context = map(string)
mount_options = object({
fs_type = string
mount_flags = list(string)
})
}))
| [volumes](#input_volumes) | List of volumes associated to the job(s) |map(object({| `{}` | no |
plugin_id = string
namespace = string
capacity_min = string
capacity_max = string
capability = map(string)
parameters = map(string)
secrets = map(string)
}))### Outputs
No outputs.