37a078ebce
* Add information about templating using `env` function to refer to environment variables.
69 lines
13 KiB
Plaintext
69 lines
13 KiB
Plaintext
### Job-related variables
|
|
|
|
| Variable | Description |
|
|
|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| `NOMAD_ALLOC_DIR` | The path to the shared `alloc/` directory. See the [Runtime Task Directories documentation][taskdirs] for more information. |
|
|
| `NOMAD_TASK_DIR` | The path to the task `local/` directory. See the [Runtime Task Directories documentation][taskdirs] for more information. |
|
|
| `NOMAD_SECRETS_DIR` | Path to the task's `secrets/` directory. See the [Runtime Task Directories documentation][taskdirs] for more information. |
|
|
| `NOMAD_MEMORY_LIMIT` | Memory limit in MB for the task |
|
|
| `NOMAD_MEMORY_MAX_LIMIT` | The maximum memory limit the task may use if client has excess memory capacity, in MB. Omitted if task isn't configured with memory oversubscription. |
|
|
| `NOMAD_CPU_LIMIT` | CPU limit in MHz for the task |
|
|
| `NOMAD_CPU_CORES` | The specific CPU cores reserved for the task in cpuset list notation. Omitted if the task does not request CPU cores. For example, `0-2,7,12-14` |
|
|
| `NOMAD_ALLOC_ID` | Allocation ID of the task |
|
|
| `NOMAD_SHORT_ALLOC_ID` | The first 8 characters of the allocation ID of the task |
|
|
| `NOMAD_ALLOC_NAME` | Allocation name of the task. This is derived from the job name, task group name, and allocation index. |
|
|
| `NOMAD_ALLOC_INDEX` | Allocation index; useful to distinguish instances of task groups. From 0 to (count - 1). For system jobs and sysbatch jobs, this value will always be 0. The index is unique within a given version of a job, but canaries or failed tasks in a deployment may reuse the index. |
|
|
| `NOMAD_TASK_NAME` | Task's name |
|
|
| `NOMAD_GROUP_NAME` | Group's name |
|
|
| `NOMAD_JOB_ID` | Job's ID, which is equal to the Job name when submitted through the command-line tool but can be different when using the API |
|
|
| `NOMAD_JOB_NAME` | Job's name |
|
|
| `NOMAD_JOB_PARENT_ID` | ID of the Job's parent if it has one |
|
|
| `NOMAD_DC` | Datacenter in which the allocation is running |
|
|
| `NOMAD_PARENT_CGROUP` | The parent cgroup used to contain task cgroups (Linux only) |
|
|
| `NOMAD_NAMESPACE` | Namespace in which the allocation is running |
|
|
| `NOMAD_REGION` | Region in which the allocation is running |
|
|
| `NOMAD_META_<key>` | The metadata value given by `key` on the task's metadata. <br/> **Note:** this is different from [`${meta.<key>}`](/nomad/docs/runtime/interpolation#node-variables-) which are keys in the node's metadata. |
|
|
| `VAULT_TOKEN` | The task's Vault token. See the [Vault Integration][vault] documentation for more details |
|
|
|
|
### Network-related Variables
|
|
|
|
| Variable | Description |
|
|
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `NOMAD_IP_<label>` | Host IP for the given port `label`. See the [`network` block documentation][network-block] for more information. |
|
|
| `NOMAD_PORT_<label>` | Port for the given port `label`. Driver-specified port when a port map is used, otherwise the host's static or dynamic port allocation. Services should bind to this port. See the [`network` block documentation][network-block] for more information. |
|
|
| `NOMAD_ADDR_<label>` | Host `IP:Port` pair for the given port `label`. |
|
|
| `NOMAD_HOST_PORT_<label>` | Port on the host for the port `label`. See the [**Mapped Ports**](/nomad/docs/job-specification/network#mapped-ports) section of the `network` block documentation for more information. |
|
|
| `NOMAD_UPSTREAM_IP_<service>` | IP for the given `service` when defined as a Consul service mesh [upstream][]. |
|
|
| `NOMAD_UPSTREAM_PORT_<service>` | Port for the given `service` when defined as a Consul service mesh [upstream][]. |
|
|
| `NOMAD_UPSTREAM_ADDR_<service>` | Host `IP:Port` for the given `service` when defined as a Consul service mesh [upstream][]. |
|
|
| `NOMAD_ENVOY_ADMIN_ADDR_<service>` | Local address `127.0.0.2:Port` for the admin port of the envoy sidecar for the given `service` when defined as a Consul service mesh enabled service. Envoy runs inside the group network namespace unless configured for host networking. |
|
|
| `NOMAD_ENVOY_READY_ADDR_<service>` | Local address `127.0.0.1:Port` for the ready port of the envoy sidecar for the given `service` when defined as a Consul service mesh enabled service. Envoy runs inside the group network namespace unless configured for host networking. |
|
|
|
|
<Note>
|
|
|
|
Nomad replaces characters that are neither alphanumeric nor underscores in
|
|
port labels or task names with underscores when generating environment variable
|
|
names such as `NOMAD_ADDR_<task>_<label>`
|
|
|
|
</Note>
|
|
|
|
### Consul-related Variables
|
|
|
|
<Note>These variables are only set for Consul service mesh native tasks.</Note>
|
|
|
|
| Variable | Description |
|
|
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `CONSUL_HTTP_ADDR` | Specifies the address to the local Consul agent. Will be automatically set to a unix domain socket in bridge networking mode, or a TCP address in host networking mode. |
|
|
| `CONSUL_HTTP_TOKEN` | Specifies the Consul ACL token used to authorize with Consul. Will be automatically set to a generated Consul service identity token specific to the service instance if Consul ACLs are enabled. |
|
|
| `CONSUL_HTTP_SSL` | Specifies whether HTTPS should be used when communicating with Consul. Will be automatically set to true if Nomad is configured to communicate with Consul using TLS. |
|
|
| `CONSUL_HTTP_SSL_VERIFY` | Specifies whether the HTTPS connection with Consul should be mutually verified. Will be automatically set to true if Nomad is configured to verify TLS certificates. |
|
|
| `CONSUL_CACERT` | Specifies the path to the CA certificate used for Consul communication. Will be automatically set if Nomad is configured with the `consul.share_ssl` option. |
|
|
| `CONSUL_CLIENT_CERT` | Specifies the path to the Client certificate used for Consul communication. Will be automatically set if Nomad is configured with the `consul.share_ssl` option. |
|
|
| `CONSUL_CLIENT_KEY` | Specifies the path to the Client Key certificate used for Consul communication. Will be automatically set if Nomad is configured with the `consul.share_ssl` option. |
|
|
| `CONSUL_TLS_SERVER_NAME` | Specifies the server name to use as the SNI host for Consul communication. Will be automatically set if Consul is configured to use TLS and the task is in a group using bridge networking mode. |
|
|
|
|
[upstream]: /nomad/docs/job-specification/upstreams
|
|
[taskdirs]: /nomad/docs/runtime/environment#task-directories
|
|
[network-block]: /nomad/docs/job-specification/network
|
|
[vault]: /nomad/docs/integrations/vault-integration
|