feat(website): migrates nav data format and updates docs pages (#1049)

* migrates nav data format and updates docs pages

* removes sidebar_title from content files

* updates api docs to work with new format
This commit is contained in:
Bryce Kalow authored and GitHub committed 2021-04-05 13:04:57 -04:00
1 parent d3b72899f1
commit bd8cc5464e
72 files changed
+613 -634

No files matched your search

@@ -1,7 +1,6 @@
---
layout: docs
page_title: Common Workflows
sidebar_title: Common Workflows
description: Common workflows for Boundary
---
@@ -1,7 +1,6 @@
---
layout: docs
page_title: Manage Roles and Permissions
sidebar_title: Manage Roles
description: How to manage Roles and Permissions
---
@@ -22,7 +21,6 @@ Roles can live in the global, org, or project scopes. In this example we will cr
<Tabs>
<Tab heading="CLI">
```bash
$ boundary roles create -scope-id o_1234567890 -name my_role -description "My first role"
@@ -45,7 +43,6 @@ Role information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to an org, then to roles.
1. Choose the **New** button.
1. Fill the role details.
@@ -61,7 +58,6 @@ Role information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_scope" "role" {
name = "my_role"
@@ -73,7 +69,6 @@ resource "boundary_scope" "role" {
</Tab>
</Tabs>
# Assign Principals to a Role
Users and groups are granted permissions to perform actions by assigning them to a role.
@@ -81,7 +76,6 @@ Users and groups are granted permissions to perform actions by assigning them to
<Tabs>
<Tab heading="CLI">
```bash
boundary roles add-principals -id $role_id -principal $principal_id
@@ -109,7 +103,6 @@ Role information:
</Tab>
<Tab heading="Admin Console">
1. From the role edit form, navigate to the **Principals** tab.
1. Choose **Add Principals** from the **Manage** dropdown.
1. Select one or more users and groups to associate with the role.
@@ -125,7 +118,6 @@ Role information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_scope" "role" {
name = "my_role"
@@ -138,7 +130,6 @@ resource "boundary_scope" "role" {
</Tab>
</Tabs>
# Assign Grants to a Role
Grants describe the actions that the principals should be allowed to perform. For more information on how to format grants see [Permission Grant Formats](https://boundaryproject.io/docs/concepts/security/permissions#permission-grant-formats).
@@ -147,7 +138,6 @@ In this example we give a role read and list permissions to all resources.
<Tabs>
<Tab heading="CLI">
```bash
boundary roles add-grants -id $role_id -grant 'id=*;type=*;actions=read,list'
@@ -179,7 +169,6 @@ Role information:
</Tab>
<Tab heading="Admin Console">
1. From the role edit form, navigate to the **Grants** tab.
1. Fill a new grant string.
1. Choose **Add**.
@@ -205,10 +194,8 @@ Role information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_scope" "role" {
name = "my_role"
@@ -221,4 +208,3 @@ resource "boundary_scope" "role" {
</Tab>
</Tabs>
@@ -1,7 +1,6 @@
---
layout: docs
page_title: Manage Scopes
sidebar_title: Manage Scopes
description: How to manage Boundary scopes
---
@@ -42,7 +41,6 @@ scope.
<Tabs>
<Tab heading="CLI">
```bash
$ boundary scopes create -scope-id global -name my_org -description 'My first org'
@@ -63,7 +61,6 @@ Scope information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to the Boundary landing page.
1. Choose the **New** button.
1. Fill org details.
@@ -79,7 +76,6 @@ Scope information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_scope" "org" {
scope_id = "global"
@@ -93,7 +89,6 @@ resource "boundary_scope" "org" {
</Tab>
</Tabs>
## Create a Project
Next, we're going to add a project scope to our org.
@@ -101,7 +96,6 @@ Next, we're going to add a project scope to our org.
<Tabs>
<Tab heading="CLI">
```bash
$ boundary scopes create -scope-id o_0MkQUfE9jA -name my_project -description 'My first project'
@@ -123,7 +117,6 @@ Scope information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to an org, which leads to an overview of projects within that org.
1. Choose the **New** button.
1. Fill project details.
@@ -140,7 +133,6 @@ Scope information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_scope" "project" {
name = "my_project"
@@ -155,4 +147,3 @@ resource "boundary_scope" "project" {
</Tab>
</Tabs>
@@ -1,7 +1,6 @@
---
layout: docs
page_title: Manage Sessions
sidebar_title: Manage Sessions
description: How to manage Boundary sessions
---
@@ -36,7 +35,6 @@ For more information regarding different ways to connect to a target behind Boun
<Tabs>
<Tab heading="CLI">
View all sessions which Boundary has for the project `p_1234567890` by listing them.
```bash
@@ -90,7 +88,6 @@ Session information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to a project, then to sessions.
1. View the session information provided there.
@@ -103,14 +100,12 @@ Session information:
</Tab>
</Tabs>
## Cancel a Session
<Tabs>
<Tab heading="CLI">
To send a request to Boundary to cancel a session:
```bash
$ boundary sessions cancel -id s_h7vBIhH5SZ
@@ -153,7 +148,6 @@ Boundary then cancels the session and move it into a "Terminated" state.
</Tab>
<Tab heading="Admin Console">
1. Navigate to a project, then to sessions.
1. Choose a session and its **Cancel** button.
1. View the session status update from _canceling_ to _terminated_.
@@ -167,7 +161,6 @@ Boundary then cancels the session and move it into a "Terminated" state.
</Tab>
</Tabs>
## Advanced Session Establishment
Above, we discussed connecting to a target using the `boundary connect` command. In addition to this we can create a session to a target and connect to that session in separate steps. This is accomplished using the `boundary targets authorize-session` command, which generates an authorization token that a user can use to start a session via `boundary connect -authz-token` at their own convenience.
@@ -1,7 +1,6 @@
---
layout: docs
page_title: Manage Targets
sidebar_title: Manage Targets
description: How to manage Boundary targets
---
@@ -27,7 +26,6 @@ For this example, we're going to create a target to access postgres on `localhos
<Tabs>
<Tab heading="CLI">
```bash
boundary hosts create static -name postgres -description "Postgres host" -address "127.0.0.1" -host-catalog-id "hcst_1234567890"
@@ -54,7 +52,6 @@ Host information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to a host catalog (Projects > Project > Host Catalogs > Host Catalog).
1. Choose **New Host** from the **Manage** dropdown.
1. Fill host details.
@@ -70,7 +67,6 @@ Host information:
</Tab>
<Tab heading="Terraform">
To define this same host using our Terraform provider:
```hcl
@@ -86,7 +82,6 @@ resource "boundary_host" "postgres" {
</Tab>
</Tabs>
## Define a Host Set
Host sets allow us to group hosts providing equivalient services together. A target works off of host sets, so even though we are only defining one host in this example, we're going to create a host set of one host.
@@ -94,7 +89,6 @@ Host sets allow us to group hosts providing equivalient services together. A tar
<Tabs>
<Tab heading="CLI">
```bash
boundary host-sets create static -name "postgres" -description "Postgres host set" -host-catalog-id hcst_1234567890
@@ -118,7 +112,6 @@ Host Set information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to a host catalog, then to the **Host Sets** tab.
1. Choose **Create Host Set** from the **Manage** dropdown.
1. Fill host set details.
@@ -148,7 +141,6 @@ Then associate the host set with a host:
</Tab>
<Tab heading="Terraform">
To define this host set in Terraform:
```hcl
@@ -166,13 +158,11 @@ resource "boundary_host_set" "postgres" {
</Tab>
</Tabs>
## Define a Target
<Tabs>
<Tab heading="CLI">
```bash
boundary targets create tcp -name 'postgres' -description 'Postgres target' -default-port 5432 -scope-id p_1234567890 -session-connection-limit '-1'
@@ -199,7 +189,6 @@ Target information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to a project, then to targets.
1. Choose the **New** button.
1. Fill the target details.
@@ -229,7 +218,6 @@ Then associate the host set with a host:
</Tab>
<Tab heading="Terraform">
To define this target in Terraform:
```hcl
@@ -250,4 +238,3 @@ resource "boundary_target" "postgres" {
</Tab>
</Tabs>
@@ -1,7 +1,6 @@
---
layout: docs
page_title: Manage Users and Groups
sidebar_title: Manage Users and Groups
description: How to manage Boundary users and groups
---
@@ -48,7 +47,6 @@ Create a password-type auth method in the generated default org:
<Tabs>
<Tab heading="CLI">
```bash
$ boundary auth-methods create password -scope-id o_1234567890 -name org_auth_method -description 'Org auth method'
@@ -75,7 +73,6 @@ Auth Method information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to an org, then to auth methods.
1. Choose the **New** button.
1. Fill in the auth method details.
@@ -91,7 +88,6 @@ Auth Method information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_auth_method" "password" {
name = "org_auth_method"
@@ -104,7 +100,6 @@ resource "boundary_auth_method" "password" {
</Tab>
</Tabs>
## Create Account
Create an account for the org-scoped auth method. Note that by default, user
@@ -115,7 +110,6 @@ the attributes for the auth method, if desired.)
<Tabs>
<Tab heading="CLI">
```bash
boundary accounts create password -auth-method-id ampw_PbE6nNT72a -login-name 'myuser' -password supersecure -name my_account -description 'My password account'
@@ -142,7 +136,6 @@ Account information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to orgs > auth methods > auth method, then to the **Accounts** tab.
1. Choose the **New** button.
1. Fill the account details.
@@ -158,7 +151,6 @@ Account information:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_account" "my_user" {
name = "myuser"
@@ -173,7 +165,6 @@ resource "boundary_account" "my_user" {
</Tab>
</Tabs>
## Create a User
Next, create a user at the org scope.
@@ -181,7 +172,6 @@ Next, create a user at the org scope.
<Tabs>
<Tab heading="CLI">
First, create the user resource:
```bash
@@ -229,7 +219,6 @@ User information:
</Tab>
<Tab heading="Admin Console">
1. Navigate to an org, then to users.
1. Choose the **New** button.
1. Fill the user details.
@@ -259,7 +248,6 @@ Then associate the user with an account:
</Tab>
<Tab heading="Terraform">
```hcl
resource "boundary_user" "myuser" {
name = "myuser"
@@ -274,7 +262,6 @@ resource "boundary_user" "myuser" {
</Tab>
</Tabs>
## Login
Now you can test logging in.
@@ -282,7 +269,6 @@ Now you can test logging in.
<Tabs>
<Tab heading="CLI">
```bash
$ boundary authenticate password -login-name myuser -password supersecure -auth-method-id ampw_PbE6nNT72a
```
@@ -290,7 +276,6 @@ $ boundary authenticate password -login-name myuser -password supersecure -auth-
</Tab>
<Tab heading="Admin Console">
1. Navigate to the authenticate page.
1. Choose an org scope with which to authenticate.
1. Fill the credentials.
@@ -306,7 +291,6 @@ $ boundary authenticate password -login-name myuser -password supersecure -auth-
</Tab>
<Tab heading="Terraform">
```hcl
provider "boundary" {
addr = "http://127.0.0.1:9200"
@@ -318,4 +302,3 @@ provider "boundary" {
</Tab>
</Tabs>
@@ -1,16 +1,15 @@
---
layout: docs
page_title: SSH ProxyCommand Workflow
sidebar_title: SSH ProxyCommand Workflow
page_title: SSH ProxyCommand Workflow
description: How to manage SSH proxy configuration with Boundary
---
# SSH ProxyCommand Workflow
# SSH ProxyCommand Workflow
The most common pattern for using Boundary to SSH is with the built-in `boundary connect ssh` command. However,
there are more idomatic approaches that can be employed to make Boundary transparent to users, and at the same
time simplify common developer and operator workflows. Using `ProxyCommand` to execute a proxy when invoking the
SSH client is a common practice. In this workflow, we'll cover configuring your SSH client to execute the
SSH client is a common practice. In this workflow, we'll cover configuring your SSH client to execute the
`boundary` command, enabling a simplified SSH workflow that leverages Boundary's authenticated proxy for accessing
targets.
@@ -23,17 +22,17 @@ Host ttcp_*
ProxyCommand sh -c "boundary connect -target-id %h -exec nc -- {{boundary.ip}} {{boundary.port}}"
```
The `ProxyCommand` tells the SSH client to invoke `boundary connect`. We are passing the `-exec nc` flag to
The `ProxyCommand` tells the SSH client to invoke `boundary connect`. We are passing the `-exec nc` flag to
`boundary connect` to wrap [netcat](http://netcat.sourceforge.net/), and then pass the `boundary.ip` and `boundary.port`
varibles as arguments to `nc`. This allows us to proxy our SSH connection through a local netcat tunnel that's
managed as a Boundary session.
When you run `ssh ttcp_1234567890` (example target ID), SSH will invoke `boundary connect`, and will tunnel the traffic through
When you run `ssh ttcp_1234567890` (example target ID), SSH will invoke `boundary connect`, and will tunnel the traffic through
the local Boundary proxy in a wrapped netcat session, passing in the target ID as the hostname to the `boundary` command.
## Authenticate to Boundary
Before `ssh` can invoke `boundary connect` you need to authenticate. In this example, we're using `boundary dev` with the
Before `ssh` can invoke `boundary connect` you need to authenticate. In this example, we're using `boundary dev` with the
default username (admin) and password (password):
```bash
@@ -42,14 +41,14 @@ $ boundary authenticate password -login-name=admin -password password -auth-meth
## SSH to Target
Running Boundary in [dev mode](https://www.boundaryproject.io/docs/getting-started#what-is-dev-mode) creates other
Running Boundary in [dev mode](https://www.boundaryproject.io/docs/getting-started#what-is-dev-mode) creates other
default resources such as a target and auth method. The default target (ttcp_1234567890) is already setup with a host
at `localhost` and a default port of `22`.
at `localhost` and a default port of `22`.
You can simply run `ssh` as you normally would and all the traffic will be proxied over the Boundary proxy to your target machine:
```bash
$ ssh ttcp_1234567890
$ ssh ttcp_1234567890
Password:
Last login: Thu Nov 19 10:32:09 2020
➜ ~
@@ -98,13 +97,13 @@ Session information:
# Advanced Usage
Another way to access targets using ProxyCommand is by setting the `Host` value to the target domain instead of the target ID.
This is useful if you want to use the domain name instead of the target ID when forking SSH. An extra step is required to make this
Another way to access targets using ProxyCommand is by setting the `Host` value to the target domain instead of the target ID.
This is useful if you want to use the domain name instead of the target ID when forking SSH. An extra step is required to make this
work where you must authorize the session to the target and store it in your environment since we're no longer passing the target
ID to the SSH command. This will allow Boundary to pull the target information from the token you created in the `authorize session`
command.
command.
## Configure SSH
## Configure SSH
```bash
Host localhost
@@ -114,7 +113,7 @@ Host localhost
## Authenticate to Boundary
Before `ssh` can invoke `boundary connect` you need to authenticate. In this example, we're using `boundary dev` with the
Before `ssh` can invoke `boundary connect` you need to authenticate. In this example, we're using `boundary dev` with the
default username (admin) and password (password):
```bash
@@ -123,11 +122,11 @@ $ boundary authenticate password -login-name=admin -password password -auth-meth
## Authorize the Session
Running Boundary in [dev mode](https://www.boundaryproject.io/docs/getting-started#what-is-dev-mode) creates other
Running Boundary in [dev mode](https://www.boundaryproject.io/docs/getting-started#what-is-dev-mode) creates other
default resources such as a target and auth method. The default target (ttcp_1234567890) is already setup with a host
at `localhost` and a default port of `22`.
at `localhost` and a default port of `22`.
Authorize a session to the default target and store the token in the `BOUNDARY_CONNECT_AUTHZ_TOKEN` environment variable.
Authorize a session to the default target and store the token in the `BOUNDARY_CONNECT_AUTHZ_TOKEN` environment variable.
This will be used by Boundary when it's invoked by SSH:
```bash
@@ -135,8 +134,9 @@ $ export BOUNDARY_CONNECT_AUTHZ_TOKEN=$(boundary targets authorize-session -id t
```
## SSH to Target
```bash
$ ssh user@localhost
$ ssh user@localhost
Password:
Last login: Thu Nov 19 10:32:09 2020
➜ ~