env Stanza

Placementjob -> group -> task -> env

The env stanza configures a list of environment variables to populate the task's environment before starting.

job "docs" {
  group "example" {
    task "server" {
      env {
        my_key = "my-value"
      }
    }
  }
}

env Parameters

The "parameters" for the env stanza can be any key-value. The keys and values are both of type string, but they can be specified as other types. They will automatically be converted to strings. Invalid characters such as dashes (-) will be converted to underscores.

env Examples

The following examples only show the env stanzas. Remember that the env stanza is only valid in the placements listed above.

Coercion

This example shows the different ways to specify key-value pairs. Internally, these values will be stored as their string representation. No type information is preserved.

env {
  key   = 1.4
  key   = "1.4"
  "key" = 1.4
  "key" = "1.4"

  key = true
  key = "1"
  key = 1
}

Interpolation

This example shows using Nomad interpolation to populate environment variables.

env {
  NODE_CLASS = "${node.class}"
}

Dynamic Environment Variables

Nomad also supports populating dynamic environment variables from data stored in HashiCorp Consul and Vault. To use this feature please see the documentation on the template stanza.