diff --git a/website/source/docs/configuration/acl.html.md b/website/source/docs/configuration/acl.html.md
index 0cd0a9c45..f430114b6 100644
--- a/website/source/docs/configuration/acl.html.md
+++ b/website/source/docs/configuration/acl.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "acl Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-acl"
+sidebar_current: "docs-configuration-acl"
description: |-
The "acl" stanza configures the Nomad agent to enable ACLs and tune various parameters.
---
diff --git a/website/source/docs/configuration/autopilot.html.md b/website/source/docs/configuration/autopilot.html.md
index 6cf637c9e..9e02537c4 100644
--- a/website/source/docs/configuration/autopilot.html.md
+++ b/website/source/docs/configuration/autopilot.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "autopilot Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-autopilot"
+sidebar_current: "docs-configuration-autopilot"
description: |-
The "autopilot" stanza configures the Nomad agent to configure Autopilot behavior.
---
@@ -18,7 +18,7 @@ description: |-
The `autopilot` stanza configures the Nomad agent to configure Autopilot behavior.
-For more information about Autopilot, see the [Autopilot Guide](/guides/autopilot.html).
+For more information about Autopilot, see the [Autopilot Guide](/guides/operations/autopilot.html).
```hcl
autopilot {
@@ -51,7 +51,7 @@ autopilot {
- `enable_redundancy_zones` `(bool: false)` - (Enterprise-only) Controls whether
Autopilot separates servers into zones for redundancy, in conjunction with the
- [redundancy_zone](/docs/agent/configuration/server.html#redundancy_zone) parameter.
+ [redundancy_zone](/docs/configuration/server.html#redundancy_zone) parameter.
Only one server in each zone can be a voting member at one time.
- `disable_upgrade_migration` `(bool: false)` - (Enterprise-only) Disables Autopilot's
@@ -61,5 +61,5 @@ autopilot {
- `enable_custom_upgrades` `(bool: false)` - (Enterprise-only) Specifies whether to
enable using custom upgrade versions when performing migrations, in conjunction with
- the [upgrade_version](/docs/agent/configuration/server.html#upgrade_version) parameter.
+ the [upgrade_version](/docs/configuration/server.html#upgrade_version) parameter.
diff --git a/website/source/docs/configuration/client.html.md b/website/source/docs/configuration/client.html.md
index 2ba20be5b..9f990c649 100644
--- a/website/source/docs/configuration/client.html.md
+++ b/website/source/docs/configuration/client.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "client Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-client"
+sidebar_current: "docs-configuration-client"
description: |-
The "client" stanza configures the Nomad agent to accept jobs as assigned by
the Nomad server, join the cluster, and specify driver-specific configuration.
@@ -32,7 +32,7 @@ client {
- `alloc_dir` `(string: "[data_dir]/alloc")` - Specifies the directory to use
for allocation data. By default, this is the top-level
- [data_dir](/docs/agent/configuration/index.html#data_dir) suffixed with
+ [data_dir](/docs/configuration/index.html#data_dir) suffixed with
"alloc", like `"/opt/nomad/alloc"`. This must be an absolute path
- `chroot_env` ([ChrootEnv](#chroot_env-parameters): nil) -
@@ -98,7 +98,7 @@ client {
- `state_dir` `(string: "[data_dir]/client")` - Specifies the directory to use
to store client state. By default, this is - the top-level
- [data_dir](/docs/agent/configuration/index.html#data_dir) suffixed with
+ [data_dir](/docs/configuration/index.html#data_dir) suffixed with
"client", like `"/opt/nomad/client"`. This must be an absolute path.
- `gc_interval` `(string: "1m")` - Specifies the interval at which Nomad
@@ -356,4 +356,4 @@ client {
}
}
```
-[server-join]: /docs/agent/configuration/server_join.html "Server Join"
+[server-join]: /docs/configuration/server_join.html "Server Join"
diff --git a/website/source/docs/configuration/consul.html.md b/website/source/docs/configuration/consul.html.md
index a0189d96c..2f183652e 100644
--- a/website/source/docs/configuration/consul.html.md
+++ b/website/source/docs/configuration/consul.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "consul Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-consul"
+sidebar_current: "docs-configuration-consul"
description: |-
The "consul" stanza configures the Nomad agent's communication with
Consul for service discovery and key-value integration. When
@@ -168,4 +168,4 @@ consul {
```
[consul]: https://www.consul.io/ "Consul by HashiCorp"
-[bootstrap]: /guides/cluster/automatic.html "Automatic Bootstrapping"
+[bootstrap]: /guides/operations/cluster/automatic.html "Automatic Bootstrapping"
diff --git a/website/source/docs/configuration/index.html.md b/website/source/docs/configuration/index.html.md
index 14ed69c8f..c99720d4f 100644
--- a/website/source/docs/configuration/index.html.md
+++ b/website/source/docs/configuration/index.html.md
@@ -1,12 +1,12 @@
---
layout: "docs"
page_title: "Agent Configuration"
-sidebar_current: "docs-agent-configuration"
+sidebar_current: "docs-configuration"
description: |-
Learn about the configuration options available for the Nomad agent.
---
-# Agent Configuration
+# Nomad Configuration
Nomad agents have a variety of parameters that can be specified via
configuration files or command-line flags. Configuration files are written in
@@ -236,10 +236,10 @@ http_api_response_headers {
[hcl]: https://github.com/hashicorp/hcl "HashiCorp Configuration Language"
[go-sockaddr/template]: https://godoc.org/github.com/hashicorp/go-sockaddr/template
-[consul]: /docs/agent/configuration/consul.html "Nomad Agent consul Configuration"
-[vault]: /docs/agent/configuration/vault.html "Nomad Agent vault Configuration"
-[tls]: /docs/agent/configuration/tls.html "Nomad Agent tls Configuration"
-[client]: /docs/agent/configuration/client.html "Nomad Agent client Configuration"
-[sentinel]: /docs/agent/configuration/sentinel.html "Nomad Agent sentinel Configuration"
-[server]: /docs/agent/configuration/server.html "Nomad Agent server Configuration"
-[acl]: /docs/agent/configuration/acl.html "Nomad Agent ACL Configuration"
+[consul]: /docs/configuration/consul.html "Nomad Agent consul Configuration"
+[vault]: /docs/configuration/vault.html "Nomad Agent vault Configuration"
+[tls]: /docs/configuration/tls.html "Nomad Agent tls Configuration"
+[client]: /docs/configuration/client.html "Nomad Agent client Configuration"
+[sentinel]: /docs/configuration/sentinel.html "Nomad Agent sentinel Configuration"
+[server]: /docs/configuration/server.html "Nomad Agent server Configuration"
+[acl]: /docs/configuration/acl.html "Nomad Agent ACL Configuration"
diff --git a/website/source/docs/configuration/sentinel.html.md b/website/source/docs/configuration/sentinel.html.md
index 05769b453..0b71edd1d 100644
--- a/website/source/docs/configuration/sentinel.html.md
+++ b/website/source/docs/configuration/sentinel.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "sentinel Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-sentinel"
+sidebar_current: "docs-configuration-sentinel"
description: |-
The "sentinel" stanza configures the Nomad agent for Sentinel policies and tune various parameters.
---
diff --git a/website/source/docs/configuration/server.html.md b/website/source/docs/configuration/server.html.md
index 1b3466be5..35de23397 100644
--- a/website/source/docs/configuration/server.html.md
+++ b/website/source/docs/configuration/server.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "server Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-server"
+sidebar_current: "docs-configuration-server"
description: |-
The "server" stanza configures the Nomad agent to operate in server mode to
participate in scheduling decisions, register with service discovery, handle
@@ -51,7 +51,7 @@ server {
- `data_dir` `(string: "[data_dir]/server")` - Specifies the directory to use -
for server-specific data, including the replicated log. By default, this is -
- the top-level [data_dir](/docs/agent/configuration/index.html#data_dir)
+ the top-level [data_dir](/docs/configuration/index.html#data_dir)
suffixed with "server", like `"/opt/nomad/server"`. This must be an absolute
path.
@@ -70,7 +70,7 @@ server {
provided once on each agent's initial startup sequence. If it is provided
after Nomad has been initialized with an encryption key, then the provided key
is ignored and a warning will be displayed. See the
- [Nomad encryption documentation][encryption] for more details on this option
+ [encryption documentation][encryption] for more details on this option
and its impact on the cluster.
- `node_gc_threshold` `(string: "24h")` - Specifies how long a node must be in a
@@ -127,7 +127,7 @@ server {
- `redundancy_zone` `(string: "")` - (Enterprise-only) Specifies the redundancy
zone that this server will be a part of for Autopilot management. For more
- information, see the [Autopilot Guide](/guides/autopilot.html).
+ information, see the [Autopilot Guide](/guides/operations/autopilot.html).
- `rejoin_after_leave` `(bool: false)` - Specifies if Nomad will ignore a
previous leave and attempt to rejoin the cluster when starting. By default,
@@ -142,7 +142,7 @@ server {
- `upgrade_version` `(string: "")` - A custom version of the format X.Y.Z to use
in place of the Nomad version when custom upgrades are enabled in Autopilot.
- For more information, see the [Autopilot Guide](/guides/autopilot.html).
+ For more information, see the [Autopilot Guide](/guides/operations/autopilot.html).
### Deprecated Parameters
@@ -169,7 +169,7 @@ server {
- `start_join` `(array: [])` - Specifies a list of server addresses to
join on startup. If Nomad is unable to join with any of the specified
addresses, agent startup will fail. See the [server address
- format](/docs/agent/configuration/server_join.html#server-address-format)
+ format](/docs/configuration/server_join.html#server-address-format)
section for more information on the format of the string. This field is
deprecated in favor of the [server_join stanza][server-join].
@@ -203,7 +203,7 @@ server {
The Nomad servers can automatically bootstrap if Consul is configured. For a
more detailed explanation, please see the
-[automatic Nomad bootstrapping documentation](/guides/cluster/automatic.html).
+[automatic Nomad bootstrapping documentation](/guides/operations/cluster/automatic.html).
### Restricting Schedulers
@@ -218,5 +218,5 @@ server {
}
```
-[encryption]: /docs/agent/encryption.html "Nomad Agent Encryption"
-[server-join]: /docs/agent/configuration/server_join.html "Server Join"
+[encryption]: /guides/security/encryption.html "Nomad Encryption Overview"
+[server-join]: /docs/configuration/server_join.html "Server Join"
diff --git a/website/source/docs/configuration/server_join.html.md b/website/source/docs/configuration/server_join.html.md
index 82620a781..3869522c0 100644
--- a/website/source/docs/configuration/server_join.html.md
+++ b/website/source/docs/configuration/server_join.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "server_join Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration--server-join"
+sidebar_current: "docs-configuration--server-join"
description: |-
The "server_join" stanza specifies how the Nomad agent will discover and connect to Nomad servers.
---
@@ -43,8 +43,8 @@ server_join {
Address format includes both using IP addresses as well as an interface to the
[go-discover](https://github.com/hashicorp/go-discover) library for doing
- automated cluster joining using cloud metadata. See [Cloud
- Auto-join][cloud_auto_join] for more information.
+ automated cluster joining using cloud metadata. See the [Cloud Auto-join](#cloud-auto-join)
+ section below for more information.
```
server_join {
@@ -128,4 +128,104 @@ Auto-join][cloud_auto_join] for more information.
"provider=aws tag_key=..." => 1.2.3.4:4648
```
-[cloud_auto_join]: /docs/agent/cloud_auto_join.html "Nomad Cloud Auto-join"
+## Cloud Auto-join
+
+The following sections describe the Cloud Auto-join `retry_join` options that are specific
+to a subset of supported cloud providers. For information on all providers, see further
+documentation in [go-discover](https://github.com/hashicorp/go-discover).
+
+### Amazon EC2
+
+This returns the first private IP address of all servers in the given
+region which have the given `tag_key` and `tag_value`.
+
+
+```json
+{
+ "retry_join": ["provider=aws tag_key=... tag_value=..."]
+}
+```
+
+- `provider` (required) - the name of the provider ("aws" in this case).
+- `tag_key` (required) - the key of the tag to auto-join on.
+- `tag_value` (required) - the value of the tag to auto-join on.
+- `region` (optional) - the AWS region to authenticate in.
+- `addr_type` (optional) - the type of address to discover: `private_v4`, `public_v4`, `public_v6`. Default is `private_v4`. (>= 1.0)
+- `access_key_id` (optional) - the AWS access key for authentication (see below for more information about authenticating).
+- `secret_access_key` (optional) - the AWS secret access key for authentication (see below for more information about authenticating).
+
+#### Authentication & Precedence
+
+- Static credentials `access_key_id=... secret_access_key=...`
+- Environment variables (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
+- Shared credentials file (`~/.aws/credentials` or the path specified by `AWS_SHARED_CREDENTIALS_FILE`)
+- ECS task role metadata (container-specific).
+- EC2 instance role metadata.
+
+ The only required IAM permission is `ec2:DescribeInstances`, and it is
+ recommended that you make a dedicated key used only for auto-joining. If the
+ region is omitted it will be discovered through the local instance's [EC2
+ metadata
+ endpoint](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html).
+
+### Microsoft Azure
+
+ This returns the first private IP address of all servers in the given region
+ which have the given `tag_key` and `tag_value` in the tenant and subscription, or in
+ the given `resource_group` of a `vm_scale_set` for Virtual Machine Scale Sets.
+
+
+ ```json
+{
+ "retry_join": ["provider=azure tag_name=... tag_value=... tenant_id=... client_id=... subscription_id=... secret_access_key=..."]
+}
+```
+
+- `provider` (required) - the name of the provider ("azure" in this case).
+- `tenant_id` (required) - the tenant to join machines in.
+- `client_id` (required) - the client to authenticate with.
+- `secret_access_key` (required) - the secret client key.
+
+Use these configuration parameters when using tags:
+- `tag_name` - the name of the tag to auto-join on.
+- `tag_value` - the value of the tag to auto-join on.
+
+Use these configuration parameters when using Virtual Machine Scale Sets (Consul 1.0.3 and later):
+- `resource_group` - the name of the resource group to filter on.
+- `vm_scale_set` - the name of the virtual machine scale set to filter on.
+
+ When using tags the only permission needed is the `ListAll` method for `NetworkInterfaces`. When using
+ Virtual Machine Scale Sets the only role action needed is `Microsoft.Compute/virtualMachineScaleSets/*/read`.
+
+### Google Compute Engine
+
+This returns the first private IP address of all servers in the given
+project which have the given `tag_value`.
+```
+
+```json
+{
+"retry_join": ["provider=gce project_name=... tag_value=..."]
+}
+```
+
+- `provider` (required) - the name of the provider ("gce" in this case).
+- `tag_value` (required) - the value of the tag to auto-join on.
+- `project_name` (optional) - the name of the project to auto-join on. Discovered if not set.
+- `zone_pattern` (optional) - the list of zones can be restricted through an RE2 compatible regular expression. If omitted, servers in all zones are returned.
+- `credentials_file` (optional) - the credentials file for authentication. See below for more information.
+
+#### Authentication & Precedence
+
+- Use credentials from `credentials_file`, if provided.
+- Use JSON file from `GOOGLE_APPLICATION_CREDENTIALS` environment variable.
+- Use JSON file in a location known to the gcloud command-line tool.
+- On Windows, this is `%APPDATA%/gcloud/application_default_credentials.json`.
+- On other systems, `$HOME/.config/gcloud/application_default_credentials.json`.
+- On Google Compute Engine, use credentials from the metadata
+server. In this final case any provided scopes are ignored.
+
+Discovery requires a [GCE Service
+Account](https://cloud.google.com/compute/docs/access/service-accounts).
+Credentials are searched using the following paths, in order of precedence.
+
diff --git a/website/source/docs/configuration/telemetry.html.md b/website/source/docs/configuration/telemetry.html.md
index bf5b486e3..861b4a8dc 100644
--- a/website/source/docs/configuration/telemetry.html.md
+++ b/website/source/docs/configuration/telemetry.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "telemetry Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-telemetry"
+sidebar_current: "docs-configuration-telemetry"
description: |-
The "telemetry" stanza configures Nomad's publication of metrics and telemetry
to third-party systems.
@@ -31,7 +31,7 @@ telemetry {
This section of the documentation only covers the configuration options for
`telemetry` stanza. To understand the architecture and metrics themselves,
-please see the [Nomad telemetry documentation](/docs/agent/telemetry.html).
+please see the [Telemetry guide](/guides/operations/monitoring/telemetry.html).
## `telemetry` Parameters
diff --git a/website/source/docs/configuration/tls.html.md b/website/source/docs/configuration/tls.html.md
index b79a1ac7e..cc2367c4f 100644
--- a/website/source/docs/configuration/tls.html.md
+++ b/website/source/docs/configuration/tls.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "tls Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-tls"
+sidebar_current: "docs-configuration-tls"
description: |-
The "tls" stanza configures Nomad's TLS communication via HTTP and RPC to
enforce secure cluster communication between servers, clients, and between.
@@ -33,7 +33,7 @@ start the Nomad agent.
This section of the documentation only covers the configuration options for
`tls` stanza. To understand how to setup the certificates themselves, please see
-the [Agent's Gossip and RPC Encryption](/docs/agent/encryption.html).
+the [Encryption Overview Guide](/guides/security/encryption.html).
## `tls` Parameters
diff --git a/website/source/docs/configuration/vault.html.md b/website/source/docs/configuration/vault.html.md
index 01207900d..87e30a583 100644
--- a/website/source/docs/configuration/vault.html.md
+++ b/website/source/docs/configuration/vault.html.md
@@ -1,7 +1,7 @@
---
layout: "docs"
page_title: "vault Stanza - Agent Configuration"
-sidebar_current: "docs-agent-configuration-vault"
+sidebar_current: "docs-configuration-vault"
description: |-
The "vault" stanza configures Nomad's integration with HashiCorp's Vault.
When configured, Nomad can create and distribute Vault tokens to tasks
@@ -86,8 +86,8 @@ vault {
- `token` `(string: "")` - Specifies the parent Vault token to use to derive child tokens for jobs
requesting tokens.
- Visit the [Vault Integration](/docs/vault-integration/index.html)
- documentation to see how to generate an appropriate token in Vault.
+ Visit the [Vault Integration Guide](/guides/operations/vault-integration/index.html)
+ to see how to generate an appropriate token in Vault.
!> It is **strongly discouraged** to place the token as a configuration
parameter like this, since the token could be checked into source control
@@ -150,4 +150,4 @@ token needs to be given to the servers without having to restart them. A reload
can be accomplished by sending the process a `SIGHUP` signal.
[vault]: https://www.vaultproject.io/ "Vault by HashiCorp"
-[nomad-vault]: /docs/vault-integration/index.html "Nomad Vault Integration"
+[nomad-vault]: /guides/operations/vault-integration/index.html "Nomad Vault Integration"