»Command: recommendation apply

The recommendation apply command is used to apply recommendations.


nomad recommendation apply [options] <recommendation_ids>

The recommendation apply command requires at least one recommendation ID to be passed to it. Multiple IDs can be passed, with each recommendation ID separated from the next by a space.

When ACLs are enabled, this command requires a token with the submit-job, read-job, and submit-recommendation capabilities for the recommendation's namespace.

»General Options

  • -address=<addr>: The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Defaults to

  • -region=<region>: The region of the Nomad server to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent's local region.

  • -namespace=<namespace>: The target namespace for queries and actions bound to a namespace. Overrides the NOMAD_NAMESPACE environment variable if set. If set to '*', job and alloc subcommands query all namespaces authorized to user. Defaults to the "default" namespace.

  • -no-color: Disables colored command output. Alternatively, NOMAD_CLI_NO_COLOR may be set.

  • -ca-cert=<path>: Path to a PEM encoded CA cert file to use to verify the Nomad server SSL certificate. Overrides the NOMAD_CACERT environment variable if set.

  • -ca-path=<path>: Path to a directory of PEM encoded CA cert files to verify the Nomad server SSL certificate. If both -ca-cert and -ca-path are specified, -ca-cert is used. Overrides the NOMAD_CAPATH environment variable if set.

  • -client-cert=<path>: Path to a PEM encoded client certificate for TLS authentication to the Nomad server. Must also specify -client-key. Overrides the NOMAD_CLIENT_CERT environment variable if set.

  • -client-key=<path>: Path to an unencrypted PEM encoded private key matching the client certificate from -client-cert. Overrides the NOMAD_CLIENT_KEY environment variable if set.

  • -tls-server-name=<value>: The server name to use as the SNI host when connecting via TLS. Overrides the NOMAD_TLS_SERVER_NAME environment variable if set.

  • -tls-skip-verify: Do not verify TLS certificate. This is highly not recommended. Verification will also be skipped if NOMAD_SKIP_VERIFY is set.

  • -token: The SecretID of an ACL token to use to authenticate API requests with. Overrides the NOMAD_TOKEN environment variable if set.

»Apply Options

  • -detach: Return immediately instead of entering monitor mode. After applying a recommendation, the evaluation ID will be printed to the screen, which can be used to examine the evaluation using the [eval status][/docs/commands/eval-status] command. If applying recommendations for multiple jobs, this value will always be true.

  • -policy-override: If set, any soft mandatory Sentinel policies will be overridden. This allows a recommendation to be applied when it would be denied by a policy.

  • -verbose: Display full information.


Apply a single recommendation and enter monitor mode:

$ nomad recommendation apply a9c041c5-3c04-aa24-bd55-0a80cded4f10
==> Monitoring evaluation "529cc88e"
    Evaluation triggered by job "job1"
    Evaluation within deployment: "28a3378f"
    Allocation "2a4df8ca" created: node "2f0a2f93", group "group1"
    Evaluation status changed: "pending" -> "complete"
==> Evaluation "529cc88e" finished with status "complete"

Apply multiple recommendations for different jobs:

$ nomad recommendation apply a9c041c5-3c04-aa24-bd55-0a80cded4f10 811900b6-da11-ef08-f515-f5e6684007a8

IDs                                   Namespace  Job ID   Eval ID                               Warnings
a9c041c5-3c04-aa24-bd55-0a80cded4f10  default    example  7c39ad13-0246-ab8e-6c50-9f3ee500bf5f  <none>
811900b6-da11-ef08-f515-f5e6684007a8  default    demoapp  68236421-c90f-efa6-fc02-37ae2d59bf03  <none>