From d9aed3af4da3400a081734d0e8f5ac8bb0fe6b6f Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Sun, 20 Sep 2015 16:37:22 -0400 Subject: [PATCH] Update website to remove a lot of copy-paste with Vault + improve images --- website/source/assets/images/eval-flow.png | Bin 42029 -> 0 bytes website/source/assets/images/global-arch.png | Bin 31671 -> 0 bytes .../images/nomad-architecture-global.png | Bin 0 -> 53219 bytes .../images/nomad-architecture-region.png | Bin 0 -> 31950 bytes .../source/assets/images/nomad-data-model.png | Bin 0 -> 22624 bytes .../assets/images/nomad-evaluation-flow.png | Bin 0 -> 64685 bytes website/source/assets/images/nomad-nouns.png | Bin 32648 -> 0 bytes website/source/assets/images/region-arch.png | Bin 54137 -> 0 bytes website/source/community.html.erb | 56 +---- .../source/docs/commands/index.html.md.erb | 2 +- website/source/docs/concepts/auth.html.md | 99 -------- .../source/docs/concepts/dev-server.html.md | 53 ----- website/source/docs/concepts/ha.html.markdown | 29 +-- website/source/docs/concepts/lease.html.md | 75 ------ website/source/docs/concepts/policies.html.md | 133 ----------- website/source/docs/concepts/seal.html.md | 72 ------ website/source/docs/concepts/tokens.html.md | 58 ----- website/source/docs/config/index.html.md | 178 +------------- website/source/docs/drivers/custom.html.md | 4 +- website/source/docs/drivers/index.html.md | 14 +- website/source/docs/http/index.html.md | 135 +---------- website/source/docs/http/libraries.html.md | 29 --- website/source/docs/http/sys-audit.html.md | 108 --------- website/source/docs/http/sys-auth.html.md | 102 -------- website/source/docs/http/sys-health.html.md | 50 ---- website/source/docs/http/sys-init.html.md | 78 ------ .../source/docs/http/sys-key-status.html.md | 38 --- website/source/docs/http/sys-leader.html.md | 37 --- website/source/docs/http/sys-mounts.html.md | 103 -------- website/source/docs/http/sys-policy.html.md | 92 -------- website/source/docs/http/sys-raw.html.md | 96 -------- website/source/docs/http/sys-rekey.html.md | 155 ------------ website/source/docs/http/sys-remount.html.md | 39 --- website/source/docs/http/sys-renew.html.md | 38 --- .../docs/http/sys-revoke-prefix.html.md | 29 --- website/source/docs/http/sys-revoke.html.md | 29 --- website/source/docs/http/sys-rotate.html.md | 37 --- .../source/docs/http/sys-seal-status.html.md | 39 --- website/source/docs/http/sys-seal.html.md | 28 --- website/source/docs/http/sys-unseal.html.md | 36 --- website/source/docs/index.html.markdown | 7 +- website/source/docs/install/index.html.md | 8 +- .../docs/internals/architecture.html.md | 6 +- .../source/docs/internals/consensus.html.md | 25 +- website/source/docs/internals/gossip.html.md | 9 +- website/source/docs/internals/index.html.md | 2 +- .../source/docs/internals/scheduling.html.md | 10 +- .../source/docs/internals/telemetry.html.md | 2 +- website/source/downloads.html.erb | 4 +- .../source/intro/getting-started/acl.html.md | 135 ----------- .../source/intro/getting-started/apis.html.md | 195 +-------------- .../getting-started/authentication.html.md | 167 ------------- .../intro/getting-started/deploy.html.md | 222 ------------------ .../intro/getting-started/dev-server.html.md | 113 --------- .../getting-started/dynamic-secrets.html.md | 172 -------------- .../getting-started/first-secret.html.md | 118 ---------- .../source/intro/getting-started/help.html.md | 121 ---------- .../intro/getting-started/install.html.md | 62 ++--- .../intro/getting-started/next-steps.html.md | 7 +- .../source/intro/getting-started/running.md | 18 ++ .../getting-started/secret-backends.html.md | 119 ---------- website/source/layouts/docs.erb | 24 -- website/source/layouts/downloads.erb | 2 +- website/source/layouts/http.erb | 135 ----------- website/source/layouts/intro.erb | 38 +-- 65 files changed, 116 insertions(+), 3676 deletions(-) delete mode 100644 website/source/assets/images/eval-flow.png delete mode 100644 website/source/assets/images/global-arch.png create mode 100644 website/source/assets/images/nomad-architecture-global.png create mode 100644 website/source/assets/images/nomad-architecture-region.png create mode 100644 website/source/assets/images/nomad-data-model.png create mode 100644 website/source/assets/images/nomad-evaluation-flow.png delete mode 100644 website/source/assets/images/nomad-nouns.png delete mode 100644 website/source/assets/images/region-arch.png delete mode 100644 website/source/docs/concepts/auth.html.md delete mode 100644 website/source/docs/concepts/dev-server.html.md delete mode 100644 website/source/docs/concepts/lease.html.md delete mode 100644 website/source/docs/concepts/policies.html.md delete mode 100644 website/source/docs/concepts/seal.html.md delete mode 100644 website/source/docs/concepts/tokens.html.md delete mode 100644 website/source/docs/http/libraries.html.md delete mode 100644 website/source/docs/http/sys-audit.html.md delete mode 100644 website/source/docs/http/sys-auth.html.md delete mode 100644 website/source/docs/http/sys-health.html.md delete mode 100644 website/source/docs/http/sys-init.html.md delete mode 100644 website/source/docs/http/sys-key-status.html.md delete mode 100644 website/source/docs/http/sys-leader.html.md delete mode 100644 website/source/docs/http/sys-mounts.html.md delete mode 100644 website/source/docs/http/sys-policy.html.md delete mode 100644 website/source/docs/http/sys-raw.html.md delete mode 100644 website/source/docs/http/sys-rekey.html.md delete mode 100644 website/source/docs/http/sys-remount.html.md delete mode 100644 website/source/docs/http/sys-renew.html.md delete mode 100644 website/source/docs/http/sys-revoke-prefix.html.md delete mode 100644 website/source/docs/http/sys-revoke.html.md delete mode 100644 website/source/docs/http/sys-rotate.html.md delete mode 100644 website/source/docs/http/sys-seal-status.html.md delete mode 100644 website/source/docs/http/sys-seal.html.md delete mode 100644 website/source/docs/http/sys-unseal.html.md delete mode 100644 website/source/intro/getting-started/acl.html.md delete mode 100644 website/source/intro/getting-started/authentication.html.md delete mode 100644 website/source/intro/getting-started/deploy.html.md delete mode 100644 website/source/intro/getting-started/dev-server.html.md delete mode 100644 website/source/intro/getting-started/dynamic-secrets.html.md delete mode 100644 website/source/intro/getting-started/first-secret.html.md delete mode 100644 website/source/intro/getting-started/help.html.md create mode 100644 website/source/intro/getting-started/running.md delete mode 100644 website/source/intro/getting-started/secret-backends.html.md diff --git a/website/source/assets/images/eval-flow.png b/website/source/assets/images/eval-flow.png deleted file mode 100644 index 193a228983c3d30c91959c9182e3b4241fcf0862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42029 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 Gq5lI%!J;Jq diff --git a/website/source/assets/images/global-arch.png b/website/source/assets/images/global-arch.png deleted file mode 100644 index c5fa23881f8990f22f09fa00ab52516ad1e1b5ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31671 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%0AZMnBY58A)G!kdyPUI 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�W({HK-TP@M^l;aY8 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 M~hrJ^K_jzWY20|SFDDz#QS9c0 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 literal 0 HcmV?d00001 diff --git a/website/source/assets/images/nomad-architecture-region.png b/website/source/assets/images/nomad-architecture-region.png new file mode 100644 index 0000000000000000000000000000000000000000..3d563b674afc379d2500a24823d4644ab9c2a6b7 GIT binary patch literal 31950 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 FBT#u#`nhUuOfDYj1Ih&Wy+-BC8>|X~u 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 UiazWY<6u9E&(-9MpP798AA7X*uK)l5 literal 0 HcmV?d00001 diff --git a/website/source/assets/images/nomad-nouns.png b/website/source/assets/images/nomad-nouns.png deleted file mode 100644 index 16d2b9854d22b59e5cff4b021321a4303eb3456a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32648 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 diff --git a/website/source/community.html.erb b/website/source/community.html.erb index 95d5ff282..9ac2741b7 100644 --- a/website/source/community.html.erb +++ b/website/source/community.html.erb @@ -34,54 +34,22 @@ the faces below, Nomad is a project by employees actively contribute to Nomad.

-
- -
-

Mitchell Hashimoto (@mitchellh)

-

- Mitchell Hashimoto is the creator of Nomad and works on all - layers of Nomad from the core to backends. In addition to Nomad, - Mitchell is the creator of - Vagrant, - Packer, - Consul, and - Terraform. -

-
-
- +

Armon Dadgar (@armon)

- Armon Dadgar is a creator of Nomad. He works on all aspects of Nomad, - focusing on core architecture and security. Armon is also the creator of - Consul, - Serf, - Terraform, - Statsite, and - Bloomd. -

+ Armon Dadgar is a creator of Nomad. He works on all aspects of Nomad, + focusing on core architecture and security. Armon is also an author or + core contributor to: + Consul, + Serf, + Terraform, + Statsite, + and Bloomd. +

-
- -
- -
-

Jack Pearkes (@pearkes)

-

- Jack Pearkes is the creator of the online interactive demo of Nomad. - He maintains this demo as well as the design and interaction of the - Nomad website. Jack is an employee of HashiCorp and a primary engineer - behind Atlas. - He is also a core committer to - Packer, - Consul, and - Terraform. -

-
-
- -
+
+
diff --git a/website/source/docs/commands/index.html.md.erb b/website/source/docs/commands/index.html.md.erb index 0cee21ce4..91bf0ca5c 100644 --- a/website/source/docs/commands/index.html.md.erb +++ b/website/source/docs/commands/index.html.md.erb @@ -16,7 +16,7 @@ subcommands is in the navigation to the left. The Nomad CLI is a well-behaved command line application. In erroneous cases, a non-zero exit status will be returned. It also responds to `-h` and `--help` -as you'd most likely expect. +as you would most likely expect. To view a list of the available commands at any time, just run Nomad with no arguments. To get help for any specific subcommand, run the subcommand diff --git a/website/source/docs/concepts/auth.html.md b/website/source/docs/concepts/auth.html.md deleted file mode 100644 index 5737cd586..000000000 --- a/website/source/docs/concepts/auth.html.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -layout: "docs" -page_title: "Authentication" -sidebar_current: "docs-concepts-auth" -description: |- - Before performing any operation with Nomad, the connecting client must be authenticated. ---- - -# Authentication - -Before performing any operation with Nomad, the connecting client must be -_authenticated_. Authentication is the process of verifying a person or -machine is who they say they are and assigning an identity to them. This -identity is then used when making requests with Nomad. - -Authentication in Nomad is pluggable via authentication backends. This -allows you to authenticate with Nomad using a method that works best for your -organization. For example, you can authenticate using GitHub, certs, etc. - -## Authentication Backends - -There are many authentication backends available for Nomad. They -are enabled using `vault auth-enable`. After they're enabled, you can -learn more about them using `vault path-help auth/`. For example, -if you enable GitHub, you can use `vault path-help auth/github` to learn more -about how to configure it and login. - -Multiple authentication backends can be enabled, but only one is required -to gain authentication. It is not currently possible to force a user through -multiple authentication backends to gain access. - -This allows you to enable human-friendly as well as machine-friendly -backends at the same time. For example, for humans you might use the -"github" auth backend, and for machines you might use the "app-id" backend. - -## Tokens - -There is an [entire page dedicated to tokens](/docs/concepts/tokens.html), -but it is important to understand that authentication works by verifying -your identity and then generating a token to associate with that identity. - -For example, even though you may authenticate using something like GitHub, -Nomad generates a unique access token for you to use for future requests. -The CLI automatically attaches this token to requests, but if you're using -the API you'll have to do this manually. - -This token given for authentication with any backend can also be used -with the full set of token commands, such as creating new sub-tokens, -revoking tokens, and renewing tokens. This is all covered on the -[token concepts page](/docs/concepts/tokens.html). - -## Authenticating - -#### Via the CLI - -To authenticate with the CLI, `vault auth` is used. This supports many -of the built-in authentication methods. For example, with GitHub: - -``` -$ vault auth -method=github token= -... -``` - -After authenticating, you will be logged in. The CLI command will also -output your raw token. This token is used for revocation and renewal. -As the user logging in, the primary use case of the token is renewal, -covered below in the "Auth Leases" section. - -To determine what variables are needed for an authentication method, -supply the `-method` flag without any additional arguments and help -will be shown. - -If you're using a method that isn't supported via the CLI, then the API -must be used. - -#### Via the API - -API authentication is generally used for machine authentication. Each -auth backend implements is own login endpoint. Use the `vault path-help` -mechanism to find the proper endpoint. - -For example, the GitHub login endpoint is located at `auth/github/login`. -And to determine the arguments needed, `vault path-help auth/github/login` can -be used. - -## Auth Leases - -Just like secrets, identities have -[leases](/docs/concepts/lease.html) associated with them. This means that -you must reauthenticate after the given lease period to continue accessing -Nomad. - -To set the lease associated with an identity, reference the help for -the specific authentication backend in use. It is specific to each backend -how leasing is implemented. - -And just like secrets, identities can be renewed without having to -completely reauthenticate. Just use `vault token-renew ` with the -token associated with your identity to renew it. diff --git a/website/source/docs/concepts/dev-server.html.md b/website/source/docs/concepts/dev-server.html.md deleted file mode 100644 index f579e4a3b..000000000 --- a/website/source/docs/concepts/dev-server.html.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -layout: "docs" -page_title: "Dev Server Mode" -sidebar_current: "docs-concepts-devserver" -description: |- - The dev server in Nomad can be used for development or to experiment with Nomad. ---- - -# "Dev" Server Mode - -You can start Nomad as a server in "dev" mode like so: `vault server -dev`. -This dev-mode server requires no further setup, and your local `vault` CLI will -be authenticated to talk to it. This makes it easy to experiment with Nomad or -start a Nomad instance for development. Every feature of Nomad is available in -"dev" mode. The `-dev` flag just short-circuits a lot of setup to insecure -defaults. - -~> **Warning:** Never, ever, ever run a "dev" mode server in production. -It is insecure and will lose data on every restart (since it stores data -in-memory). It is only made for development or experimentation. - -## Properties - -The properties of the dev server: - - * **Initialized and unsealed** - The server will be automatically initialized - and unsealed. You don't need to use `vault unseal`. It is ready for use - immediately. - - * **In-memory storage** - All data is stored (encrypted) in-memory. Nomad - server doesn't require any file permissions. - - * **Bound to local address without TLS** - The server is listening on - `127.0.0.1:8200` (the default server address) _without_ TLS. - - * **Automatically Authenticated** - The server stores your root access - token so `vault` CLI access is ready to go. If you are accessing Nomad - via the API, you'll need to authenticate using the token printed out. - - * **Single unseal key** - The server is initialized with a single unseal - key. The Nomad is already unsealed, but if you want to experiment with - seal/unseal, then only the single outputted key is required. - -## Use Case - -The dev server should be used for experimentation with Nomad features, such -as different authentication backends, secret backends, audit backends, etc. -If you're new to Nomad, you may want to pick up with [Your First -Secret](http://vaultproject.io/intro/getting-started/first-secret.html) in -our getting started guide. - -In addition to experimentation, the dev server is very easy to automate -for development environments. diff --git a/website/source/docs/concepts/ha.html.markdown b/website/source/docs/concepts/ha.html.markdown index 630d7f45c..355a4b22e 100644 --- a/website/source/docs/concepts/ha.html.markdown +++ b/website/source/docs/concepts/ha.html.markdown @@ -12,31 +12,4 @@ Nomad supports multi-server mode for high availability. This mode protects against outages by running multiple Nomad servers. High availability mode is automatically enabled when using a storage backend that supports it. -You can tell if a backend supports high availability mode ("HA") by -starting the server and seeing if "(HA available)" is outputted next to -the backend information. If it is, then HA will begin happening automatically. - -To be highly available, Nomad elects a leader and does request forwarding to -the leader. Due to this architecture, HA does not enable increased scalability. -In general, the bottleneck of Nomad is the storage backend itself, not -Nomad core. For example: to increase scalability of Nomad with Consul, you -would scale Consul instead of Nomad. - -In addition to using a backend that supports HA, you have to configure -Nomad with an _advertise address_. This is the address that Nomad advertises -to other Nomad servers in the cluster for request forwarding. By default, -Nomad will use the first private IP address it finds, but you can override -this to any address you want. - -## Backend Support - -Currently there are several backends that support high availability mode, -including Consul, ZooKeeper and etcd. These may change over time, and the -[configuration page](/docs/config/index.html) should be referenced. - -The Consul backend is the recommended HA backend, as it is used in production -by HashiCorp and it's customers with commercial support. - -If you're interested in implementing another backend or adding HA support -to another backend, we'd love your contributions. Adding HA support -requires implementing the `physical.HABackend` interface for the storage backend. +TODO: Document HA diff --git a/website/source/docs/concepts/lease.html.md b/website/source/docs/concepts/lease.html.md deleted file mode 100644 index fc89b9e79..000000000 --- a/website/source/docs/concepts/lease.html.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -layout: "docs" -page_title: "Lease, Renew, and Revoke" -sidebar_current: "docs-concepts-lease" -description: |- - Nomad provides a lease with every secret. When this lease is expired, Nomad will revoke that secret. ---- - -# Lease, Renew, and Revoke - -With every secret and authentication token, Nomad provides a _lease_: -an amount of time that Nomad promises that the data will be valid for. -Once the lease is up, Nomad can automatically revoke the data, and the -consumer of the secret can no longer be certain that it is valid. - -The benefit should be clear: consumers of secrets need to check in with -Nomad routinely to either renew the lease (if allowed) or request a -replacement secret. This makes the Nomad audit logs more valuable and -also makes key rolling a lot easier. - -All secrets in Nomad are required to have a lease. Even if the data is -meant to be valid for eternity, a lease is required to force the consumer -to check in routinely. - -In addition to renewals, a lease can be _revoked_. When a lease is revoked, -it invalidates that secret immediately and prevents any further renewals. -For -[dynamic secrets](#), -the secrets themselves are often immediately disabled. For example, with -the -[AWS secret backend](/docs/secrets/aws/index.html), the access keys will -be deleted from AWS the moment a secret is revoked. This renders the access -keys invalid from that point forward. - -Revocation can happen manually via the API or `vault revoke`, or automatically -by Nomad. When a lease is expired, Nomad will automatically revoke that -lease. - -## Lease IDs - -When reading a secret, such as via `vault read`, Nomad always returns -a `lease_id`. This is the ID used with commands such as `vault renew` and -`vault revoke` to manage the lease of the secret. - -## Lease Durations and Renewal - -Along with the lease ID, a _lease duration_ can be read. The lease duration -is the time in seconds that the lease is valid for. A consumer of this -secret must renew the lease within that time. - -When renewing the lease, the user can request a specific amount of time -from now to extend the lease. For example: `vault renew my-lease-id 3600` -would request to extend the lease of "my-lease-id" by 1 hour (3600 seconds). - -The requested increment is completely advisory. The backend in charge -of the secret can choose to completely ignore it. For most secrets, the -backend does its best to respect the increment, but often limits it to -ensure renewals every so often. - -As a result, the return value of renews should be carefully inspected -to determine what the new lease is. - -## Prefix-based Revocation - -In addition to revoking a single secret, operators with proper access -control can revoke multiple secrets based on their lease ID prefix. - -Lease IDs are structured in a way that their prefix is always the path -where the secret was requested from. This lets you revoke trees of -secrets. For example, to revoke all AWS access keys, you can do -`vault revoke -prefix aws/`. - -This is very useful if there is an intrusion within a specific system: -all secrets of a specific backend or a certain configured backend can -be revoked quickly and easily. diff --git a/website/source/docs/concepts/policies.html.md b/website/source/docs/concepts/policies.html.md deleted file mode 100644 index 5e9d38184..000000000 --- a/website/source/docs/concepts/policies.html.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -layout: "docs" -page_title: "Policies" -sidebar_current: "docs-concepts-policies" -description: |- - Policies are how authorization is done in Nomad, allowing you to restrict which parts of Nomad a user can access. ---- - -# Access Control Policies - -After [authenticating](/docs/concepts/auth.html) with Nomad, the -next step is authorization. This is the process of determining what -a user is allowed to do. Authorization is unified in Nomad in the form -of _policies_. - -Policies are [HCL](https://github.com/hashicorp/hcl) or JSON documents -that describe what parts of Nomad a user is allowed to access. An example -of a policy is shown below: - -```javascript -path "sys/*" { - policy = "deny" -} - -path "secret/*" { - policy = "write" -} - -path "secret/foo" { - policy = "read" -} - -path "secret/super-secret" { - policy = "deny" -} -``` - -Policies use path based matching to apply rules. A policy may be an exact -match, or might be a glob pattern which uses a prefix. The default policy -is always deny so if a path isn't explicitly allowed, Nomad will reject access to it. -This works well due to Nomad's architecture of being like a filesystem: -everything has a path associated with it, including the core configuration -mechanism under "sys". - -~> Policy paths are matched using the most specific defined policy. This may -be an exact match or the longest-prefix match of a glob. This means if you -define a policy for `"secret/foo*"`, the policy would also match `"secret/foobar"`. -The glob character is only supported at the end of the path specification. - -## Policies - -Allowed policies for a path are: - - * `deny` - No access allowed. Highest precedence. - - * `sudo` - Read, write, and root access to a path. - - * `write` - Read, write access to a path. - - * `read` - Read-only access to a path. - -The only non-obvious policy is "sudo". Some routes within Nomad and mounted -backends are marked as _root_ paths. Clients aren't allowed to access root -paths unless they are a root user (have the special policy "root") or -have access to that path with the "sudo" policy. - -For example, modifying the audit log backends is done via root paths. -Only root or "sudo" privilege users are allowed to do this. - -## Root Policy - -The "root" policy is a special policy that can not be modified or removed. -Any user associated with the "root" policy becomes a root user. A root -user can do _anything_ within Nomad. - -There always exists at least one root user (associated with the token -when initializing a new server). After this root user, it is recommended -to create more strictly controlled users. The original root token should -be protected accordingly. - -## Managing Policies - -Policy management can be done via the API or CLI. The CLI commands are -`vault policies` and `vault policy-write`. Please see the help associated -with these commands for more information. They are very easy to use. - -## Associating Policies - -To associate a policy with a user, you must consult the documentation for -the authentication backend you're using. - -For tokens, they are associated at creation time with `vault token-create` -and the `-policy` flags. Child tokens can be associated with a subset of -a parent's policies. Root users can assign any policies. - -There is no way to modify the policies associated with an active -identity. The identity must be revoked and reauthenticated to receive -the new policy list. - -If an _existing_ policy is modified, the modifications propagate -to all associated users instantly. The above paragraph is more specifically -stating that you can't add new or remove policies associated with an -active identity. - -## Changes from 0.1 - -In Nomad versions prior to 0.2, the ACL policy language had a slightly -different specification and semantics. The current specification requires -that glob behavior explicitly be specified by adding the `*` character to -the end of a path. Previously, all paths were glob based matches and no -exact match could be specified. - -The other change is that deny had the lowest precedence. This meant if there -were two policies being merged (e.g. "ops" and "prod") and they had a conflicting -policy like: - -``` -path "sys/seal" { - policy = "deny" -} - -path "sys/seal" { - policy = "read" -} -``` - -The merge would previously give the "read" higher precedence. The current -version of Nomad prioritizes the explicit deny, so that the "deny" would -take precedence. - -To make all Nomad 0.1 policies compatible with Nomad 0.2, the explicit -glob character must be added to all the path prefixes. - diff --git a/website/source/docs/concepts/seal.html.md b/website/source/docs/concepts/seal.html.md deleted file mode 100644 index 165536bfd..000000000 --- a/website/source/docs/concepts/seal.html.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -layout: "docs" -page_title: "Seal/Unseal" -sidebar_current: "docs-concepts-seal" -description: |- - A Nomad must be unsealed before it can access its data. Likewise, it can be sealed to lock it down. ---- - -# Seal/Unseal - -When a Nomad server is started, it starts in a _sealed_ state. In this -state, Nomad is configured to know where and how to access the physical -storage, but doesn't know how to decrypt any of it. - -_Unsealing_ is the process of constructing the master key necessary to -read the decryption key to decrypt the data, allowing access to the Nomad. - -Prior to unsealing, almost no operations are possible with Nomad. For -example authentication, managing the mount tables, etc. are all not possible. -The only possible operations are to unseal the Nomad and check the status -of the unseal. - -## Why? - -The data stored by Nomad is stored encrypted. Nomad needs the -_encryption key_ in order to decrypt the data. The encryption key is -also stored with the data, but encrypted with another encryption key -known as the _master key_. The master key isn't stored anywhere. - -Therefore, to decrypt the data, Nomad must decrypt the encryption key -which requires the master key. Unsealing is the process of reconstructing -this master key. - -Instead of distributing this master key as a single key to an operator, -Nomad uses an algorithm known as -[Shamir's Secret Sharing](http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) -to split the key into shards. A certain threshold of shards is required to -reconstruct the master key. - -This is the _unseal_ process: the shards are added one at a time (in any -order) until enough shards are present to reconstruct the key and -decrypt the data. - -## Unsealing - -The unseal process is done by running `vault unseal` or via the API. -This process is stateful: each key can be entered via multiple mechanisms -on multiple computers and it will work. This allows each shard of the master -key to be on a distinct machine for better security. - -Once a Nomad is unsealed, it remains unsealed until one of two things happens: - - 1. It is resealed via the API (see below). - - 2. The server is restarted. - --> **Note:** Unsealing makes the process of automating a Nomad install -difficult. Automated tools can easily install, configure, and start Nomad, -but unsealing it is a very manual process. We have plans in the future to -make it easier. For the time being, the best method is to manually unseal -multiple Nomad servers in [HA mode](/docs/concepts/ha.html). Use a tool such -as Consul to make sure you only query Nomad servers that are unsealed. - -## Sealing - -There is also an API to seal the Nomad. This will throw away the encryption -key and require another unseal process to restore it. Sealing only requires -a single operator with root privileges. - -This way, if there is a detected intrusion, the Nomad data can be locked -quickly to try to minimize damages. It can't be accessed again without -access to the master key shards. diff --git a/website/source/docs/concepts/tokens.html.md b/website/source/docs/concepts/tokens.html.md deleted file mode 100644 index f52f3f473..000000000 --- a/website/source/docs/concepts/tokens.html.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: "docs" -page_title: "Tokens" -sidebar_current: "docs-concepts-tokens" -description: |- - Tokens are a core authentication method in Nomad. Child tokens, token-based revocation, and more. ---- - -# Tokens - -Tokens are the core method for _authentication_ within Nomad. Tokens -can be used directly or [authentication backends](/docs/concepts/auth.html) -can be used to dynamically generate tokens based on external identities. - -If you've gone through the getting started guide, you probably noticed that -`vault server -dev` (or `vault init` for a non-dev server) outputs an -initial "root token." This is the first method of authentication for Nomad. -It is also the only authentication backend that cannot be disabled. - -As stated in the [authentication concepts](/docs/concepts/auth.html), -all external authentication mechanisms such as GitHub map down to dynamically -created tokens. These tokens have all the same properties as a normal -manually created token. - -On this page, we'll show you how to create and manage tokens. - -## Token Creation - -Tokens are created via the API or using `vault token-create` from the CLI. -This will create a new token that is a child of the currently authenticated -token. As a child, the new token will automatically be revoked if the parent -is revoked. - -If you're logged in as root, you can create an _orphan_ token by -specifying the `-orphan` flag. An orphan token has no parent, and therefore -when your token is revoked, it will not revoke the orphan. - -Metadata associated with the token with `-metadata` is used to annotate -the token with information that is added to the audit log. - -Finally, the `-policy` flag can be used to set the policies associated -with the token. Learn more about policies on the -[policies concepts](/docs/concepts/policies.html) page. - -## Token Leases - -Every token has a lease associated with it. These leases behave in much -the same way as [leases for secrets](/docs/concepts/lease.html). After -the lease period is up, the token will no longer function. In addition -to no longer functioning, Nomad will revoke it. - -In order to avoid your token being revoked, the `vault token-renew` -command should be used to renew the lease on the token periodically. - -After a token is revoked, all of the secrets in use by that token will -also be revoked. Therefore, if a user requests AWS access keys, for example, -then after the token expires the AWS access keys will also be expired even -if they had remaining lease time. diff --git a/website/source/docs/config/index.html.md b/website/source/docs/config/index.html.md index 7528a9b20..14d7d18c7 100644 --- a/website/source/docs/config/index.html.md +++ b/website/source/docs/config/index.html.md @@ -6,12 +6,14 @@ description: |- Nomad server configuration reference. --- -# Server Configuration +# Nomad Configuration Outside of development mode, Nomad servers are configured using a file. The format of this file is [HCL](https://github.com/hashicorp/hcl) or JSON. An example configuration is shown below: +TODO: Document Nomad configuration. Examples below stolen from Vault. + ```javascript backend "consul" { address = "127.0.0.1:8500" @@ -66,177 +68,3 @@ the Nomad executable access to the `mlock` syscall on Linux systems: ```shell sudo setcap cap_ipc_lock=+ep $(readlink -f $(which vault)) ``` - -## Backend Reference - -For the `backend` section, the supported backends are shown below. -Nomad requires that the backend itself will be responsible for backups, -durability, etc. - - * `consul` - Store data within [Consul](http://www.consul.io). This - backend supports HA. It is the most recommended backend for Nomad - and has been shown to work at high scale under heavy load. - - * `etcd` - Store data within [etcd](https://coreos.com/etcd/). - This backend supports HA. - - * `zookeeper` - Store data within [Zookeeper](https://zookeeper.apache.org/). - This backend supports HA. - - * `s3` - Store data within an S3 bucket [S3](http://aws.amazon.com/s3/). - This backend does not support HA. - - * `mysql` - Store data within MySQL. This backend does not support HA. - - * `inmem` - Store data in-memory. This is only really useful for - development and experimentation. Data is lost whenever Nomad is - restarted. - - * `file` - Store data on the filesystem using a directory structure. - This backend does not support HA. - -#### Common Backend Options - -All backends support the following options: - - * `advertise_addr` (optional) - For backends that support HA, this - is the address to advertise to other Nomad servers in the cluster - for request forwarding. Most HA backends will attempt to determine - the advertise address if not provided. - -#### Backend Reference: Consul - -For Consul, the following options are supported: - - * `path` (optional) - The path within Consul where data will be stored. - Defaults to "vault/". - - * `address` (optional) - The address of the Consul agent to talk to. - Defaults to the local agent address, if available. - - * `scheme` (optional) - "http" or "https" for talking to Consul. - - * `datacenter` (optional) - The datacenter within Consul to write to. - This defaults to the local datacenter. - - * `token` (optional) - An access token to use to write data to Consul. - - * `tls_skip_verify` (optional) - If non-empty, then TLS host verification - will be disabled for Consul communication. - Defaults to false. - - The following settings should be set according to your [Consul encryption settings](https://www.consul.io/docs/agent/encryption.html): - - * `tls_ca_file` (optional) - The path to the CA certificate used for Consul communication. - Defaults to system bundle if not specified. - Set accordingly to the [ca_file](https://www.consul.io/docs/agent/options.html#ca_file) setting in Consul. - - * `tls_cert_file` (optional) - The path to the certificate for Consul communication. - Set accordingly to the [cert_file](https://www.consul.io/docs/agent/options.html#cert_file) setting in Consul. - - * `tls_key_file` (optional) - The path to the private key for Consul communication. - Set accordingly to the [key_file](https://www.consul.io/docs/agent/options.html#key_file) setting in Consul. - -#### Backend Reference: Zookeeper - -For Zookeeper, the following options are supported: - - * `path` (optional) - The path within Zookeeper where data will be stored. - Defaults to "vault/". - - * `address` (optional) - The address(es) of the Zookeeper instance(s) to talk to. - Can be comma separated list (host:port) of many Zookeeper instances. - Defaults to "localhost:2181" if not specified. - -#### Backend Reference: etcd - -For etcd, the following options are supported: - - * `path` (optional) - The path within etcd where data will be stored. - Defaults to "vault/". - - * `address` (optional) - The address(es) of the etcd instance(s) to talk to. - Can be comma separated list (protocol://host:port) of many etcd instances. - Defaults to "http://localhost:4001" if not specified. - -#### Backend Reference: S3 - -For S3, the following options are supported: - - * `bucket` (required) - The name of the S3 bucket to use. - - * `access_key` - (required) The AWS access key. It must be provided, but it can also be sourced from the AWS_ACCESS_KEY_ID environment variable. - - * `secret_key` - (required) The AWS secret key. It must be provided, but it can also be sourced from the AWS_SECRET_ACCESS_KEY environment variable. - - * `session_token` - (optional) The AWS session_token. It can also be sourced from the AWS_SESSION_TOKEN environment variable. - - * `region` (optional) - The AWS region. It can be sourced from the AWS_DEFAULT_REGION environment variable and will default to "us-east-1" if not specified. - -#### Backend Reference: MySQL - -The MySQL backend has the following options: - - * `username` (required) - The MySQL username to connect with. - - * `password` (required) - The MySQL password to connect with. - - * `address` (optional) - The address of the MySQL host. Defaults to - "127.0.0.1:3306. - - * `database` (optional) - The name of the database to use. Defaults to "vault". - - * `table` (optional) - The name of the table to use. Defaults to "vault". - - * `tls_ca_file` (optional) - The path to the CA certificate to connect using TLS - -#### Backend Reference: Inmem - -The in-memory backend has no configuration options. - -#### Backend Reference: File - -The file backend has the following options: - - * `path` (required) - The path on disk to a directory where the - data will be stored. - -## Listener Reference - -For the `listener` section, the only supported listener currently -is "tcp". Regardless of future plans, this is the recommended listener, -since it allows for HA mode. - -The supported options are: - - * `address` (optional) - The address to bind to for listening. This - defaults to "127.0.0.1:8200". - - * `tls_disable` (optional) - If non-empty, then TLS will be disabled. - This is an opt-in; Nomad assumes by default that TLS will be used. - - * `tls_cert_file` (required unless disabled) - The path to the certificate - for TLS. - - * `tls_key_file` (required unless disabled) - The path to the private key - for the certificate. - - * `tls_min_version` (optional) - **(Nomad > 0.2)** If provided, specifies - the minimum supported version of TLS. Accepted values are "tls10", "tls11" - or "tls12". This defaults to "tls12". WARNING: TLS 1.1 and lower - are generally considered less secure; avoid using these if - possible. - -## Telemetry Reference - -For the `telemetry` section, there is no resource name. All configuration -is within the object itself. - -* `statsite_address` (optional) - An address to a [Statsite](https://github.com/armon/statsite) - instances for metrics. This is highly recommended for production usage. - -* `statsd_address` (optional) - This is the same as `statsite_address` but - for StatsD. - -* `disable_hostname` (optional) - Whether or not to prepend runtime telemetry - with the machines hostname. This is a global option. Defaults to false. diff --git a/website/source/docs/drivers/custom.html.md b/website/source/docs/drivers/custom.html.md index d82a35823..53f30939e 100644 --- a/website/source/docs/drivers/custom.html.md +++ b/website/source/docs/drivers/custom.html.md @@ -8,10 +8,10 @@ description: |- # Custom Drivers -Nomad doesn't currently support the creation of custom secret backends. +Nomad does not currently support the creation of custom secret backends. The primary reason is because we want to ensure the core of Nomad is secure before attempting any sort of plug-in system. We're interested -in supporting custom secret backends, but don't yet have a clear strategy +in supporting custom secret backends, but do not yet have a clear strategy or timeline to do. In the mean time, you can use the diff --git a/website/source/docs/drivers/index.html.md b/website/source/docs/drivers/index.html.md index 082d76920..4175c7e8e 100644 --- a/website/source/docs/drivers/index.html.md +++ b/website/source/docs/drivers/index.html.md @@ -28,11 +28,11 @@ a write, etc. This is a lot like a normal filesystem. The "aws" backend, on the other hand, behaves differently. When you write to `aws/config/root`, it expects a certain format and stores that -information as configuration. You can't read from this path. When you +information as configuration. You cannot read from this path. When you read from `aws/`, it looks up an IAM policy named `` and -generates AWS access credentials on demand and returns them. It doesn't -behave at all like a typical filesystem: you're not simply storing and -retrieving values, you're interacting with an API. +generates AWS access credentials on demand and returns them. It does not +behave at all like a typical filesystem: you are not simply storing and +retrieving values, you are interacting with an API. ## Mounting/Unmounting Secret Backends @@ -53,7 +53,7 @@ with regards to mounting: * **Remount** - This moves the mount point for an existing secret backend. This revokes all secrets, since secret leases are tied to the path they - were created at. The data stored for the backend won't be deleted. + were created at. The data stored for the backend will not be deleted. Once a secret backend is mounted, you can interact with it directly at its mount point according to its own API. You can use the `vault path-help` @@ -68,8 +68,8 @@ like a [chroot](http://en.wikipedia.org/wiki/Chroot). Whenever a secret backend is mounted, a random UUID is generated. This becomes the data root for that backend. Whenever that backend writes to the physical storage layer, it is prefixed with that UUID folder. Since -the Nomad storage layer doesn't support relative access (such as `..`), +the Nomad storage layer does not support relative access (such as `..`), this makes it impossible for a mounted backend to access any other data. This is an important security feature in Nomad: even a malicious backend -can't access the data from any other backend. +cannot access the data from any other backend. diff --git a/website/source/docs/http/index.html.md b/website/source/docs/http/index.html.md index 6eaa6d27f..16145bce1 100644 --- a/website/source/docs/http/index.html.md +++ b/website/source/docs/http/index.html.md @@ -12,137 +12,4 @@ The Nomad HTTP API gives you full access to Nomad via HTTP. Every aspect of Nomad can be controlled via this API. The Nomad CLI uses the HTTP API to access Nomad. -## Version Prefix - -All API routes are prefixed with `/v1/`. - -This documentation is only for the v1 API. - -~> **Backwards compatibility:** At the current version, Nomad does -not yet promise backwards compatibility even with the v1 prefix. We'll -remove this warning when this policy changes. We expect we'll reach API -stability by Nomad 0.3. - -## Transport - -The API is expected to be accessed over a TLS connection at -all times, with a valid certificate that is verified by a well -behaved client. It is possible to disable TLS verification for -listeners, however, so API clients should expect to have to do both -depending on user settings. - -## Authentication - -Once the Nomad is unsealed, every other operation requires -a _client token_. A user may have a client token explicitly. -The client token must be sent as the `token` cookie or the -`X-Nomad-Token` HTTP header. - -Otherwise, a client token can be retrieved via -[authentication backends](/docs/auth/index.html). - -Each authentication backend will have one or more unauthenticated -login endpoints. These endpoints can be reached without any authentication, -and are used for authentication itself. These endpoints are specific -to each authentication backend. - -Login endpoints for authentication backends that generate an identity -will be sent down with a `Set-Cookie` header as well as via JSON. If you have a -well-behaved HTTP client, then authentication information will -automatically be saved and sent to the Nomad API. - -## Reading and Writing Secrets - -Reading a secret via the HTTP API is done by issuing a GET using the -following URL: - -```text -/v1/secret/foo -``` - -This maps to `secret/foo` where `foo` is the key in the `secret/` backend/ - -Here is an example of reading a secret using cURL: - -```shell -curl \ - -H "X-Nomad-Token: f3b09679-3001-009d-2b80-9c306ab81aa6" \ - -X GET \ - http://127.0.0.1:8200/v1/secret/foo -``` - -To write a secret, issue a POST on the following URL: - -```text -/v1/secret/foo -``` - -with a JSON body like: - -```javascript -{ - "value": "bar" -} -``` - -Here is an example of writing a secret using cURL: - -```shell -curl \ - -H "X-Nomad-Token: f3b09679-3001-009d-2b80-9c306ab81aa6" \ - -H "Content-Type: application/json" \ - -X POST \ - -d '{"value":"bar"}' \ - http://127.0.0.1:8200/v1/secret/baz -``` - -For more examples, please look at the Nomad API client. - -## Help - -To retrieve the help for any API within Nomad, including mounted -backends, credential providers, etc. then append `?help=1` to any -URL. If you have valid permission to access the path, then the help text -will be returned with the following structure: - -```javascript -{ - "help": "help text" -} -``` - -## Error Response - -A common JSON structure is always returned to return errors: - -```javascript -{ - "errors": [ - "message", - "another message" - ] -} -``` - -This structure will be sent down for any HTTP status greater than -or equal to 400. - -## HTTP Status Codes - -The following HTTP status codes are used throughout the API. - -- `200` - Success with data. -- `204` - Success, no data returned. -- `400` - Invalid request, missing or invalid data. See the - "validation" section for more details on the error response. -- `401` - Unauthorized, your authentication details are either - incorrect or you don't have access to this feature. -- `404` - Invalid path. This can both mean that the path truly - doesn't exist or that you don't have permission to view a - specific path. We use 404 in some cases to avoid state leakage. -- `429` - Rate limit exceeded. Try again after waiting some period - of time. -- `500` - Internal server error. An internal error has occurred, - try again later. If the error persists, report a bug. -- `503` - Nomad is down for maintenance or is currently sealed. - Try again later. +TODO: Document Nomand API diff --git a/website/source/docs/http/libraries.html.md b/website/source/docs/http/libraries.html.md deleted file mode 100644 index 46ad58e65..000000000 --- a/website/source/docs/http/libraries.html.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: Libraries" -sidebar_current: "docs-http-libraries" -description: |- - List of official and community contributed libraries for interacting with the Nomad HTTP API. ---- - -# Libraries - -The programming libraries listed on this page can be used to consume the API more conveniently. -Some are officially maintained while others are provided by the community. - -## Go - -* [Nomad Go Client](https://github.com/hashicorp/vault/tree/master/api) (official) - -## Ruby - -* [Nomad Ruby Client](https://github.com/hashicorp/vault-ruby) (official) - -## Python - -* [HVAC](https://github.com/ianunruh/hvac) - -## Node.js - -* [node-vault](https://github.com/kr1sp1n/node-vault) -* [vaulted](https://github.com/chiefy/vaulted) diff --git a/website/source/docs/http/sys-audit.html.md b/website/source/docs/http/sys-audit.html.md deleted file mode 100644 index 7040e2004..000000000 --- a/website/source/docs/http/sys-audit.html.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/audit" -sidebar_current: "docs-http-audits-audits" -description: |- - The `/sys/audit` endpoint is used to enable and disable audit backends. ---- - -# /sys/audit - -## GET - -
-
Description
-
- Lists all the available policies. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "file": { - "type: "file", - "description: "Store logs in a file", - "options": { - "path": "/var/log/file" - } - } - } - ``` - -
-
- -## PUT - -
-
Description
-
- Enable an audit backend. -
- -
Method
-
PUT
- -
URL
-
`/sys/audit/`
- -
Parameters
-
-
    -
  • - type - required - The type of the audit backend. -
  • -
  • - description - optional - A description of the audit backend for operators. -
  • -
  • - options - optional - An object of options to configure the backend. This is - dependent on the backend type. Please consult the documentation - for the backend type you intend to use. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Disable the given audit backend. -
- -
Method
-
DELETE
- -
URL
-
`/sys/audit/`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-auth.html.md b/website/source/docs/http/sys-auth.html.md deleted file mode 100644 index 99e22eca5..000000000 --- a/website/source/docs/http/sys-auth.html.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/auth" -sidebar_current: "docs-http-auth-auth" -description: |- - The `/sys/auth` endpoint is used to manage auth backends in Nomad. ---- - -# /sys/auth - -## GET - -
-
Description
-
- Lists all the enabled auth backends. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "github": { - "type": "github", - "description": "GitHub auth" - } - } - ``` - -
-
- -## POST - -
-
Description
-
- Enable a new auth backend. The auth backend can be accessed - and configured via the mount point specified in the URL. This - mount point will be exposed under the `auth` prefix. For example, - enabling with the `/sys/auth/foo` URL will make the backend - available at `/auth/foo`. -
- -
Method
-
POST
- -
URL
-
`/sys/auth/`
- -
Parameters
-
-
    -
  • - type - required - The name of the auth backend type, such as "github" -
  • -
  • - description - optional - A human-friendly description of the auth backend. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Disable the auth backend at the given mount point. -
- -
Method
-
DELETE
- -
URL
-
`/sys/auth/`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-health.html.md b/website/source/docs/http/sys-health.html.md deleted file mode 100644 index 05d24164b..000000000 --- a/website/source/docs/http/sys-health.html.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/health" -sidebar_current: "docs-http-debug-health" -description: |- - The '/sys/health' endpoint is used to check the health status of Nomad. ---- - -# /sys/health - -
-
Description
-
- Returns the health status of Nomad. This matches the semantics of a Consul HTTP health - check and provides a simple way to monitor the health of a Nomad instance. -
- -
Method
-
GET
- -
Parameters
-
-
    -
  • - standbyok - optional - A query parameter provided to indicate that being a standby should - still return a 200 status code instead of the standard 429 status code. -
  • -
-
- -
Returns
-
- -``` -{ - "initialized": true, - "sealed": false, - "standby": false -} -``` - - Status Codes: - - * `200` if initialized, unsealed and active. - * `429` if unsealed and standby. - * `500` if not initialized or sealed. -
-
diff --git a/website/source/docs/http/sys-init.html.md b/website/source/docs/http/sys-init.html.md deleted file mode 100644 index f1d79be73..000000000 --- a/website/source/docs/http/sys-init.html.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/init" -sidebar_current: "docs-http-sys-init" -description: |- - The '/sys/init' endpoint is used to initialize a new Nomad. ---- - -# /sys/init - -## GET - -
-
Description
-
- Return the initialization status of a Nomad. -
- -
Method
-
GET
- -
Parameters
-
None
- -
Returns
-
- - ```javascript - { - "initialize": true - } - ``` - -
-
- -## PUT - -
-
Description
-
- Initializes a new Nomad. The Nomad must've not been previously - initialized. -
- -
Method
-
PUT
- -
Parameters
-
-
    -
  • - secret_shares - required - The number of shares to split the master key into. -
  • -
  • - secret_threshold - required - The number of shares required to reconstruct the master key. - This must be less than or equal to secret_shares. -
  • -
-
- -
Returns
-
- A JSON-encoded object including the master keys and initial root token: - - ```javascript - { - "keys": ["one", "two", "three"], - "root_token": "foo" - } - ``` - -
-
diff --git a/website/source/docs/http/sys-key-status.html.md b/website/source/docs/http/sys-key-status.html.md deleted file mode 100644 index 07cc58076..000000000 --- a/website/source/docs/http/sys-key-status.html.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/key-status" -sidebar_current: "docs-http-rotate-key-status" -description: |- - The '/sys/key-status' endpoint is used to query info about the current encryption key of Nomad. ---- - -# /sys/key-status - -
-
Description
-
- Returns information about the current encryption key used by Nomad. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- The "term" parameter is the sequential key number, and "install_time" is the time that - encryption key was installed. - - ```javascript - { - "term": 3, - "install_time": "2015-05-29T14:50:46.223692553-07:00" - } - ``` - -
-
diff --git a/website/source/docs/http/sys-leader.html.md b/website/source/docs/http/sys-leader.html.md deleted file mode 100644 index c1c12970f..000000000 --- a/website/source/docs/http/sys-leader.html.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/leader" -sidebar_current: "docs-http-ha-leader" -description: |- - The '/sys/leader' endpoint is used to check the high availability status and current leader of Nomad. ---- - -# /sys/leader - -
-
Description
-
- Returns the high availability status and current leader instance of Nomad. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "ha_enabled": true, - "is_self": false, - "leader_address": "https://127.0.0.1:8200/" - } - ``` - -
-
diff --git a/website/source/docs/http/sys-mounts.html.md b/website/source/docs/http/sys-mounts.html.md deleted file mode 100644 index e49076c85..000000000 --- a/website/source/docs/http/sys-mounts.html.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/mounts" -sidebar_current: "docs-http-mounts-mounts" -description: |- - The '/sys/mounts' endpoint is used manage secret backends in Nomad. ---- - -# /sys/mounts - -## GET - -
-
Description
-
- Lists all the mounted secret backends. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "aws": { - "type": "aws", - "description": "AWS keys" - }, - - "sys": { - "type": "system", - "description": "system endpoint" - } - } - ``` - -
-
- -## POST - -
-
Description
-
- Mount a new secret backend to the mount point in the URL. -
- -
Method
-
POST
- -
URL
-
`/sys/mounts/`
- -
Parameters
-
-
    -
  • - type - required - The name of the backend type, such as "aws" -
  • -
  • - description - optional - A human-friendly description of the mount. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Unmount the mount point specified in the URL. -
- -
Method
-
DELETE
- -
URL
-
`/sys/mounts/`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-policy.html.md b/website/source/docs/http/sys-policy.html.md deleted file mode 100644 index c252fc3a1..000000000 --- a/website/source/docs/http/sys-policy.html.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/policy" -sidebar_current: "docs-http-auth-policy" -description: |- - The `/sys/policy` endpoint is used to manage ACL policies in Nomad. ---- - -# /sys/policy - -## GET - -
-
Description
-
- Lists all the available policies. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "policies": ["root", "deploy"] - } - ``` - -
-
- -## PUT - -
-
Description
-
- Add or update a policy. Once a policy is updated, it takes effect - immediately to all associated users. -
- -
Method
-
PUT
- -
URL
-
`/sys/policy/`
- -
Parameters
-
-
    -
  • - rules - required - The policy document. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Delete the policy with the given name. This will immediately - affect all associated users. -
- -
Method
-
DELETE
- -
URL
-
`/sys/policy/`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-raw.html.md b/website/source/docs/http/sys-raw.html.md deleted file mode 100644 index 03e5f0030..000000000 --- a/website/source/docs/http/sys-raw.html.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/raw" -sidebar_current: "docs-http-debug-raw" -description: |- - The `/sys/raw` endpoint is access the raw underlying store in Nomad. ---- - -# /sys/raw - -## GET - -
-
Description
-
- Reads the value of the key at the given path. This is the raw path in the - storage backend and not the logical path that is exposed via the mount system. -
- -
Method
-
GET
- -
URL
-
`/sys/raw/`
- -
Parameters
-
- None -
- -
Returns
-
- - ```javascript - { - "value": "{'foo':'bar'}" - } - ``` - -
-
- -## PUT - -
-
Description
-
- Update the value of the key at the given path. This is the raw path in the - storage backend and not the logical path that is exposed via the mount system. -
- -
Method
-
PUT
- -
URL
-
`/sys/raw/`
- -
Parameters
-
-
    -
  • - value - required - The value of the key. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Delete the key with given path. This is the raw path in the - storage backend and not the logical path that is exposed via the mount system. -
- -
Method
-
DELETE
- -
URL
-
`/sys/raw/`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-rekey.html.md b/website/source/docs/http/sys-rekey.html.md deleted file mode 100644 index cfbf2d2d5..000000000 --- a/website/source/docs/http/sys-rekey.html.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/rekey/" -sidebar_current: "docs-http-rotate-rekey" -description: |- - The `/sys/rekey/` endpoints are used to rekey the unseal keys for Nomad. ---- - -# /sys/rekey/init - -## GET - -
-
Description
-
- Reads the configuration and progress of the current rekey attempt. -
- -
Method
-
GET
- -
URL
-
`/sys/rekey/init`
- -
Parameters
-
- None -
- -
Returns
-
- If a rekey is started, then "n" is the new shares to generate and "t" is - the threshold required for the new shares. The "progress" is how many unseal - keys have been provided for this rekey, where "required" must be reached to - complete. - - ```javascript - { - "started": true, - "t": 3, - "n": 5, - "progress": 1, - "required": 3 - } - ``` - -
-
- -## PUT - -
-
Description
-
- Initializes a new rekey attempt. Only a single rekey attempt can take place - at a time, and changing the parameters of a rekey requires canceling and starting - a new rekey. -
- -
Method
-
PUT
- -
URL
-
`/sys/rekey/init`
- -
Parameters
-
-
    -
  • - secret_shares - required - The number of shares to split the master key into. -
  • -
  • - secret_threshold - required - The number of shares required to reconstruct the master key. - This must be less than or equal to secret_shares. -
  • -
-
- -
Returns
-
`204` response code. -
-
- -## DELETE - -
-
Description
-
- Cancels any in-progress rekey. This clears the rekey settings as well as any - progress made. This must be called to change the parameters of the rekey. -
- -
Method
-
DELETE
- -
URL
-
`/sys/rekey/init`
- -
Parameters
-
None -
- -
Returns
-
`204` response code. -
-
- -# /sys/rekey/update - -## PUT - -
-
Description
-
- Enter a single master key share to progress the rekey of the Nomad. - If the threshold number of master key shares is reached, Nomad - will complete the rekey. Otherwise, this API must be called multiple - times until that threshold is met. -
- -
Method
-
PUT
- -
URL
-
`/sys/rekey/update`
- -
Parameters
-
-
    -
  • - key - required - A single master share key. -
  • -
-
- -
Returns
-
- A JSON-encoded object indicating completion and if so with the new master keys: - - ```javascript - { - "complete": true, - "keys": ["one", "two", "three"] - } - ``` - -
-
- diff --git a/website/source/docs/http/sys-remount.html.md b/website/source/docs/http/sys-remount.html.md deleted file mode 100644 index 231e77092..000000000 --- a/website/source/docs/http/sys-remount.html.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/remount" -sidebar_current: "docs-http-mounts-remount" -description: |- - The '/sys/remount' endpoint is used remount a mounted backend to a new endpoint. ---- - -# /sys/remount - -
-
Description
-
- Remount an already-mounted backend to a new mount point. -
- -
Method
-
POST
- -
Parameters
-
-
    -
  • - from - required - The previous mount point. -
  • -
  • - to - required - The new mount point. -
  • -
-
- -
Returns
-
`204` response code. -
-
diff --git a/website/source/docs/http/sys-renew.html.md b/website/source/docs/http/sys-renew.html.md deleted file mode 100644 index 2d806e00f..000000000 --- a/website/source/docs/http/sys-renew.html.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/renew" -sidebar_current: "docs-http-lease-renew" -description: |- - The `/sys/renew` endpoint is used to renew secrets. ---- - -# /sys/renew - -
-
Description
-
- Renew a secret, requesting to extend the lease. -
- -
Method
-
PUT
- -
URL
-
`/sys/renew/`
- -
Parameters
-
-
    -
  • - increment - optional - A requested amount of time in seconds to extend the lease. - This is advisory. -
  • -
-
- -
Returns
-
A secret structure. -
-
diff --git a/website/source/docs/http/sys-revoke-prefix.html.md b/website/source/docs/http/sys-revoke-prefix.html.md deleted file mode 100644 index d400de552..000000000 --- a/website/source/docs/http/sys-revoke-prefix.html.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/revoke-prefix" -sidebar_current: "docs-http-lease-revoke-prefix" -description: |- - The `/sys/revoke-prefix` endpoint is used to revoke secrets based on prefix. ---- - -# /sys/revoke-prefix - -
-
Description
-
- Revoke all secrets generated under a given prefix immediately. -
- -
Method
-
PUT
- -
URL
-
`/sys/revoke-prefix/`
- -
Parameters
-
None
- -
Returns
-
A `204` response code. -
-
diff --git a/website/source/docs/http/sys-revoke.html.md b/website/source/docs/http/sys-revoke.html.md deleted file mode 100644 index 04672c75d..000000000 --- a/website/source/docs/http/sys-revoke.html.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/revoke" -sidebar_current: "docs-http-lease-revoke-single" -description: |- - The `/sys/revoke` endpoint is used to revoke secrets. ---- - -# /sys/revoke - -
-
Description
-
- Revoke a secret immediately. -
- -
Method
-
PUT
- -
URL
-
`/sys/revoke/`
- -
Parameters
-
None
- -
Returns
-
A `204` response code. -
-
diff --git a/website/source/docs/http/sys-rotate.html.md b/website/source/docs/http/sys-rotate.html.md deleted file mode 100644 index 7b5b07044..000000000 --- a/website/source/docs/http/sys-rotate.html.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/rotate" -sidebar_current: "docs-http-rotate-rotate" -description: |- - The `/sys/rotate` endpoint is used to rotate the encryption key. ---- - -# /sys/rotate - -## PUT - -
-
Description
-
- Trigger a rotation of the backend encryption key. This is the key that is used - to encrypt data written to the storage backend, and is not provided to operators. - This operation is done online. Future values are encrypted with the new key, while - old values are decrypted with previous encryption keys. -
- -
Method
-
PUT
- -
URL
-
`/sys/rotate`
- -
Parameters
-
- None -
- -
Returns
-
`204` response code. -
-
- diff --git a/website/source/docs/http/sys-seal-status.html.md b/website/source/docs/http/sys-seal-status.html.md deleted file mode 100644 index 5e40ed932..000000000 --- a/website/source/docs/http/sys-seal-status.html.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/seal-status" -sidebar_current: "docs-http-seal-status" -description: |- - The '/sys/seal-status' endpoint is used to check the seal status of a Nomad. ---- - -# /sys/seal-status - -
-
Description
-
- Returns the seal status of the Nomad. -
- -
Method
-
GET
- -
Parameters
-
- None -
- -
Returns
-
- The "t" parameter is the threshold, and "n" is the number of shares. - - ```javascript - { - "sealed": true, - "t": 3, - "n": 5, - "progress": 2 - } - ``` - -
-
diff --git a/website/source/docs/http/sys-seal.html.md b/website/source/docs/http/sys-seal.html.md deleted file mode 100644 index ccedcf099..000000000 --- a/website/source/docs/http/sys-seal.html.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/seal" -sidebar_current: "docs-http-seal-seal" -description: |- - The '/sys/seal' endpoint seals the Nomad. ---- - -# /sys/seal - -
-
Description
-
- Seals the Nomad. -
- -
Method
-
PUT
- -
Parameters
-
- None -
- -
Returns
-
A `204` response code. -
-
diff --git a/website/source/docs/http/sys-unseal.html.md b/website/source/docs/http/sys-unseal.html.md deleted file mode 100644 index abe793ef7..000000000 --- a/website/source/docs/http/sys-unseal.html.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: "http" -page_title: "HTTP API: /sys/seal-unseal" -sidebar_current: "docs-http-seal-unseal" -description: |- - The '/sys/seal-unseal' endpoint is used to unseal the Nomad. ---- - -# /sys/unseal - -
-
Description
-
- Enter a single master key share to progress the unsealing of the Nomad. - If the threshold number of master key shares is reached, Nomad - will attempt to unseal the Nomad. Otherwise, this API must be - called multiple times until that threshold is met. -
- -
Method
-
PUT
- -
Parameters
-
-
    -
  • - key - required - A single master share key. -
  • -
-
-
Returns
-
The same result as `/sys/seal-status`. -
-
diff --git a/website/source/docs/index.html.markdown b/website/source/docs/index.html.markdown index 857f5c05c..149dc28e2 100644 --- a/website/source/docs/index.html.markdown +++ b/website/source/docs/index.html.markdown @@ -3,12 +3,13 @@ layout: "docs" page_title: "Documentation" sidebar_current: "docs-home" description: |- - Welcome to the Nomad documentation! This documentation is more of a reference guide for all available features and options of Nomad. If you're just getting started with Nomad, please start with the introduction and getting started guide instead. + Welcome to the Nomad documentation! This documentation is more of a reference + guide for all available features and options of Nomad. --- # Nomad Documentation -Welcome to the Nomad documentation! This documentation is more of a reference -guide for all available features and options of Nomad. If you're just getting +Welcome to the Nomad documentation! This documentation is a reference guide for +all available features and options of Nomad. If you are just getting started with Nomad, please start with the [introduction and getting started guide](/intro/index.html) instead. diff --git a/website/source/docs/install/index.html.md b/website/source/docs/install/index.html.md index e8d73a20e..b684806b4 100644 --- a/website/source/docs/install/index.html.md +++ b/website/source/docs/install/index.html.md @@ -18,7 +18,7 @@ TLS along with SHA256 sums to verify the binary. To install the precompiled binary, [download](/downloads.html) the appropriate package for your system. -Nomad is currently packaged as a zip file. We don't have any near term +Nomad is currently packaged as a zip file. We do not have any near term plans to provide system packages. Once the zip is downloaded, unzip it into any directory. The @@ -31,13 +31,13 @@ from the command-line, make sure to place it somewhere on your `PATH`. ## Compiling from Source -To compile from source, you'll need [Go](https://golang.org) installed -and configured properly. You'll also need Git. +To compile from source, you will need [Go](https://golang.org) installed +and configured properly. you will also need Git. 1. Clone the Nomad repository into your GOPATH: https://github.com/hashicorp/nomad 1. Verify that the file `$GOPATH/src/github.com/hashicorp/nomad/main.go` - exists. If it doesn't, then you didn't clone Nomad into the proper + exists. If it does not, then you did not clone Nomad into the proper path. 1. Run `make`. This will build Nomad for your current system diff --git a/website/source/docs/internals/architecture.html.md b/website/source/docs/internals/architecture.html.md index 0dd5ef76d..ffefe87c1 100644 --- a/website/source/docs/internals/architecture.html.md +++ b/website/source/docs/internals/architecture.html.md @@ -12,7 +12,7 @@ Nomad is a complex system that has many different pieces. To help both users and build a mental model of how it works, this page documents the system architecture. ~> **Advanced Topic!** This page covers technical details -of Nomad. You don't need to understand these details to +of Nomad. You do not need to understand these details to effectively use Nomad. The details are documented here for those who wish to learn about them without having to go spelunking through the source code. @@ -74,7 +74,7 @@ clarify what is being discussed: Looking at only a single region, at a high level Nomad looks like: -![Regional Architecture](/assets/images/region-arch.png) +[![Regional Architecture](/assets/images/nomad-architecture-region.png)](/assets/images/nomad-architecture-region.png) Within each region, we have both clients and servers. Servers are responsible for accepting jobs from users, managing clients, and [computing task placements](/docs/internals/scheduling.html). @@ -85,7 +85,7 @@ In some cases, for either availability or scalability, you may need to run multi regions. Nomad supports federating multiple regions together into a single cluster. At a high level, this looks like: -![Global Architecture](/assets/images/global-arch.png) +[![Global Architecture](/assets/images/nomad-architecture-global.png)](/assets/images/nomad-architecture-global.png) Regions are fully independent from each other, and do not share jobs, clients or state. They are loosely-coupled using a gossip protocol, which allows users to diff --git a/website/source/docs/internals/consensus.html.md b/website/source/docs/internals/consensus.html.md index aba700507..16b86565c 100644 --- a/website/source/docs/internals/consensus.html.md +++ b/website/source/docs/internals/consensus.html.md @@ -3,54 +3,57 @@ layout: "docs" page_title: "Consensus Protocol" sidebar_current: "docs-internals-consensus" description: |- - Nomad uses a consensus protocol to provide Consistency as defined by CAP. The consensus protocol is based on Raft: In search of an Understandable Consensus Algorithm. For a visual explanation of Raft, see The Secret Lives of Data. + Nomad uses a consensus protocol to provide Consistency as defined by CAP. + The consensus protocol is based on Raft: In search of an Understandable + Consensus Algorithm. For a visual explanation of Raft, see The Secret Lives of + Data. --- # Consensus Protocol -Nomad uses a [consensus protocol](http://en.wikipedia.org/wiki/Consensus_(computer_science)) -to provide [Consistency (as defined by CAP)](http://en.wikipedia.org/wiki/CAP_theorem). +Nomad uses a [consensus protocol](https://en.wikipedia.org/wiki/Consensus_(computer_science)) +to provide [Consistency (as defined by CAP)](https://en.wikipedia.org/wiki/CAP_theorem). The consensus protocol is based on ["Raft: In search of an Understandable Consensus Algorithm"](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf). For a visual explanation of Raft, see [The Secret Lives of Data](http://thesecretlivesofdata.com/raft). ~> **Advanced Topic!** This page covers technical details of -the internals of Nomad. You don't need to know these details to effectively +the internals of Nomad. You do not need to know these details to effectively operate and use Nomad. These details are documented here for those who wish to learn about them without having to go spelunking through the source code. ## Raft Protocol Overview Raft is a consensus algorithm that is based on -[Paxos](http://en.wikipedia.org/wiki/Paxos_%28computer_science%29). Compared +[Paxos](https://en.wikipedia.org/wiki/Paxos_%28computer_science%29). Compared to Paxos, Raft is designed to have fewer states and a simpler, more understandable algorithm. There are a few key terms to know when discussing Raft: -* Log - The primary unit of work in a Raft system is a log entry. The problem +* **Log** - The primary unit of work in a Raft system is a log entry. The problem of consistency can be decomposed into a *replicated log*. A log is an ordered sequence of entries. We consider the log consistent if all members agree on the entries and their order. -* FSM - [Finite State Machine](http://en.wikipedia.org/wiki/Finite-state_machine). +* **FSM** - [Finite State Machine](https://en.wikipedia.org/wiki/Finite-state_machine). An FSM is a collection of finite states with transitions between them. As new logs are applied, the FSM is allowed to transition between states. Application of the same sequence of logs must result in the same state, meaning behavior must be deterministic. -* Peer set - The peer set is the set of all members participating in log replication. +* **Peer set** - The peer set is the set of all members participating in log replication. For Nomad's purposes, all server nodes are in the peer set of the local region. -* Quorum - A quorum is a majority of members from a peer set: for a set of size `n`, +* **Quorum** - A quorum is a majority of members from a peer set: for a set of size `n`, quorum requires at least `(n/2)+1` members. For example, if there are 5 members in the peer set, we would need 3 nodes to form a quorum. If a quorum of nodes is unavailable for any reason, the cluster becomes *unavailable* and no new logs can be committed. -* Committed Entry - An entry is considered *committed* when it is durably stored +* **Committed Entry** - An entry is considered *committed* when it is durably stored on a quorum of nodes. Once an entry is committed it can be applied. -* Leader - At any given time, the peer set elects a single node to be the leader. +* **Leader** - At any given time, the peer set elects a single node to be the leader. The leader is responsible for ingesting new log entries, replicating to followers, and managing when an entry is considered committed. diff --git a/website/source/docs/internals/gossip.html.md b/website/source/docs/internals/gossip.html.md index 240809939..8f9efe486 100644 --- a/website/source/docs/internals/gossip.html.md +++ b/website/source/docs/internals/gossip.html.md @@ -3,19 +3,20 @@ layout: "docs" page_title: "Gossip Protocol" sidebar_current: "docs-internals-gossip" description: |- - Nomad uses a gossip protocol to manage membership. All of this is provided through the use of the Serf library. + Nomad uses a gossip protocol to manage membership. All of this is provided + through the use of the Serf library. --- # Gossip Protocol -Nomad uses a [gossip protocol](http://en.wikipedia.org/wiki/Gossip_protocol) +Nomad uses a [gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol) to manage membership. This is provided through the use of the [Serf library](https://www.serfdom.io/). The gossip protocol used by Serf is based on -["SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol"](http://www.cs.cornell.edu/~asdas/research/dsn02-swim.pdf), +["SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol"](https://www.cs.cornell.edu/~asdas/research/dsn02-swim.pdf), with a few minor adaptations. There are more details about [Serf's protocol here](https://www.serfdom.io/docs/internals/gossip.html). ~> **Advanced Topic!** This page covers technical details of -the internals of Nomad. You don't need to know these details to effectively +the internals of Nomad. You do not need to know these details to effectively operate and use Nomad. These details are documented here for those who wish to learn about them without having to go spelunking through the source code. diff --git a/website/source/docs/internals/index.html.md b/website/source/docs/internals/index.html.md index 8db3cc7aa..bbaf136c3 100644 --- a/website/source/docs/internals/index.html.md +++ b/website/source/docs/internals/index.html.md @@ -13,5 +13,5 @@ details of how Nomad functions, its architecture and sub-systems. -> **Note:** Knowledge of Nomad internals is not required to use Nomad. If you aren't interested in the internals -of Nomad, you may safely skip this section. If you're operating Nomad, +of Nomad, you may safely skip this section. If you are operating Nomad, we recommend understanding the internals. diff --git a/website/source/docs/internals/scheduling.html.md b/website/source/docs/internals/scheduling.html.md index ca930d85e..c9f222471 100644 --- a/website/source/docs/internals/scheduling.html.md +++ b/website/source/docs/internals/scheduling.html.md @@ -13,18 +13,18 @@ from jobs to client machines. This process must respect the constraints as decla in the job, and optimize for resource utilization. This page documents the details of how scheduling works in Nomad to help both users and developers build a mental model. The design is heavily inspired by Google's -work on both [Omega: flexible, scalable schedulers for large compute clusters](http://research.google.com/pubs/pub41684.html) -and [Large-scale cluster management at Google with Borg](http://research.google.com/pubs/pub43438.html). +work on both [Omega: flexible, scalable schedulers for large compute clusters](https://research.google.com/pubs/pub41684.html) +and [Large-scale cluster management at Google with Borg](https://research.google.com/pubs/pub43438.html). ~> **Advanced Topic!** This page covers technical details -of Nomad. You don't need to understand these details to +of Nomad. You do not need to understand these details to effectively use Nomad. The details are documented here for those who wish to learn about them without having to go spelunking through the source code. # Scheduling in Nomad -![Data Model](/assets/images/nomad-nouns.png) +[![Nomad Data Model](/assets/images/nomad-data-model.png)](/assets/images/nomad-data-model.png) There are four primary "nouns" in Nomad, these are jobs, nodes, allocations, and evaluations. Jobs are submitted by users and represent a _desired state_. A job is a declarative description @@ -43,7 +43,7 @@ it with the desired state. This diagram shows the flow of an evaluation through Nomad: -![Evaluation Flow](/assets/images/eval-flow.png) +[![Nomad Evaluation Flow](/assets/images/nomad-evaluation-flow.png)](/assets/images/nomad-evaluation-flow.png) The lifecycle of an evaluation beings with an event causing the evaluation to be created. Evaluations are created in the `pending` state and are enqueued into the diff --git a/website/source/docs/internals/telemetry.html.md b/website/source/docs/internals/telemetry.html.md index ab6d543f1..8c2ee623b 100644 --- a/website/source/docs/internals/telemetry.html.md +++ b/website/source/docs/internals/telemetry.html.md @@ -19,7 +19,7 @@ it will dump the current telemetry information to the agent's `stderr`. This telemetry information can be used for debugging or otherwise getting a better view of what Nomad is doing. -Telemetry information can be streamed to both [statsite](http://github.com/armon/statsite) +Telemetry information can be streamed to both [statsite](https://github.com/armon/statsite) as well as statsd based on providing the appropriate configuration options. Below is sample output of a telemetry dump: diff --git a/website/source/downloads.html.erb b/website/source/downloads.html.erb index d646e0e44..637a8e87f 100644 --- a/website/source/downloads.html.erb +++ b/website/source/downloads.html.erb @@ -1,7 +1,7 @@ --- layout: "downloads" page_title: "Download Nomad" -sidebar_current: "downloads-vault" +sidebar_current: "downloads-nomad" description: |- Download Nomad --- @@ -15,7 +15,7 @@ description: |- Below are all available downloads for the latest version of Nomad (<%= latest_version %>). Please download the proper package for your operating system and architecture. You can find SHA256 checksums - for packages here. You can verify the SHA256 checksums using our PGP public key and the SHA256SUMs signature file. + for packages here. You can verify the SHA256 checksums using our PGP public key and the SHA256SUMs signature file.

diff --git a/website/source/intro/getting-started/acl.html.md b/website/source/intro/getting-started/acl.html.md deleted file mode 100644 index 9bc18b9a5..000000000 --- a/website/source/intro/getting-started/acl.html.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -layout: "intro" -page_title: "Access Control Policies" -sidebar_current: "gettingstarted-acl" -description: |- - Access control policies in Nomad control what a user can access. ---- - -# Access Control Policies (ACLs) - -Access control policies in Nomad control what a user can access. In -the last section, we learned about _authentication_. This section is -about _authorization_. - -Whereas for authentication Nomad has multiple options or backends that -can be enabled and used, the authorization or policies of Nomad are always -the same format. All authentication backends must map identities back to -the core policies that are configured with Nomad. - -When initializing Nomad, there is always one special policy created -that can't be removed: the "root" policy. This policy is a special policy -that gives superuser access to everything in Nomad. An identity mapped to -the root policy can do anything. - -## Policy Format - -Policies in Nomad are formatted with -[HCL](https://github.com/hashicorp/hcl). HCL is a human-readable configuration -format that is also JSON-compatible, so you can use JSON as well. An example -policy is shown below: - -```javascript -path "secret/*" { - policy = "write" -} - -path "secret/foo" { - policy = "read" -} -``` - -The policy format uses a prefix matching system on the API path -to determine access control. The most specific defined policy is used, -either an exact match or the longest-prefix glob match. Since everything -in Nomad must be accessed via the API, this gives strict control over every -aspect of Nomad, including mounting backends, authenticating, as well as secret access. - -In the policy above, a user could write any secret to `secret/`, except -to `secret/foo`, where only read access is allowed. Policies default to -deny, so any access to an unspecified path is not allowed. The policy -language changed slightly in Nomad 0.2, [see this page for details](/docs/concepts/policies.html). - -Save the above policy as `acl.hcl`. - -## Writing the Policy - -To write a policy, use the `vault policy-write` command: - -``` -$ vault policy-write secret acl.hcl -Policy 'secret' written. -``` - -You can see the policies that are available with `vault policies`, and you -can see the contents of a policy with `vault policies `. Only users with -root access can do this. - -## Testing the Policy - -To use the policy, let's create a token and assign it to that policy. -Make sure to save your root token somewhere so you can authenticate -back to a root user later. - -``` -$ vault token-create -policy="secret" -d97ef000-48cf-45d9-1907-3ea6ce298a29 - -$ vault auth d97ef000-48cf-45d9-1907-3ea6ce298a29 -Successfully authenticated! The policies that are associated -with this token are listed below: - -secret -``` - -You can now verify that you can write data to `secret/`, but only -read from `secret/foo`: - -``` -$ vault write secret/bar value=yes -Success! Data written to: secret/bar - -$ vault write secret/foo value=yes -Error writing data to secret/foo: Error making API request. - -URL: PUT http://127.0.0.1:8200/v1/secret/foo -Code: 400. Errors: - -* permission denied -``` - -You also don't have access to `sys` according to the policy, so commands -such as `vault mounts` will not work either. - -## Mapping Policies to Auth Backends - -Nomad is the single policy authority, unlike auth where you can mount -multiple backends. Any mounted auth backend must map identities to these -core policies. - -Use the `vault path-help` system with your auth backend to determine how the -mapping is done, since it is specific to each backend. For example, -with GitHub, it is done by team using the `map/teams/` path: - -``` -$ vault write auth/github/map/teams/default value=secret -Success! Data written to: auth/github/map/teams/default -``` - -For GitHub, the "default" team is the default policy set that everyone -is assigned to no matter what team they're on. - -Other auth backends use alternate, but likely similar mechanisms for -mapping policies to identity. - -## Next - -Policies are an important part of Nomad. While using the root token -is easiest to get up and running, you'll want to restrict access to -Nomad very quickly, and the policy system is the way to do this. - -The syntax and function of policies is easy to understand and work -with, and because auth backends all must map to the central policy system, -you only have to learn this policy system. - -Next, we'll cover how to [deploy Nomad](/intro/getting-started/deploy.html). diff --git a/website/source/intro/getting-started/apis.html.md b/website/source/intro/getting-started/apis.html.md index f2bac7499..6863125f8 100644 --- a/website/source/intro/getting-started/apis.html.md +++ b/website/source/intro/getting-started/apis.html.md @@ -1,203 +1,16 @@ --- layout: "intro" page_title: "Using the HTTP APIs with Authentication" -sidebar_current: "gettingstarted-apis" +sidebar_current: "getting-started-apis" description: |- Using the HTTP APIs for authentication and secret access. --- # Using the HTTP APIs with Authentication -All of Nomad's capabilities are accessible via the HTTP API in addition to the CLI. In fact, most calls from the CLI actually invoke the HTTP API. In some cases, Nomad features are not available via the CLI and can only be accessed via the HTTP API. +Many of Nomad's capabilities are accessible via the HTTP API in addition to the +CLI. -Once you have started the Nomad server, you can use `curl` or any other http client to make API calls. For example, if you started the Nomad server in [development mode](/docs/concepts/dev-server.html), you could validate the initialization status like this: - -``` -$ curl http://127.0.0.1:8200/v1/sys/init -``` - -This will return a JSON response: - -```javascript -{"initialized":true} -``` - -## Accessing Secrets via the REST APIs -Machines that need access to information stored in Nomad will most likely access Nomad via its REST API. For example, if a machine were using [app-id](/docs/auth/app-id.html) for authentication, the application would first authenticate to Nomad which would return a Nomad API token. The application would use that token for future communication with Nomad. - -For the purpose of this guide, we will use the following configuration which disables TLS and uses a file-based backend. You should never disable TLS in production, but it is okay for the purposes of this tutorial. - -```javascript -backend "file" { - path = "vault" -} - -listener "tcp" { - tls_disable = 1 -} -``` - -Save this file on disk and then start the Nomad server with this command: - -``` -$ vault server -config=/etc/vault.conf -``` - -At this point, we can use Nomad's API for all our interactions. For example, we can initialize Nomad like this: - -``` -$ curl \ - -X PUT \ - -d "{\"secret_shares\":1, \"secret_threshold\":1}" \ - http://localhost:8200/v1/sys/init -``` - -The response should be JSON and look something like this: - -```javascript -{ - "keys": ["69cf1c12a1f65dddd19472330b28cf4e95c657dfbe545877e5765d25d0592b16"], - "root_token": "0e2ede5a-6664-a49e-ca33-8f204d1cdb95" -} -``` - -This response contains our initial root token. It also includes the unseal key. You can use the uneal key to unseal the Nomad and use the root token perform other requests in Nomad that require authentication. - -To make this guide easy to copy-and-paste, we will be using the environment variable `$VAULT_TOKEN` to store the root token. You can export this Nomad token in your current shell like this: - -``` -$ export VAULT_TOKEN=0e2ede5a-6664-a49e-ca33-8f204d1cdb95 -``` - -Using the unseal key (not the root token) from above, you can unseal the Nomad via the HTTP API: - -``` -$ curl \ - -X PUT \ - -d '{"key": "69cf1c12a1f65dddd19472330b28cf4e95c657dfbe545877e5765d25d0592b16"}' \ - http://127.0.0.1:8200/v1/sys/unseal -``` - -Note that you should replace `69cf1c1...` with the generated key from your output. This will return a JSON response: - -```javascript -{ - "sealed": false, - "t": 1, - "n": 1, - "progress": 0 -} -``` - -Now we can enable an authentication backend such as [GitHub authentication](/docs/auth/github.html) or [App ID](/docs/auth/app-id.html). For the purposes of this guide, we will enable App ID authentication. - -We can enable an authentication backend with the following `curl` command: - -``` -$ curl \ - -X POST \ - -H "X-Nomad-Token:$VAULT_TOKEN" \ - -d '{"type":"app-id"}' \ - http://127.0.0.1:8200/v1/sys/auth/app-id -``` - -Notice that the request to the app-id endpoint needed an authentication token. In this case we are passing the root token generated when we started the Nomad server. We could also generate tokens using any other authentication mechanisms, but we will use the root token for simplicity. - -The last thing we need to do before using our App ID endpoint is writing the data to the store to associate an app id with a user id. For more information on this process, see the documentation on the [app-id auth backend](/docs/auth/app-id.html). - -First, we need to associate the application with a particular [ACL policy](/docs/concepts/policies.html) in Nomad. In the following command, we are going to associate the created tokens with the `root` policy. You would not want to do this in a real production scenario because the root policy allows complete read, write, and administrator access to Nomad. For a production application, you should create an ACL policy (which is also possible via the HTTP API), but is not covered in this guide for simplicity. - -``` -$ curl \ - -X POST \ - -H "X-Nomad-Token:$VAULT_TOKEN" \ - -d '{"value":"root", "display_name":"demo"}' \ - http://localhost:8200/v1/auth/app-id/map/app-id/152AEA38-85FB-47A8-9CBD-612D645BFACA -``` - -Note that `152AEA38-85FB-47A8-9CBD-612D645BFACA` is a randomly generated UUID. You can use any tool to generate a UUID, but make sure it is unique. - -Next we need to map the application to a particular "user". In Nomad, this is actually a particular application: - -``` -$ curl \ - -X POST \ - -H "X-Nomad-Token:$VAULT_TOKEN" \ - -d '{"value":"152AEA38-85FB-47A8-9CBD-612D645BFACA"}' \ - http://localhost:8200/v1/auth/app-id/map/user-id/5ADF8218-D7FB-4089-9E38-287465DBF37E -``` - -Now your app can identify itself via the app-id and user-id and get access to Nomad. The first step is to authenticate: - -``` -$ curl \ - -X POST \ - -d '{"app_id":"152AEA38-85FB-47A8-9CBD-612D645BFACA", "user_id": "5ADF8218-D7FB-4089-9E38-287465DBF37E"}' \ - "http://127.0.0.1:8200/v1/auth/app-id/login" -``` - -This will return a response that looks like the following: - -```javascript -{ - "lease_id": "", - "renewable": false, - "lease_duration": 0, - "data": null, - "auth": { - "client_token": "7a25c58b-9bad-5750-b579-edbb9f10a5ef", - "policies": ["root"], - "lease_duration": 0, - "renewable": false, - "metadata": { - "app-id": "sha1:1c0401b419280b0771d006bcdae683989086a00e", - "user-id": "sha1:4dbf74fce71648d54c42e28ad193253600853ca6" - } - } -} -``` - -The returned client token (`7a25c58b-9bad-5750-b579-edbb9f10a5ef`) can now be used to authenticate with Nomad. As you can see from the returned payload, the App ID backend does not currently support lease expiration or renewal. If you authenticate with backend that does support leases, your application will have to track expiration and handle renewal, but that is a topic for another guide. - -We can export this new token as our new `VAULT_TOKEN`: - -``` -$ export VAULT_TOKEN="7a25c58b-9bad-5750-b579-edbb9f10a5ef" -``` - -Be sure to replace this with the value returned from your API response. We can now use this token to authentication requests to Nomad: - -``` -$ curl \ - -X POST \ - -H "X-Nomad-Token:$VAULT_TOKEN" \ - -H 'Content-type: application/json' \ - -d '{"bar":"baz"}' \ - http://127.0.0.1:8200/v1/secret/foo -``` - -This will create a new secret named "foo" with the given JSON contents. We can read this value back with the same token: - -``` -$ curl \ - -H "X-Nomad-Token:$VAULT_TOKEN" \ - http://127.0.0.1:8200/v1/secret/foo -``` - -This should return a response like this: - -```javascript -{ - "lease_id": "secret/foo/cc529d06-36c8-be27-31f5-2390e1f6e2ae", - "renewable": false, - "lease_duration": 2592000, - "data": { - "bar": "baz" - }, - "auth": null -} -``` - -You can see the documentation on the [HTTP APIs](/docs/http/index.html) for more details on other available endpoints. +TODO: Document Nomad's HTTP API Congratulations! You now know all the basics to get started with Nomad. diff --git a/website/source/intro/getting-started/authentication.html.md b/website/source/intro/getting-started/authentication.html.md deleted file mode 100644 index 253152a85..000000000 --- a/website/source/intro/getting-started/authentication.html.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -layout: "intro" -page_title: "Authentication" -sidebar_current: "gettingstarted-auth" -description: |- - Authentication to Nomad gives a user access to use Nomad. Nomad can authenticate using multiple methods. ---- - -# Authentication - -Now that we know how to use the basics of Nomad, it is important to understand -how to authenticate to Nomad itself. Up to this point, we haven't had to -authenticate because starting the Nomad server in dev mode automatically logs -us in as root. In practice, you'll almost always have to manually authenticate. - -On this page, we'll talk specifically about _authentication_. On the next -page, we talk about _authorization_. -Authentication is the mechanism of assigning an identity to a Nomad user. -The access control and permissions associated with an identity are -authorization, and will not be covered on this page. - -Nomad has pluggable authentication backends, making it easy to authenticate -with Nomad using whatever form works best for your organization. On this page -we'll use the token backend as well as the GitHub backend. - -## Tokens - -We'll first explain token authentication before going over any other -authentication backends. Token authentication is enabled by default in -Nomad and cannot be disabled. It is also what we've been using up to this -point. - -When you start a dev server with `vault server -dev`, it outputs your -_root token_. The root token is the initial access token to configure Nomad. -It has root privileges, so it can perform any operation within Nomad. -We'll cover how to limit privileges in the next section. - -You can create more tokens using `vault token-create`: - -``` -$ vault token-create -6c38f603-6441-2161-c543-ee15b7206563 -``` - -By default, this will create a child token of your current token that -inherits all the same access control policies. The "child" concept here -is important: tokens always have a parent, and when that parent token is -revoked, children can also be revoked all in one operation. This makes it -easy when removing access for a user, to remove access for all sub-tokens -that user created as well. - -After a token is created, you can revoke it with `vault token-revoke`: - -``` -$ vault token-revoke 6c38f603-6441-2161-c543-ee15b7206563 -Revocation successful. -``` - -In a previous section, we use the `vault revoke` command. This command -is only used for revoking _secrets_. For revoking _tokens_, the -`vault token-revoke` command must be used. - -To authenticate with a token, use the `vault auth` command: - -``` -$ vault auth d08e2bd5-ffb0-440d-6486-b8f650ec8c0c -Successfully authenticated! The policies that are associated -with this token are listed below: - -root -``` - -This authenticates with Nomad. It will verify your token and let you know -what access policies the token is associated with. If you want to test -`vault auth`, make sure you create a new token first. - -## Auth Backends - -In addition to tokens, other authentication backends can be enabled. -Authentication backends enable alternate methods of identifying with Nomad. -These identities are tied back to a set of access policies, just like tokens. - -Nomad supports other authentication backends in order to make authentication -easiest for your environment. For example, for desktop environments, -private key or GitHub based authentication may be easiest. For server -environments, some shared secret may be best. Auth backends give you -flexibility to choose what authentication you want to use. - -As an example, let's authenticate using GitHub. First, enable the -GitHub authentication backend: - -``` -$ vault auth-enable github -Successfully enabled 'github' at 'github'! -``` - -Auth backends are mounted, just like secret backends, except auth -backends are always prefixed with `auth/`. So the GitHub backend we just -mounted can be accessed at `auth/github`. You can use `vault path-help` to -learn more about it. - -With the backend enabled, we first have to configure it. For GitHub, -we tell it what organization users must part of, and map a team to a policy: - -``` -$ vault write auth/github/config organization=hashicorp -Success! Data written to: auth/github/config - -$ vault write auth/github/map/teams/default value=root -Success! Data written to: auth/github/map/teams/default -``` - -The above configured our GitHub backend to only accept users from the -"hashicorp" organization (you should fill in your own organization) -and to map any team to the "root" policy, which is the only policy we have -right now until the next section. - -With GitHub enabled, we can authenticate using `vault auth`: - -``` -$ vault auth -method=github token=e6919b17dd654f2b64e67b6369d61cddc0bcc7d5 -Successfully authenticated! The policies that are associated -with this token are listed below: - -root -``` - -Success! We've authenticated using GitHub. The "root" policy was associated -with my identity since we mapped that earlier. The value for "token" should be your own -[personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/). - -You can revoke authentication from any authentication backend using -`vault token-revoke` as well, which can revoke any path prefix. For -example, to revoke all GitHub tokens, you could run the following. -**Don't run this unless you have access to another root token or you'll -get locked out.** - -``` -$ vault token-revoke -mode=path auth/github -``` - -When you're done, you can disable authentication backends with -`vault auth-disable`. This will immediately invalidate all authenticated -users from this backend. - -``` -$ vault auth-disable github -Disabled auth provider at path 'github'! -``` - -If you ran the above, you'll probably find you can't access your Nomad -anymore unless you have another root token, since it invalidated your -own session since we authenticated with GitHub above. Since we're still -operating in development mode, just restart the dev server to fix this. - -## Next - -In this page you learned about how Nomad authenticates users. You learned -about the built-in token system as well as enabling other authentication -backends. At this point you know how Nomad assigns an _identity_ to -a user. - -The multiple authentication backends Nomad provides let you choose the -most appropriate authentication mechanism for your organization. - -In this next section, we'll learn about -[access control policies](/intro/getting-started/acl.html). diff --git a/website/source/intro/getting-started/deploy.html.md b/website/source/intro/getting-started/deploy.html.md deleted file mode 100644 index bd1b8f398..000000000 --- a/website/source/intro/getting-started/deploy.html.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -layout: "intro" -page_title: "Deploy Nomad" -sidebar_current: "gettingstarted-deploy" -description: |- - Learn how to deploy Nomad into production, how to initialize it, configure it, etc. ---- - -# Deploy Nomad - -Up to this point, we've been working with the dev server, which -automatically authenticated us, setup in-memory storage, etc. Now that -you know the basics of Nomad, it is important to learn how to deploy -Nomad into a real environment. - -On this page, we'll cover how to configure Nomad, start Nomad, the -seal/unseal process, and scaling Nomad. - -## Configuring Nomad - -Nomad is configured using [HCL](https://github.com/hashicorp/hcl) files. -As a reminder, these files are also JSON-compatible. The configuration -file for Nomad is relatively simple. An example is shown below: - -```javascript -backend "consul" { - address = "127.0.0.1:8500" - path = "vault" -} - -listener "tcp" { - address = "127.0.0.1:8200" - tls_disable = 1 -} -``` - -Within the configuration file, there are two primary configurations: - - * `backend` - This is the physical backend that Nomad uses for - storage. Up to this point the dev server has used "inmem" (in memory), - but in the example above we're using [Consul](http://www.consul.io), - a much more production-ready backend. - - * `listener` - One or more listeners determine how Nomad listens for - API requests. In the example above we're listening on localhost port - 8200 without TLS. - -For now, copy and paste the configuration above to `example.hcl`. It will -configure Nomad to expect an instance of Consul running locally. - -Starting a local Consul instance takes only a few minutes. Just follow the -[Consul Getting Started Guide](https://www.consul.io/intro/getting-started/install.html) -up to the point where you have installed Consul and started it with this command: - -```shell -$ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -``` - -## Starting the Server - -With the configuration in place, starting the server is simple, as -shown below. Modify the `-config` flag to point to the proper path -where you saved the configuration above. - -``` -$ vault server -config=example.hcl -==> Nomad server configuration: - - Log Level: info - Backend: consul - Listener 1: tcp (addr: "127.0.0.1:8200", tls: "disabled") - -==> Nomad server started! Log data will stream in below: -``` - -Nomad outputs some information about its configuration, and then blocks. -This process should be run using a resource manager such as systemd or -upstart. - -You'll notice that you can't execute any commands. We don't have any -auth information! When you first setup a Nomad server, you have to start -by _initializing_ it. - -On Linux, Nomad may fail to start with the following error: - -```shell -$ vault server -config=example.hcl -Error initializing core: Failed to lock memory: cannot allocate memory - -This usually means that the mlock syscall is not available. -Nomad uses mlock to prevent memory from being swapped to -disk. This requires root privileges as well as a machine -that supports mlock. Please enable mlock on your system or -disable Nomad from using it. To disable Nomad from using it, -set the `disable_mlock` configuration option in your configuration -file. -``` - -For guidance on dealing with this issue, see the discussion of -`disable_mlock` in [Server Configuration](/docs/config/index.html). - -## Initializing the Nomad - -Initialization is the process of first configuring the Nomad. This -only happens once when the server is started against a new backend that -has never been used with Nomad before. - -During initialization, the encryption keys are generated, unseal keys -are created, and the initial root token is setup. To initialize Nomad -use `vault init`. This is an _unauthenticated_ request, but it only works -on brand new Nomads with no data: - -``` -$ vault init -Key 1: 427cd2c310be3b84fe69372e683a790e01 -Key 2: 0e2b8f3555b42a232f7ace6fe0e68eaf02 -Key 3: 37837e5559b322d0585a6e411614695403 -Key 4: 8dd72fd7d1af254de5f82d1270fd87ab04 -Key 5: b47fdeb7dda82dbe92d88d3c860f605005 -Initial Root Token: eaf5cc32-b48f-7785-5c94-90b5ce300e9b - -Nomad initialized with 5 keys and a key threshold of 3! - -Please securely distribute the above keys. Whenever a Nomad server -is started, it must be unsealed with 3 (the threshold) -of the keys above (any of the keys, as long as the total number equals -the threshold). - -Nomad does not store the original master key. If you lose the keys -above such that you no longer have the minimum number (the -threshold), then your Nomad will not be able to be unsealed. -``` - -Initialization outputs two incredibly important pieces of information: -the _unseal keys_ and the _initial root token_. This is the -**only time ever** that all of this data is known by Nomad, and also the -only time that the unseal keys should ever be so close together. - -For the purpose of this getting started guide, save all these keys -somewhere, and continue. In a real deployment scenario, you would never -save these keys together. - -## Seal/Unseal - -Every initialized Nomad server starts in the _sealed_ state. From -the configuration, Nomad can access the physical storage, but it can't -read any of it because it doesn't know how to decrypt it. The process -of teaching Nomad how to decrypt the data is known as _unsealing_ the -Nomad. - -Unsealing has to happen every time Nomad starts. It can be done via -the API and via the command line. To unseal the Nomad, you -must have the _threshold_ number of unseal keys. In the output above, -notice that the "key threshold" is 3. This means that to unseal -the Nomad, you need 3 of the 5 keys that were generated. - --> **Note:** Nomad does not store any of the unseal key shards. Nomad -uses an algorithm known as -[Shamir's Secret Sharing](http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) -to split the master key into shards. Only with the threshold number of keys -can it be reconstructed and your data finally accessed. - -Begin unsealing the Nomad with `vault unseal`: - -``` -$ vault unseal -Key (will be hidden): -Sealed: true -Key Shares: 5 -Key Threshold: 3 -Unseal Progress: 1 -``` - -After pasting in a valid key and confirming, you'll see that the Nomad -is still sealed, but progress is made. Nomad knows it has 1 key out of 3. -Due to the nature of the algorithm, Nomad doesn't know if it has the -_correct_ key until the threshold is reached. - -Also notice that the unseal process is stateful. You can go to another -computer, use `vault unseal`, and as long as it's pointing to the same server, -that other computer can continue the unseal process. This is incredibly -important to the design of the unseal process: multiple people with multiple -keys are required to unseal the Nomad. The Nomad can be unsealed from -multiple computers and the keys should never be together. A single malicious -operator does not have enough keys to be malicious. - -Continue with `vault unseal` to complete unsealing the Nomad. Note that -all 3 keys must be different, but they can be any other keys. As long as -they're correct, you should soon see output like this: - -``` -$ vault unseal -Key (will be hidden): -Sealed: false -Key Shares: 5 -Key Threshold: 3 -Unseal Progress: 0 -``` - -The `Sealed: false` means the Nomad is unsealed! - -Feel free to play around with entering invalid keys, keys in different -orders, etc. in order to understand the unseal process. It is very important. -Once you're ready to move on, use `vault auth` to authenticate with -the root token. - -As a root user, you can reseal the Nomad with `vault seal`. A single -operator is allowed to do this. This lets a single operator lock down -the Nomad in an emergency without consulting other operators. - -When the Nomad is sealed again, it clears all of its state (including -the encryption key) from memory. The Nomad is secure and locked down -from access. - -## Next - -You now know how to configure, initialize, and unseal/seal Nomad. -This is the basic knowledge necessary to deploy Nomad into a real -environment. Once the Nomad is unsealed, you access it as you have -throughout this getting started guide (which worked with an unsealed Nomad). - -Next, we have a [short tutorial](/intro/getting-started/apis.html) on using the HTTP APIs to authenticate and access secrets. diff --git a/website/source/intro/getting-started/dev-server.html.md b/website/source/intro/getting-started/dev-server.html.md deleted file mode 100644 index b8253f999..000000000 --- a/website/source/intro/getting-started/dev-server.html.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -layout: "intro" -page_title: "Starting the Server" -sidebar_current: "gettingstarted-devserver" -description: |- - After installing Nomad, the next step is to start the server. ---- - -# Starting the Nomad Server - -With Nomad installed, the next step is to start a Nomad server. - -Nomad operates as a client/server application. The Nomad server is the -only piece of the Nomad architecture that interacts with the data -storage and backends. All operations done via the Nomad CLI interact -with the server over a TLS connection. - -In this page, we'll start and interact with the Nomad server to understand -how the server is started, and understanding the seal/unseal process. - -## Starting the Dev Server - -To start, we're going to start the Nomad _dev server_. The dev server -is a built-in flag to start a pre-configured server that is not very -secure but useful for playing with Nomad locally. Later in the getting -started guide we'll configure and start a real server. - -To start the Nomad dev server, run `vault server -dev`: - -``` -$ vault server -dev -WARNING: Dev mode is enabled! - -In this mode, Nomad is completely in-memory and unsealed. -Nomad is configured to only have a single unseal key. The root -token has already been authenticated with the CLI, so you can -immediately begin using the Nomad CLI. - -The only step you need to take is to set the following -environment variable since Nomad will be talking without TLS: - - export VAULT_ADDR='http://127.0.0.1:8200' - -The unseal key and root token are reproduced below in case you -want to seal/unseal the Nomad or play with authentication. - -Unseal Key: 2252546b1a8551e8411502501719c4b3 -Root Token: 79bd8011-af5a-f147-557e-c58be4fedf6c - -==> Nomad server configuration: - - Log Level: info - Backend: inmem - Listener 1: tcp (addr: "127.0.0.1:8200", tls: "disabled") - -... -``` - -You should see output similar to that above. As you can see, when you -start a dev server, Nomad warns you loudly. The dev server stores all -its data in-memory (but still encrypted), listens on localhost without TLS, and -automatically unseals and shows you the unseal key and root access key. -We'll go over what all this means shortly. - -The important thing about the dev server is that it is meant for -development only. **Do not run the dev server in production.** Even if it -was run in production, it wouldn't be very useful since it stores data in-memory -and every restart would clear all your secrets. - -With the dev server running, do the following three things before anything -else: - - 1. Copy and run the `export VAULT_ADDR ...` command from your terminal - output. This will configure the Nomad client to talk to our dev server. - - 2. Save the unseal key somewhere. Don't worry about _how_ to save this - securely. For now, just save it anywhere. - - 3. Do the same as step 2, but with the root token. We'll use this later. - -## Verify the Server is Running - -Verify the server is running by running `vault status`. This should -succeed and exit with exit code 0. If you see an error about opening -a connection, make sure you copied and executed the `export VAULT_ADDR...` -command from above properly. - -If it ran successful, the output should look like below: - -``` -$ vault status -Sealed: false -Key Shares: 1 -Key Threshold: 1 -Unseal Progress: 0 - -High-Availability Enabled: false -``` - -If the output looks different, especially if the numbers are different -or the Nomad is sealed, then restart the dev server and try again. The -only reason these would ever be different is if you're running a dev -server from going through this guide previously. - -We'll cover what this output means later in the guide. - -## Next - -Congratulations! You've started your first Nomad server. We haven't stored -any secrets yet, but we'll do that in the next section. - -Next, we're going to -[read and write our first secrets](/intro/getting-started/first-secret.html). diff --git a/website/source/intro/getting-started/dynamic-secrets.html.md b/website/source/intro/getting-started/dynamic-secrets.html.md deleted file mode 100644 index ede1addd1..000000000 --- a/website/source/intro/getting-started/dynamic-secrets.html.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -layout: "intro" -page_title: "Dynamic Secrets" -sidebar_current: "gettingstarted-dynamicsecrets" -description: |- - On this page we introduce dynamic secrets by showing you how to create AWS access keys with Nomad. ---- - -# Dynamic Secrets - -Now that we've written basic secrets to Nomad and we have an understanding -of the mount system, we're going to move on to the next core feature of -Nomad: _dynamic secrets_. - -Dynamic secrets are secrets that are generated when they're accessed, -and aren't statically written like we did in -[Your First Secret](/intro/getting-started/first-secret.html). -On this page, we'll use the built-in AWS secret backend to dynamically -generate AWS access keys. - -The power of dynamic secrets is that they simply don't exist before -they're read, so there is no risk of someone stealing them or another -client using the same secrets. And because Nomad has built-in revocation -mechanisms (covered later), the dynamic secret can be revoked right after -use, minimizing the amount of time the secret existed. - --> **Note:** Before starting this page, please register for an -[AWS account](http://aws.amazon.com). We won't be using any features that -cost money, so you shouldn't be charged for anything. However, we're not -responsible for any charges you may incur. - -## Mounting the AWS Backend - -Let's generate our first dynamic secret. We'll use the AWS backend to -dynamically generate an AWS access key pair. First, mount the AWS backend: - -``` -$ vault mount aws -Successfully mounted 'aws' at 'aws'! -``` - -The AWS backend is now mounted at `aws/`. As we covered in a previous -section: different secret backends allow for different behavior, and in this -case the AWS backend is a dynamic backend for generating AWS access credentials. - -## Configuring the AWS Backend - -With the AWS backend mounted, the first step is to configure it with -the AWS credentials that will be used to create the other credentials. -For now, use the root keys for your AWS account. - -To configure the backend, we use `vault write` to a special path -`aws/config/root`: - -``` -$ vault write aws/config/root \ - access_key=AKIAI4SGLQPBX6CSENIQ \ - secret_key=z1Pdn06b3TnpG+9Gwj3ppPSOlAsu08Qw99PUW+eB -Success! Data written to: aws/config/root -``` - -Remember that secret backends can behave anyway they want when -reading/writing a path, so this path stores this configuration for -later. Notice you can't read it back: - -``` -$ vault read aws/config/root -Error reading aws/config/root: Error making API request. - -URL: GET http://127.0.0.1:8200/v1/aws/config/root -Code: 500. Errors: - -* unsupported operation -``` - -To help keep the credentials secure, the AWS backend doesn't let you -read them back even if you're using a root credential. - -## Creating a Role - -The next step is to configure the AWS backend with an IAM policy. -IAM is the system AWS uses for creating new credentials with limited -API permissions. - -The AWS backend requires an IAM policy to associate created credentials -with. For this example, we'll write just one policy, but you can associate -many policies with the backend. Save a file named "policy.json" with the following contents: - -```javascript -{ - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "Stmt1426528957000", - "Effect": "Allow", - "Action": [ - "ec2:*" - ], - "Resource": [ - "*" - ] - } - ] -} -``` - -This is a basic IAM policy that lets the user perform any action within -Amazon EC2. With the policy saved, write it to Nomad and create a new role: - -``` -$ vault write aws/roles/deploy policy=@policy.json -Success! Data written to: aws/roles/deploy -``` - -Again, we're using a special path here `aws/roles/` to write -an IAM policy to Nomad. We also used the special syntax `@filename` with -`vault write` to write the contents of a file. - -## Generating the Secret - -Now that we've configured the AWS backend and created a role, we can now -request an access key pair for that role. To do so, just read the -special path `aws/creds/` where `NAME` is the role name: - -``` -$ vault read aws/creds/deploy -Key Value -lease_id aws/creds/deploy/0d042c53-aa8a-7ce7-9dfd-310351c465e5 -access_key AKIAJFN42DVCQWDHQYHQ -secret_key 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 -``` - -Success! The access and secret key can now be used to perform any EC2 -operations within AWS. You can verify they work, if you want. Also notice -that these keys are new, they're not the keys you entered earlier. - -The `lease_id` above is a special ID used for Nomad for renewal, -revocation, etc. Copy and save your Lease ID now. - -## Revoking the Secret - -Let's complete the loop and revoke this secret now, purging it from -existence. Once the secret is revoked, the access keys will no longer -work. - -To revoke the secret, use `vault revoke` with the lease ID that was -outputted from `vault read` when you ran it: - -``` -$ vault revoke aws/creds/deploy/0d042c53-aa8a-7ce7-9dfd-310351c465e5 -Key revoked with ID 'aws/creds/deploy/0d042c53-aa8a-7ce7-9dfd-310351c465e5'. -``` - -Done! If you look at your AWS account, you'll notice that no IAM users -exist. If you try to use the access keys that were generated, you'll -find that they no longer work. - -With such easy dynamic creation and revocation, you can hopefully begin -to see how easy it is to work with dynamic secrets and ensure they only -exist for the duration that they're needed. - -## Next - -On this page we experienced our first dynamic secret, and we also saw -the revocation system in action. Dynamic secrets are incredibly powerful. -As time goes on, we expect that more systems will support some sort of -API to create access credentials, and Nomad will be ready to get the -most value out of this practice. - -Before going further, we're going to take a quick detour to learn -about the -[built-in help system](/intro/getting-started/help.html). diff --git a/website/source/intro/getting-started/first-secret.html.md b/website/source/intro/getting-started/first-secret.html.md deleted file mode 100644 index 30b2f6d47..000000000 --- a/website/source/intro/getting-started/first-secret.html.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -layout: "intro" -page_title: "Your First Secret" -sidebar_current: "gettingstarted-firstsecret" -description: |- - With the Nomad server running, let's read and write our first secret. ---- - -# Your First Secret - -Now that the dev server is up and running, let's get straight to it and -read and write our first secret. - -One of the core features of Nomad is the ability to read and write -arbitrary secrets securely. On this page, we'll do this using the CLI, -but there is also a complete -[HTTP API](/docs/http/index.html) -that can be used to programmatically do anything with Nomad. - -Secrets written to Nomad are encrypted and then written to the backend -storage. For our dev server, backend storage is in-memory, but in production -this would more likely be on disk or in [Consul](https://www.consul.io). -Nomad encrypts the value before it is ever handed to the storage driver. -The backend storage mechanism _never_ sees the unencrypted value and doesn't -have the means necessary to decrypt it without Nomad. - -## Writing a Secret - -Let's start by writing a secret. This is done very simply with the -`vault write` command, as shown below: - -``` -$ vault write secret/hello value=world -Success! Data written to: secret/hello -``` - -This writes the pair `value=world` to the path `secret/hello`. We'll -cover paths in more detail later, but for now it is important that the -path is prefixed with `secret/`, otherwise this example won't work. The -`secret/` prefix is where arbitrary secrets can be read and written. - -You can even write multiple pieces of data, if you want: - -``` -$ vault write secret/hello value=world excited=yes -Success! Data written to: secret/hello -``` - -`vault write` is a very powerful command. In addition to writing data -directly from the command-line, it can read values and keypairs from -stdin as well as files. For more information, see the -[vault write documentation](/docs/commands/read-write.html). - -~> **Warning:** The documentation uses the "key=value" based entry -throughout, but it is more secure to use files if possible. Sending -data via the CLI is often logged in shell history. For real secrets, -please use files. See the link above for more information. - -## Reading a Secret - -As you might expect, secrets can be read with `vault read`: - -``` -$ vault read secret/hello -Key Value -lease_id secret/hello/d57fe039-1eef-9f4a-f3c9-63e2b29002b8 -lease_duration 2592000 -excited yes -value world -``` - -As you can see, the values we wrote are given back to us. Nomad read -the data from storage and decrypted it. -The output format is purposefully whitespace separated to make it easy -to pipe into a tool like `awk`. - -In addition to the tabular format, if you're working with machines or -a tool like `jq`, you can output the data in JSON format: - -``` -$ vault read -format=json secret/hello -{ - "lease_id": "secret/hello/25f33857-15ed-b62b-dac6-4b29bb8e8bef", - "lease_duration": 2592000, - "renewable": false, - "data": { - "excited": "yes", - "value": "world" - } -} -``` - -This contains some extra information, but you can see our data mirrored -here as well. The JSON output is very useful for scripts. For example below -we use the `jq` tool to extract the "excited" value: - -``` -$ vault read -format=json secret/hello | jq -r .data.excited -yes -``` - -## Deleting a Secret - -Now that we've learned how to read and write a secret, let's go ahead -and delete it. We can do this with `vault delete`: - -``` -$ vault delete secret/hello -Success! Deleted 'secret/hello' -``` - -## Next - -In this section we learned how to use the powerful CRUD features of -Nomad to store arbitrary secrets. On its own this is already a useful -but basic feature. - -Next, we'll learn the basics about [secret backends](/intro/getting-started/secret-backends.html). diff --git a/website/source/intro/getting-started/help.html.md b/website/source/intro/getting-started/help.html.md deleted file mode 100644 index 827886b3d..000000000 --- a/website/source/intro/getting-started/help.html.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -layout: "intro" -page_title: "Built-in Help" -sidebar_current: "gettingstarted-help" -description: |- - Nomad has a built-in help system to learn about the available paths in Nomad and how to use them. ---- - -# Built-in Help - -You've now worked with `vault write` and `vault read` for multiple paths: -generic secret backend with `secret/` and dynamic AWS credentials with the -AWS backend provider at `aws/`. In both cases, the usage of read/write and -the paths to use differed. AWS in particular had special paths like -`aws/config`. - -Instead of having to memorize or reference documentation constantly -to determine what paths to use, we built a help system directly into -Nomad. This help system can be accessed via the API or the command-line and -generates human-readable help for any mounted backend. - -On this page, we'll learn how to use this help system. It is an invaluable -tool as you continue to work with Nomad. - -## Backend Overview - -For this, we'll assume you have the AWS backend mounted. If not, mount -it with `vault mount aws`. Even if you don't have an AWS account, you -can still mount the AWS backend. - -With the backend mounted, let's learn about it with `vault path-help`: - -``` -$ vault path-help aws -## DESCRIPTION - -The AWS backend dynamically generates AWS access keys for a set of -IAM policies. The AWS access keys have a configurable lease set and -are automatically revoked at the end of the lease. - -After mounting this backend, credentials to generate IAM keys must -be configured with the "root" path and policies must be written using -the "roles/" endpoints before any access keys can be generated. - -## PATHS - -The following paths are supported by this backend. To view help for -any of the paths below, use the help command with any route matching -the path pattern. Note that depending on the policy of your auth token, -you may or may not be able to access certain paths. - - ^config/lease$ - Configure the default lease information for generated credentials. - - ^config/root$ - Configure the root credentials that are used to manage IAM. - - ^creds/(?P\w+)$ - Generate an access key pair for a specific role. - - ^roles/(?P\w+)$ - Read and write IAM policies that access keys can be made for. -``` - -The `vault path-help` command takes a path. By specifying the root path for -a mount, it will give us the overview of that mount. Notice how the help -not only contains a description, but also the exact regular expressions -used to match routes for this backend along with a brief description -of what the route is for. - -## Path Help - -After seeing the overview, we can continue to dive deeper by getting -help for an individual path. For this, just use `vault path-help` with a path -that would match the regular expression for that path. Note that the path -doesn't need to actually _work_. For example, we'll get the help below -for accessing `aws/creds/operator`, even though we never created the `operator` -role: - -``` -$ vault path-help aws/creds/operator -Request: creds/operator -Matching Route: ^creds/(?P\w+)$ - -Generate an access key pair for a specific role. - -## PARAMETERS - - name (string) - Name of the role - -## DESCRIPTION - -This path will generate a new, never before used key pair for -accessing AWS. The IAM policy used to back this key pair will be -the "name" parameter. For example, if this backend is mounted at "aws", -then "aws/creds/deploy" would generate access keys for the "deploy" role. - -The access keys will have a lease associated with them. The access keys -can be revoked by using the lease ID. -``` - -Within a path, we're given the parameters that this path requires. -Some parameters come from the route itself. In this case, the "name" -parameter is a named capture from the route regular expression. - -There is also a description of what that path does. - -Go ahead and explore more paths! Mount other backends, traverse their -help systems and learn about what they do. For example, learn about the -generic `secret/` path. - -## Next - -The help system may not be the most exciting feature of Nomad, but it -is indispensable in day-to-day usage of Nomad. The help system lets you -learn about how to use any backend within Nomad without leaving the command -line. - -Next, we'll learn about -[authentication](/intro/getting-started/authentication.html). diff --git a/website/source/intro/getting-started/install.html.md b/website/source/intro/getting-started/install.html.md index c865fae6d..cbc71a344 100644 --- a/website/source/intro/getting-started/install.html.md +++ b/website/source/intro/getting-started/install.html.md @@ -1,7 +1,7 @@ --- layout: "intro" page_title: "Install Nomad" -sidebar_current: "gettingstarted-install" +sidebar_current: "getting-started-install" description: |- The first step to using Nomad is to get it installed. --- @@ -21,59 +21,35 @@ To install Nomad, find the [appropriate package](/downloads.html) for your system and download it. Nomad is packaged as a zip archive. After downloading Nomad, unzip the package. Nomad runs as a single binary -named `vault`. Any other files in the package can be safely removed and +named `nomad`. Any other files in the package can be safely removed and Nomad will still function. -The final step is to make sure that `vault` is available on the PATH. -See [this page](http://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux) +The final step is to make sure that `nomad` is available on the PATH. +See [this page](https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux) for instructions on setting the PATH on Linux and Mac. -[This page](http://stackoverflow.com/questions/1618280/where-can-i-set-path-to-make-exe-on-windows) +[This page](https://stackoverflow.com/questions/1618280/where-can-i-set-path-to-make-exe-on-windows) contains instructions for setting the PATH on Windows. ## Verifying the Installation After installing Nomad, verify the installation worked by opening a new -terminal session and checking that `vault` is available. By executing -`vault`, you should see help output similar to the following: +terminal session and checking that `nomad` is available. By executing +`nomad`, you should see help output similar to the following: ``` -$ vault -usage: vault [-version] [-help] [args] +$ nomad +usage: nomad [--version] [--help] [] -Common commands: - delete Delete operation on secrets in Nomad - path-help Look up the help for a path - read Read data or secrets from Nomad - renew Renew the lease of a secret - revoke Revoke a secret. - server Start a Nomad server - status Outputs status of whether Nomad is sealed and if HA mode is enabled - write Write secrets or configuration into Nomad - -All other commands: - audit-disable Disable an audit backend - audit-enable Enable an audit backend - audit-list Lists enabled audit backends in Nomad - auth Prints information about how to authenticate with Nomad - auth-disable Disable an auth provider - auth-enable Enable a new auth provider - init Initialize a new Nomad server - key-status Provides information about the active encryption key - mount Mount a logical backend - mounts Lists mounted backends in Nomad - policies List the policies on the server - policy-delete Delete a policy from the server - policy-write Write a policy to the server - rekey Rekeys Nomad to generate new unseal keys - remount Remount a secret backend to a new path - rotate Rotates the backend encryption key used to persist data - seal Seals the vault server - token-create Create a new auth token - token-renew Renew an auth token - token-revoke Revoke one or more auth tokens - unmount Unmount a secret backend - unseal Unseals the vault server - version Prints the Nomad version +Available commands are: + agent Runs a Nomad agent + agent-force-leave Force a member into the 'left' state + agent-info Display status information about the local agent + agent-join Join server nodes together + agent-members Display a list of known members and their status + node-drain Toggle drain mode on a given node + node-status Display status information about nodes + status Display status information about jobs + version Prints the Nomad version ``` If you get an error that Nomad could not be found, then your PATH environment diff --git a/website/source/intro/getting-started/next-steps.html.md b/website/source/intro/getting-started/next-steps.html.md index 6d7d57b1d..747b98030 100644 --- a/website/source/intro/getting-started/next-steps.html.md +++ b/website/source/intro/getting-started/next-steps.html.md @@ -1,20 +1,19 @@ --- layout: "intro" page_title: "Next Steps" -sidebar_current: "gettingstarted-nextsteps" +sidebar_current: "getting-started-nextsteps" description: |- After completing the getting started guide, learn about what to do next with Nomad. --- # Next Steps -That concludes the getting started guide for Nomad. Hopefully you're +That concludes the getting started guide for Nomad. Hopefully you are excited about the possibilities of Nomad and ready to put this knowledge to use to improve your environment. We've covered the basics of all the core features of Nomad in this guide. -Due to the importance of securing secrets, we recommend reading the following -as next steps. +We recommend reading the following as next steps. * [Documentation](/docs/index.html) - The documentation is an in-depth reference guide to all the features of Nomad. diff --git a/website/source/intro/getting-started/running.md b/website/source/intro/getting-started/running.md new file mode 100644 index 000000000..478355857 --- /dev/null +++ b/website/source/intro/getting-started/running.md @@ -0,0 +1,18 @@ +--- +layout: "intro" +page_title: "Running Nomad" +sidebar_current: "getting-started-running" +description: |- + Learn how to deploy Nomad into production, how to initialize it, configure it, etc. +--- + +# Running Nomad +This section will detail how to run Nomad on client machines. It should include +a sample upstart script and stuff + +## Next + +TODO: Fill in text here. + +Next, we have a [short tutorial](/intro/getting-started/apis.html) on using +Nomad's HTTP APIs. diff --git a/website/source/intro/getting-started/secret-backends.html.md b/website/source/intro/getting-started/secret-backends.html.md deleted file mode 100644 index 4516fc1e8..000000000 --- a/website/source/intro/getting-started/secret-backends.html.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -layout: "intro" -page_title: "Secret Backends" -sidebar_current: "gettingstarted-secretbackends" -description: |- - Secret backends are what create, read, update, and delete secrets. ---- - -# Secret Backends - -Previously, we saw how to read and write arbitrary secrets to Nomad. -To do this, we used the `secret/` prefix. This prefix specifies the -_secret backend_ to use, and Nomad defaults to mounting the _generic_ -backend to `secret/`. The generic backend reads and writes raw data to -the backend storage. - -Nomad supports other backends in addition to "generic", and this feature -in particular is what makes Nomad unique. For example, the "aws" backend -generates AWS access keys dynamically, on demand. Another example -- -this type of backend does not yet exist -- is a backend that -reads and writes data directly to an -[HSM](http://en.wikipedia.org/wiki/Hardware_security_module). -As Nomad matures, more and more backends will be added. - -To represent backends, Nomad behaves much like a filesystem: backends -are _mounted_ at specific paths. For example, the "generic" backend is -_mounted_ at the `secret/` prefix. - -On this page, we'll learn about the mount system and the operations -that can be performed with them. We do this as prerequisite knowledge -to the next page, where we'll create dynamic secrets. - -## Mount a Backend - -To start, let's mount another "generic" backend. Just like a normal -filesystem, Nomad can mount a backend multiple times at different -mount points. This is useful if you want different access control policies -(covered later) or configurations for different paths. - -To mount the backend: - -``` -$ vault mount generic -Successfully mounted 'generic' at 'generic'! -``` - -By default, the mount point will be the same name as the backend. This -is because 99% of the time, you don't want to customize this mount point. -In this example, we mounted the "generic" backend at `generic/`. - -You can inspect mounts using `vault mounts`: - -``` -$ vault mounts -Path Type Description -generic/ generic -secret/ generic generic secret storage -sys/ system system endpoints used for control, policy and debugging -``` - -You can see the `generic/` path we just mounted, as well as the built-in -secret path. You can also see the `sys/` path. We won't cover this in the -getting started guide, but this mount point is used to interact with -the Nomad core system. - -Spend some time reading and writing secrets to the new mount point to -convince yourself it works. As a bonus, write to the `secret/` endpoint -and observe that those values are unavailable via `generic/`: they share the -same backend, but do not share any data. In addition to this, backends -(of the same type or otherwise) _cannot_ access the data of other backends; -they can only access data within their mount point. - -## Unmount a Backend - -Once you're sufficiently convinced mounts behave as you expect, you can -unmount it. When a backend is unmounted, all of its secrets are revoked -and its data is deleted. If either of these operations fail, the backend -remains mounted. - -``` -$ vault unmount generic/ -Successfully unmounted 'generic/'! -``` - -In addition to unmounting, you can _remount_ a backend. Remounting a -backend changes its mount point. This is still a disruptive command: the -stored data is retained, but all secrets are revoked since secrets are -closely tied to their mount paths. - -## What is a Secret Backend? - -Now that you've mounted and unmounted a backend, you might wonder: -"what is a secret backend? what is the point of this mounting system?" - -Nomad behaves a lot like a [virtual filesystem](http://en.wikipedia.org/wiki/Virtual_file_system). -The read/write/delete operations are forwarded to the backend, and the -backend can choose to react to these operations however it wishes. -For example, the "generic" backend simply passes this through to the -storage backend (after encrypting data first). - -However, the "aws" backend (which you'll see soon), will read/write IAM -policies and access tokens. So, while you might do a `vault read aws/deploy`, -this isn't reading from any _physical_ path "aws/deploy". Instead, the AWS -backend is dynamically generating an access key based on the "deploy" policy. - -This abstraction is incredibly powerful. It lets Nomad interface directly -with physical systems such as the backend as well as things such as SQL -databases, HSMs, etc. But in addition to these physical systems, Nomad -can interact with more unique environments: AWS IAM, dynamic SQL user creation, -etc. all using the same read/write interface. - -## Next - -You now know about secret backends and how to operate on the mount table. -This is important knowledge to move forward and learn about other secret -backends. - -Next, we'll use the -[AWS backend to generate dynamic secrets](/intro/getting-started/dynamic-secrets.html). diff --git a/website/source/layouts/docs.erb b/website/source/layouts/docs.erb index 65c17e8cb..378e5b9a4 100644 --- a/website/source/layouts/docs.erb +++ b/website/source/layouts/docs.erb @@ -38,30 +38,6 @@ > Basic Concepts - > + > Getting Started