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:
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
|
||||
➜ ~
|
||||
|
||||
Reference in new issue
Block a user