Files
nomad/website/source/docs/commands/validate.html.md.erb
2017-11-16 07:56:26 -06:00

66 lines
2.2 KiB
Plaintext

---
layout: "docs"
page_title: "Commands: validate"
sidebar_current: "docs-commands-validate"
description: >
The validate command is used to check a job specification for syntax errors and validation problems.
---
# Command: validate
The `validate` command is used to check a [HCL job specification](/docs/job-specification/index.html)
for any syntax errors or validation problems.
## Usage
```
nomad validate <file>
```
The validate command requires a single argument, specifying the path to a file
containing a [HCL job specification](/docs/job-specification/index.html). This file
will be read and the job checked for any problems. If the
supplied path is "-", the job file is read from STDIN. Otherwise it is read
from the file at the supplied path or downloaded and read from URL specified.
Nomad downloads the job file using [`go-getter`](https://github.com/hashicorp/go-getter)
and supports `go-getter` syntax.
On successful validation, exit code 0 will be returned, otherwise an exit code
of 1 indicates an error.
Service names are validated according to [RFC-1123](https://tools.ietf.org/html/rfc1123).
Any environment variables in the name are ignored, because some environment variables can only
be resolved at run time. Invalid characters outside of environment variable names will not pass
validation.
For example, if the service name is set to `my_service${NOMAD_NODE_NAME}` it will fail
validation. However, if a service name is set to `myservice${NOMAD_NODE_NAME}` and the node name
contains an invalid character, it will only be caught at run time and nomad validate will succeed.
## Examples
Validate a job with invalid syntax:
```
$ nomad validate example.nomad
Job validation errors:
1 error(s) occurred:
* group "cache" -> task "redis" -> config: 1 error(s) occurred:
* field "image" is required
```
Validate a job that has a configuration that causes warnings:
```
$ nomad validate example.nomad
Job Warnings:
1 warning(s):
* Group "cache" has warnings: 1 error(s) occurred:
* Update max parallel count is greater than task group count (6 > 3). A destructive change would result in the simultaneous replacement of all allocations.
Job validation successful
```