feat(Terraform): Minio S3 gateway proxy
[csit.git] / fdio.infra.terraform / 1n_nmd / minio_s3_gateway / main.tf
1 locals {
2   datacenters = join(",", var.datacenters)
3   envs        = join("\n", concat([], var.envs))
4   upstreams   = jsonencode(var.upstreams)
5 }
6
7 data "template_file" "nomad_job_minio" {
8   template = file("${path.module}/conf/nomad/minio.hcl")
9   vars = {
10     access_key                = var.access_key
11     auto_promote              = var.auto_promote
12     auto_revert               = var.auto_revert
13     canary                    = var.canary
14     cpu                       = var.cpu
15     cpu_proxy                 = var.resource_proxy.cpu
16     datacenters               = local.datacenters
17     envs                      = local.envs
18     group_count               = var.group_count
19     host                      = var.host
20     image                     = var.image
21     job_name                  = var.job_name
22     max_parallel              = var.max_parallel
23     memory                    = var.memory
24     memory_proxy              = var.resource_proxy.memory
25     mode                      = var.mode
26     port_base                 = var.port_base
27     port_console              = var.port_console
28     region                    = var.region
29     secret_key                = var.secret_key
30     service_name              = var.service_name
31     use_canary                = var.use_canary
32     use_host_volume           = var.use_host_volume
33     upstreams                 = local.upstreams
34     use_vault_kms             = var.kms_variables.use_vault_kms
35     use_vault_provider        = var.vault_secret.use_vault_provider
36     vault_address             = var.kms_variables.vault_address
37     vault_kms_approle_kv      = var.kms_variables.vault_kms_approle_kv
38     vault_kms_key_name        = var.kms_variables.vault_kms_key_name
39     vault_kv_policy_name      = var.vault_secret.vault_kv_policy_name
40     vault_kv_path             = var.vault_secret.vault_kv_path
41     vault_kv_field_access_key = var.vault_secret.vault_kv_field_access_key
42     vault_kv_field_secret_key = var.vault_secret.vault_kv_field_secret_key
43     volume_destination        = var.volume_destination
44     volume_source             = var.volume_source
45   }
46 }
47
48 resource "nomad_job" "nomad_job_minio" {
49   jobspec = data.template_file.nomad_job_minio.rendered
50   detach  = false
51 }