From 19bee0b3bcdb12ce6f2389a37a93976f346aa8b0 Mon Sep 17 00:00:00 2001 From: Jeff Malnick Date: Thu, 24 Sep 2020 10:14:25 -0700 Subject: [PATCH] docs: clean up side bar and navigation, add getting started (#418) --- website/data/docs-navigation.js | 17 +- website/package-lock.json | 2 +- .../domain-model}/actions.mdx | 0 .../domain-model}/auth-methods.mdx | 0 .../domain-model}/grants.mdx | 0 .../domain-model}/groups.mdx | 0 .../domain-model}/host-catalogs.mdx | 0 .../domain-model}/host-sets.mdx | 0 .../domain-model}/hosts.mdx | 0 .../domain-model}/index.mdx | 2 +- .../domain-model}/organization.mdx | 0 .../domain-model}/principals.mdx | 0 .../domain-model}/projects.mdx | 0 .../domain-model}/resources.mdx | 0 .../domain-model}/roles.mdx | 0 .../domain-model}/scopes.mdx | 0 .../domain-model}/targets.mdx | 0 .../domain-model}/users.mdx | 0 website/pages/docs/concepts/index.mdx | 12 + .../security-model.mdx | 0 .../pages/docs/getting-started/building.mdx | 30 +++ .../getting-started/connect-to-target.mdx | 8 + website/pages/docs/getting-started/index.mdx | 10 + .../docs/getting-started/installing/index.mdx | 11 + .../getting-started/installing/production.mdx | 246 ++++++++++++++++++ .../run-and-login.mdx} | 50 +++- website/pages/docs/introduction/index.mdx | 11 - .../introduction/reference-architecture.mdx | 11 - website/public/img/login-dev-mode.png | Bin 0 -> 133746 bytes 29 files changed, 365 insertions(+), 45 deletions(-) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/actions.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/auth-methods.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/grants.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/groups.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/host-catalogs.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/host-sets.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/hosts.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/index.mdx (87%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/organization.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/principals.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/projects.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/resources.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/roles.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/scopes.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/targets.mdx (100%) rename website/pages/docs/{introduction/concepts => concepts/domain-model}/users.mdx (100%) create mode 100644 website/pages/docs/concepts/index.mdx rename website/pages/docs/{introduction => concepts}/security-model.mdx (100%) create mode 100644 website/pages/docs/getting-started/building.mdx create mode 100644 website/pages/docs/getting-started/connect-to-target.mdx create mode 100644 website/pages/docs/getting-started/index.mdx create mode 100644 website/pages/docs/getting-started/installing/index.mdx create mode 100644 website/pages/docs/getting-started/installing/production.mdx rename website/pages/docs/{installing/dev-mode.mdx => getting-started/run-and-login.mdx} (57%) delete mode 100644 website/pages/docs/introduction/index.mdx delete mode 100644 website/pages/docs/introduction/reference-architecture.mdx create mode 100644 website/public/img/login-dev-mode.png diff --git a/website/data/docs-navigation.js b/website/data/docs-navigation.js index 99f8b9c5a..8cb50e028 100644 --- a/website/data/docs-navigation.js +++ b/website/data/docs-navigation.js @@ -8,12 +8,19 @@ export default [ { - category: 'introduction', + category: 'getting-started', + content: ['building', 'run-and-login', 'connect-to-target'], + }, + { + category: 'installing', + content: ['production'], + }, + { + category: 'concepts', content: [ 'security-model', - 'reference-architecture', { - category: 'concepts', + category: 'domain-model', content: [ 'actions', 'auth-methods', @@ -34,10 +41,6 @@ export default [ }, ], }, - { - category: 'installing', - content: ['dev-mode', 'production'], - }, { category: 'configuration', content: [ diff --git a/website/package-lock.json b/website/package-lock.json index 87da21474..f12c99552 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1,5 +1,5 @@ { - "name": "example-docs", + "name": "boundary-docs", "version": "1.0.0", "lockfileVersion": 1, "requires": true, diff --git a/website/pages/docs/introduction/concepts/actions.mdx b/website/pages/docs/concepts/domain-model/actions.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/actions.mdx rename to website/pages/docs/concepts/domain-model/actions.mdx diff --git a/website/pages/docs/introduction/concepts/auth-methods.mdx b/website/pages/docs/concepts/domain-model/auth-methods.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/auth-methods.mdx rename to website/pages/docs/concepts/domain-model/auth-methods.mdx diff --git a/website/pages/docs/introduction/concepts/grants.mdx b/website/pages/docs/concepts/domain-model/grants.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/grants.mdx rename to website/pages/docs/concepts/domain-model/grants.mdx diff --git a/website/pages/docs/introduction/concepts/groups.mdx b/website/pages/docs/concepts/domain-model/groups.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/groups.mdx rename to website/pages/docs/concepts/domain-model/groups.mdx diff --git a/website/pages/docs/introduction/concepts/host-catalogs.mdx b/website/pages/docs/concepts/domain-model/host-catalogs.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/host-catalogs.mdx rename to website/pages/docs/concepts/domain-model/host-catalogs.mdx diff --git a/website/pages/docs/introduction/concepts/host-sets.mdx b/website/pages/docs/concepts/domain-model/host-sets.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/host-sets.mdx rename to website/pages/docs/concepts/domain-model/host-sets.mdx diff --git a/website/pages/docs/introduction/concepts/hosts.mdx b/website/pages/docs/concepts/domain-model/hosts.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/hosts.mdx rename to website/pages/docs/concepts/domain-model/hosts.mdx diff --git a/website/pages/docs/introduction/concepts/index.mdx b/website/pages/docs/concepts/domain-model/index.mdx similarity index 87% rename from website/pages/docs/introduction/concepts/index.mdx rename to website/pages/docs/concepts/domain-model/index.mdx index b50228d1d..c46649f2f 100644 --- a/website/pages/docs/introduction/concepts/index.mdx +++ b/website/pages/docs/concepts/domain-model/index.mdx @@ -3,7 +3,7 @@ layout: docs page_title: Domain Model Index sidebar_title: Domain Model description: |- - Reference documentation for configuring Boundary + Reference documentation for Boundary's domain model. --- # Overview diff --git a/website/pages/docs/introduction/concepts/organization.mdx b/website/pages/docs/concepts/domain-model/organization.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/organization.mdx rename to website/pages/docs/concepts/domain-model/organization.mdx diff --git a/website/pages/docs/introduction/concepts/principals.mdx b/website/pages/docs/concepts/domain-model/principals.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/principals.mdx rename to website/pages/docs/concepts/domain-model/principals.mdx diff --git a/website/pages/docs/introduction/concepts/projects.mdx b/website/pages/docs/concepts/domain-model/projects.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/projects.mdx rename to website/pages/docs/concepts/domain-model/projects.mdx diff --git a/website/pages/docs/introduction/concepts/resources.mdx b/website/pages/docs/concepts/domain-model/resources.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/resources.mdx rename to website/pages/docs/concepts/domain-model/resources.mdx diff --git a/website/pages/docs/introduction/concepts/roles.mdx b/website/pages/docs/concepts/domain-model/roles.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/roles.mdx rename to website/pages/docs/concepts/domain-model/roles.mdx diff --git a/website/pages/docs/introduction/concepts/scopes.mdx b/website/pages/docs/concepts/domain-model/scopes.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/scopes.mdx rename to website/pages/docs/concepts/domain-model/scopes.mdx diff --git a/website/pages/docs/introduction/concepts/targets.mdx b/website/pages/docs/concepts/domain-model/targets.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/targets.mdx rename to website/pages/docs/concepts/domain-model/targets.mdx diff --git a/website/pages/docs/introduction/concepts/users.mdx b/website/pages/docs/concepts/domain-model/users.mdx similarity index 100% rename from website/pages/docs/introduction/concepts/users.mdx rename to website/pages/docs/concepts/domain-model/users.mdx diff --git a/website/pages/docs/concepts/index.mdx b/website/pages/docs/concepts/index.mdx new file mode 100644 index 000000000..a14054791 --- /dev/null +++ b/website/pages/docs/concepts/index.mdx @@ -0,0 +1,12 @@ +--- +layout: docs +page_title: Concepts +sidebar_title: Concepts +description: |- + An introduction to Boundary concepts and architecture. +--- + +# Concepts + +There are several concepts in Boundary that are important to understand. These concepts include our [security model](/docs/concepts/security-model), our [domain model](/docs/concepts/domain-model), and +our general recommendations for [deployment architecture](/docs/installing/production). diff --git a/website/pages/docs/introduction/security-model.mdx b/website/pages/docs/concepts/security-model.mdx similarity index 100% rename from website/pages/docs/introduction/security-model.mdx rename to website/pages/docs/concepts/security-model.mdx diff --git a/website/pages/docs/getting-started/building.mdx b/website/pages/docs/getting-started/building.mdx new file mode 100644 index 000000000..1f368aa79 --- /dev/null +++ b/website/pages/docs/getting-started/building.mdx @@ -0,0 +1,30 @@ +--- +layout: docs +page_title: Documentation +sidebar_title: Building +description: Building Boundary +--- + +# Building Boundary + +Building Boundary from source has a few requirements: + +- [Golang](https://golang.org/dl/) 1.15 or greater +- `make` installed +- [Docker](https://docs.docker.com/get-docker/) installed +- Basic development environment (git, xcode if you're on Mac, etc) + +1. `git clone https://github.com/hashicorp/boundary` or if you're using SSH auth for + github, `git clone git@github.com:hashicorp/boundary` +2. `cd boundary` +3. `make dev` + +Once you've built Boundary, the binary will be available at `/bin/boundary`. Move this +binary to somewhere in your `$PATH` such as `/usr/local/bin`. + +## Cross Platform Build + +If you need to cross compile boundary for another OS or architecture, use the [XC_OSARCH](https://github.com/hashicorp/boundary/blob/master/scripts/build.sh#L26) +environment variable to set this. Example: `XC_OSARCH=linux/amd64 make dev` + +For more details, please consult the [Boundary project on GitHub](https://github.com/hashicorp/boundary#build-and-start-boundary-in-dev-mode). diff --git a/website/pages/docs/getting-started/connect-to-target.mdx b/website/pages/docs/getting-started/connect-to-target.mdx new file mode 100644 index 000000000..f6152fd01 --- /dev/null +++ b/website/pages/docs/getting-started/connect-to-target.mdx @@ -0,0 +1,8 @@ +--- +layout: docs +page_title: Documentation +sidebar_title: Connect to Target +description: Connecting to your first target +--- + +# Connect to Your First Target diff --git a/website/pages/docs/getting-started/index.mdx b/website/pages/docs/getting-started/index.mdx new file mode 100644 index 000000000..c7d0c7c2b --- /dev/null +++ b/website/pages/docs/getting-started/index.mdx @@ -0,0 +1,10 @@ +--- +layout: docs +page_title: Documentation +sidebar_title: Getting Started +description: Getting started with Boundary +--- + +# Getting Started + +Before getting started with Boundary, it's important to understand a few key concepts. Please consult our [Boundary concepts](/docs/concepts) page to familiarize yourself with Boundary's architecture, and terminology. diff --git a/website/pages/docs/getting-started/installing/index.mdx b/website/pages/docs/getting-started/installing/index.mdx new file mode 100644 index 000000000..233d53327 --- /dev/null +++ b/website/pages/docs/getting-started/installing/index.mdx @@ -0,0 +1,11 @@ +--- +layout: docs +page_title: Installing Boundary +sidebar_title: Installing +description: |- + How to install boundary. +--- + +# Overview + +This section covers installing Boundary for development and production modes of operation. diff --git a/website/pages/docs/getting-started/installing/production.mdx b/website/pages/docs/getting-started/installing/production.mdx new file mode 100644 index 000000000..92c6756cc --- /dev/null +++ b/website/pages/docs/getting-started/installing/production.mdx @@ -0,0 +1,246 @@ +--- +layout: docs +page_title: Production Installation +sidebar_title: Production Install +description: |- + How to install Boundary in a production environment +--- + +# Production Installation + +Installing Boundary in a production setting requires prerequisits for infrastructure. At the most basic level, Boundary operators should run a minimum of 3 controllers and 3 workers. Running 3 of each server type gives a fundamental level of high availability for the control plane (controller), as well as bandwith for number of sessions on the data plane (worker). Both server type should be ran in a fault tolerant setting, that is, in a self-healing environmnet such as an auto-scaling group. The documentation here does not cover self-healing infrastructure and assumes the operator has their preferred scheduling methods for these environments. + +## Network Requirements + +- Client -> Controller port is :9200 +- Controller -> Worker port is :9201 +- Client must have access to Controller on :9200 +- :9201 must be open between Worker and Controller +- Workers must have a route and port access to the targets which they service + +## Architecture + +The general architecture for the server infrastructure requires 3 controllers and 3 workers. The documentation here uses virtual machines running on Amazon EC2 as the example environment, but this use +case can be extrapolated to almost any cloud platform to suit operator needs: + +![](/img/production.png) + +As shown above, Boundary is broken up into its controller and worker server components across 3 [EC2 instances](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance), in +3 separate [subnets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet), in three separate [availability zones](), with the controller API and UI being publically exposed by an [application load balancer (ALB)](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb). The worker and controller VM's are in independant [auto-scaling groups](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group), allowing them to maintain their exact capacity. + +Boundary requires an external [Postgres](https://www.postgresql.org/) and [KMS](https://aws.amazon.com/kms/). In the example above, we're using AWS managed services for these components. For Postgres, we're using [RDS](https://aws.amazon.com/rds/) and for KMS we're using Amazon's [Key Management Service](https://aws.amazon.com/kms/). + +## Architecture Breakdown + +### API and Console Load Balancer + +Load balancing the controller allows operators to secure the ingress to the Boundary system. We recommend placing all Boundary server's in private networks and using load balancing tecniques to expose services such as the API and administrative console to public networks. In the production architecture, we recommend load balancing using a layer 7 load balancer and further constraining ingress to that load balancer with layer 4 constraints such as [security groups](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) or [IP tables](https://wiki.archlinux.org/index.php/Iptables). + +For general configuration, we recommend the following: + +- HTTPS listener with valid TLS certificate for the domain it's serving or TLS passthrough +- Health check port should use :9200 with TCP protocol + +### Controller Configuration + +When running Boundary controller as a service we recommend storing the file at `/etc/boundary-controller.hcl`. A `boundary` user and group should exist to manage this configuration file and to further restrict who can read and modify it. + +Example controller configuration: + +```hcl +# Disable memory lock: https://www.man7.org/linux/man-pages/man2/mlock.2.html +disable_mlock = true + +telemetry { + # TODO: prometheus is not currently implemented + prometheus_retention_time = "24h" + disable_hostname = true +} + +# Controller configuration block +controller { + # This name attr must be unique! + name = "demo-controller-${count.index}" + # Description of this controller + description = "A controller for a demo!" +} + +# API listener configuration block +listener "tcp" { + # Should be the address of the NIC that the controller server will be reached on + address = "${self.private_ip}:9200" + # The purpose of this listener block + purpose = "api" + # Should be enabled for production installs + tls_disable = true + # TODO + # proxy_protocol_behavior = "allow_authorized" + # TODO + # proxy_protocol_authorized_addrs = "127.0.0.1" + # Enable CORS for the Admin UI + cors_enabled = true + cors_allowed_origins = ["*"] +} + +# Data-plane listener configuration block (used for worker coordination) +listener "tcp" { + # Should be the IP of the NIC that the worker will connect on + address = "${self.private_ip}:9201" + # The purpose of this listener + purpose = "cluster" + # Should be enabled for production installs + tls_disable = true + # TODO + # proxy_protocol_behavior = "allow_authorized" + # TODO + # proxy_protocol_authorized_addrs = "127.0.0.1" +} + +# Root KMS configuration block: this is the root key for Boundary +# Use a production KMS such as AWS KMS in production installs +kms "aead" { + purpose = "root" + aead_type = "aes-gcm" + key = "sP1fnF5Xz85RrXyELHFeZg9Ad2qt4Z4bgNHVGtD6ung=" + key_id = "global_root" +} + +# Worker authorization KMS +# Use a production KMS such as AWS KMS for production installs +# This key is the same key used in the worker configuration +kms "aead" { + purpose = "worker-auth" + aead_type = "aes-gcm" + key = "8fZBjCUfN0TzjEGLQldGY4+iE9AkOvCfjh7+p0GtRBQ=" + key_id = "global_worker-auth" +} + +# Recovery KMS block: configures the recovery key for Boundary +# Use a production KMS such as AWS KMS for production installs +kms "aead" { + purpose = "recovery" + aead_type = "aes-gcm" + key = "8fZBjCUfN0TzjEGLQldGY4+iE9AkOvCfjh7+p0GtRBQ=" + key_id = "global_recovery" +} + +# Database URL for postgres, can be overridden with PG_URL +database { + url = "postgresql://boundary:boundarydemo@${aws_db_instance.boundary.endpoint}/boundary" +} +``` + +### Worker Configuration + +```hcl +listener "tcp" { + purpose = "proxy" + tls_disable = true + #proxy_protocol_behavior = "allow_authorized" + #proxy_protocol_authorized_addrs = "127.0.0.1" +} + +worker { + # Name attr must be unique + name = "demo-worker-${count.index}" + description = "A default worker created demonstration" + controllers = [ + "${aws_instance.controller[0].private_ip}", + "${aws_instance.controller[1].private_ip}", + "${aws_instance.controller[2].private_ip}" + ] +} + +# must be same key as used on controller config +kms "aead" { + purpose = "worker-auth" + aead_type = "aes-gcm" + key = "8fZBjCUfN0TzjEGLQldGY4+iE9AkOvCfjh7+p0GtRBQ=" + key_id = "global_worker-auth" +} +``` + +name must be unique! + +### Installation + +`TYPE` below can be either `worker` or `controller`. + +1. `/etc/boundary-${TYPE}.hcl`: Configuration file for the boundary service + See above example configurations. + +2. `/usr/local/bin/boundary`: The Boundary binary + Can build from https://github.com/hashicorp/boundary or download binary from our release pages. + +3. `/etc/systemd/system/boundary-${TYPE}.service`: Systemd unit file for the Boundary service + Example: + +``` +[Unit] +Description=${NAME} ${TYPE} + +[Service] +ExecStart=/usr/local/bin/${NAME} ${TYPE} -config /etc/${NAME}-${TYPE}.hcl +User=boundary +Group=boundary +LimitMEMLOCK=infinity +Capabilities=CAP_IPC_LOCK+ep +CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK + +[Install] +WantedBy=multi-user.target +``` + +Here's a simple install script that creates the boundary group and user, installs the +systemd unit file and enables it at startup: + +``` +#!/bin/bash +# Installs the boundary as a service for systemd on linux +# Usage: ./install.sh + +TYPE=$1 +NAME=boundary + +sudo cat << EOF > /etc/systemd/system/${NAME}-${TYPE}.service +[Unit] +Description=${NAME} ${TYPE} + +[Service] +ExecStart=/usr/local/bin/${NAME} ${TYPE} -config /etc/${NAME}-${TYPE}.hcl +User=boundary +Group=boundary +LimitMEMLOCK=infinity +Capabilities=CAP_IPC_LOCK+ep +CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK + +[Install] +WantedBy=multi-user.target +EOF + +# Add the boundary system user and group to ensure we have a no-login +# user capable of owning and running Boundary +sudo adduser --system --group boundary || true +sudo chown boundary:boundary /etc/${NAME}-${TYPE}.hcl +sudo chown boundary:boundary /usr/local/bin/boundary + +# Make sure to initialize the DB before starting the service. This will result in +# a database already initizalized warning if another controller or worker has done this +# already, making it a lazy, best effort initialization +if [ "${TYPE}" = "controller" ]; then + sudo /usr/local/bin/boundary database init -config /etc/${NAME}-${TYPE}.hcl || true +fi + +sudo chmod 664 /etc/systemd/system/${NAME}-${TYPE}.service +sudo systemctl daemon-reload +sudo systemctl enable ${NAME}-${TYPE} +sudo systemctl start ${NAME}-${TYPE} +``` + +### Postgres Configuration + +TBD + +### KMS Configuration + +TBD diff --git a/website/pages/docs/installing/dev-mode.mdx b/website/pages/docs/getting-started/run-and-login.mdx similarity index 57% rename from website/pages/docs/installing/dev-mode.mdx rename to website/pages/docs/getting-started/run-and-login.mdx index e63f6958d..992585117 100644 --- a/website/pages/docs/installing/dev-mode.mdx +++ b/website/pages/docs/getting-started/run-and-login.mdx @@ -1,16 +1,18 @@ --- layout: docs -page_title: Development Mode -sidebar_title: Dev Mode +page_title: Run and Login +sidebar_title: Run and Login description: |- - How to install Boundary in development mode + How to run Boundary services in dev mode and login for the first time. --- -# Development Mode +# Run and Login to Boundary + +Before you can do anything with Boundary, you need to get the Boundary services up and running for the first time. To do this, we're going to run Boundary in `dev` mode. Dev mode is an all-in-one installation method for getting started with Boundary quickly. As the name implies, dev mode is not a production installation method, but instead a way to get Boundary running with a Postgres -database easily. Do not use dev mode in a production environment, see our "Production Installation" section for +database easily. Do not use dev mode in a production environment, see [Poduction Installation](/docs/installing/production) section for production ready deployment methods. Dev mode brings up a fully functioning instance of Boundary, including: @@ -23,19 +25,19 @@ These components should all be considered ephemeral - no data persistence occurs strongly recommended that users leverage our [Terraform Provider for Boundary](https://github.com/hashicorp/terraform-provider-boundary) for managing configuration of Boundary. This will simplify starting up and shutting down your Boundary dev instance. -## Assumptions +## Requiements There are a few requirements for running dev mode: 1. Docker is installed 2. A route to download the [Postgres Docker image](https://hub.docker.com/_/postgres) is available or a local image cache is available -## Run +## Start Boundary Services To start Boundary in dev mode: ```bash -./boundary dev +boundary dev ``` The above is the most simple way to start the Boundary server in dev mode. However, there are likely some overrides you'll want to configure when @@ -48,13 +50,31 @@ doing so, these include: To use these overrides, set the following flags: ```bash -./boundary dev -dev-auth-method-id=ampw_0000000000 -dev-password=foofoofoo -dev-login-name=foo +boundary dev -dev-auth-method-id=ampw_0000000000 -dev-password=foofoofoo -dev-login-name=foo ``` Setting these allows you to configure hardcoded auth method ID, password, and login name. You can then use these hardcoded values when configuring clients such as the Terraform Provider, or when logging into the admin console. -An example using these values to configure your Terraform provider instance for Boundary: +## Login to Boundary + +You can use the values from the above example to authenticate. + +For CLI users, you can override using flags: + +``` +# Boundary uses http not https in dev mode +export BOUNDARY_ADDR=http://127.0.0.1:9200 +boundary authenticate password -login-name=foo -password foofoofoo -auth-method-id=ampw_0000000000 +``` + +The authenticate to the Admin UI, open [http://127.0.0.1:9200](http://127.0.0.1:9200) in a browser and enter the hard coded login name and password: + +![](/img/login-dev-mode.png) + +Note: Opening `127.0.0.1:9200` will redirect you to the auth method set in the global scope, which is shown in the image above. + +And of course, you can also use these overrides to configure the [Terraform provider for Boundary](https://github.com/hashicorp/terraform-provider-boundary): ```hcl provider "boundary" { @@ -69,12 +89,14 @@ Note in the example above we're setting `base_url` to `http` and not `https` as ## User Interface +If you want to develop the Admin UI locally: + The UI is normally compiled into the Boundary binary at build time. However, it would be impractical to rebuild the binary on every change when -actively developing the UI. To make UI development more convenient, the binary -supports a _passthrough directory_. This is an arbitrary local -directory from which UI assets are served. Note this option is only available -in dev mode. For example: +actively developing the UI. To make UI development more convenient, the binary +supports a _passthrough directory_. This is an arbitrary local +directory from which UI assets are served. Note this option is only available +in dev mode. For example: ```bash BOUNDARY_DEV_PASSTHROUGH_DIRECTORY=../boundary-ui/ui/core/dist ./boundary dev diff --git a/website/pages/docs/introduction/index.mdx b/website/pages/docs/introduction/index.mdx deleted file mode 100644 index 0ef1121ea..000000000 --- a/website/pages/docs/introduction/index.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: docs -page_title: Introduction Index -sidebar_title: Introduction -description: |- - An introduction to Boundary including concepts and architecture. ---- - -# Introduction - -Lorum ipsum diff --git a/website/pages/docs/introduction/reference-architecture.mdx b/website/pages/docs/introduction/reference-architecture.mdx deleted file mode 100644 index 0a9d21b61..000000000 --- a/website/pages/docs/introduction/reference-architecture.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: docs -page_title: Architecture -sidebar_title: Reference Architecture -description: |- - Boundary reference architecture and considerations ---- - -# Overview - -When deploying Boundary in an on premise environment some considerations should be taken. The aim of this document is to provide minimum requirements for deploying Boundary and a reference architecture model to follow in doing so. diff --git a/website/public/img/login-dev-mode.png b/website/public/img/login-dev-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..44756f75903944d55fbcb157d48a25f3520e936a GIT binary patch literal 133746 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

q#$0YtL!90=IwKbzVdlI|bLr8z+{DYW!sF7b zJGx)_YW10IM!4{c7VuhPbWJ+T0kyC&;Q9&c2y24Z5%i~Sz@8Jrf*eIngH4;d!NJ4_R6(Jti7`<(eZgv=P=-=oMD)ZUvxo<|C*hitA{5{Pbs>$T{{gqZ6^q zxERmwMs$8ZXhPCASaz_PLpAr>?Z%TN(z9KS1BvHw2?uXZkVtcljk51qs&pV2Q$EQo z`wzY)!jFqMQH&cE;~YO3iS*73^K@lPqEU z$)!Bgo{dH~fMYmx5EWGs9udOdwedwP*W%Ox3{Bxy$|3+-`W5yzujH;hw`~6c1lC+YN6|KD6xzeL|3KW5Zo`1Rj^PtxN9DC7?%)O+jxpM#Rj5&O9k|M7c8*b+rYKBb=% z{{3rD?z{f;2M6E61s$6*{fAUw;eR(>LYS$MI7Ie&*z`7$)_` zw5*Pe;*)eDHg}XUMs8R1Z--LARl5-Q_2_O94gAE8ZJ*?l*>XWI`@fgLzqk3%GxVzx z_@8u}&+Yv2#~(X8RJ^m@Kl{K;_Z<$7lGzgf(X}LTd6s!eZ~r^{c-AO!pR43IUvbjK zYe>8xF*zvx;?5uLWTgAgzwlX78Yj`hXIAyN(PF*BJ3HFn+c*6I)4yFO*i~vC1LX;t zD?@9p5muRa{=Y86UsvZr{NSsx*GP0vYv$uvhJN{E*Cg>!kRZVv_W0)?%YjMB$&wNA z-%Pdc#((}DelXaSy2^U||J7ED`KQf;v7JYZ%J>qq|7xs>|Ce)rLm8~fYmR;Y)mn2q z^j|K~c+feo7m5V`c|`beTSxw~-G2KYiECh2GLP6=|2KmhOZA^NBW?s9ufedCubCSC z&%MBnfYE1#_rDlI%wSoD26xo|HQR|1^-TjpPoYdM-3QN~v#8VM)zY z2>sNarHlF~Z%ZIrlxzFOHRQO1!CL&M>aM%l)m+85RSLG$OIg2@H~w;o#J&LicS}UD z2v?j%EpvO7x5_KDKk8y1np4nSrC=i|+Tfkz+Yip^Cu*4BA_>e+{9A!0*@C`KYmCJa zZFvZhoIe&v5%!*?uDRIp#)&(ZL>IDkD1{Ab7(<~!hmLg)x6_NOhT;TqY*Vunf9p*X z8MtTIcoSlF{}da5_u}cewObR@bb(t3>i)UP7j&z~qA1;L`_|?r)ayrt%d(9+xaVT& zJ*{1mBH^a7T8Rb-XixLUz5%B`_oDU&j_74l^|qFzjoa59C#O3C3ok6YjI{V%2h0=G zWi~gQgHYw(N`y?}QDkKShQ6V?@$wo5%^$dLuX7p%baiu$&Cib&&J8~dLZ!?q5YD

cbBV>o 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%0AZaDJ$>&`2{C#NU7}k^UCR!$R=2~bz5MozE{Xh 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