Skip to content

Commit

Permalink
Docker install doc updates (gravitational#19783)
Browse files Browse the repository at this point in the history
* Includes in commericial pre-req to have a enterprise account.  Uses includes on how to get a license file.

* Showed how to use the arm version. Removed comment that only x86_64 are provided.

* includes amd64, arm and arm64 include descriptions

* Updates to GCp to show enterprise installation.
  • Loading branch information
stevenGravy authored Jan 23, 2023
1 parent ddd1055 commit dfd3acb
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 60 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -161,15 +161,7 @@ app_service:
### Obtain your license file
The `teleport` binary reads a local license file to authenticate your Teleport
Enterprise account.

To obtain your license file, visit the [Teleport customer
dashboard](https://dashboard.gravitational.com/web/login) and log in. Click
"DOWNLOAD LICENSE KEY". You will see your current Teleport Enterprise account
permissions and the option to download your license file:

![License File modal](../../../img/enterprise/license.png)
(!docs/pages/includes/enterprise/obtainlicense.mdx!)
Save your license file on the host where you will install Teleport at the path,
`/var/lib/teleport/license.pem`.
Expand Down
48 changes: 48 additions & 0 deletions docs/pages/deploy-a-cluster/deployments/gcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,8 @@ Follow install instructions from our [installation page](../../installation.mdx#

We recommend configuring Teleport as per the below steps:

<Tabs>
<TabItem label="Open Source">
**1. Configure Teleport Auth Server** using the below example `teleport.yaml`, and start it
using [systemd](https://raw.githubusercontent.com/gravitational/teleport/master/examples/systemd/teleport.service)
or use DEB/RPM packages available from our [Downloads Page](https://goteleport.com/download/).
Expand Down Expand Up @@ -260,6 +262,52 @@ proxy_service:
ssh_service:
enabled: false
```
</TabItem>
<TabItem label="Enterprise" label="Enterprise" scope={["enterprise"]}>
**1. Configure Teleport Auth Server** using the below example `teleport.yaml`, and start it
using [systemd](https://raw.githubusercontent.com/gravitational/teleport/master/examples/systemd/teleport.service)
or use DEB/RPM packages available from the [Customer Portal](https://dashboard.gravitational.com).

```yaml
#
# Sample Teleport configuration teleport.yaml file for Auth Server
#
teleport:
nodename: teleport-auth-server
data_dir: /var/lib/teleport
pid_file: /run/teleport.pid
connection_limits:
max_connections: 15000
max_users: 250
log:
output: stderr
severity: DEBUG
storage:
type: firestore
collection_name: Example_FIRESTORE_CLUSTER_STATE
# Credentials: Path to google service account file, used for Firestore and Google Storage.
credentials_path: Example_GCP_CREDENTIALS
project_id: Example_GCP_PROJECT
audit_events_uri: 'firestore://Example_FIRESTORE_AUDIT_LOGS?projectID=Example_GCP_PROJECT&credentialsPath=Example_GCP_CREDENTIALS'
audit_sessions_uri: 'gs://Example_BUCKET_NAME?projectID=Example_GCP_PROJECT&credentialsPath=Example_GCP_CREDENTIALS'
auth_service:
enabled: true
license_file: /var/lib/teleport/license.pem
tokens:
- "proxy:(= presets.tokens.first =)"
- "node:(= presets.tokens.second =)"
proxy_service:
enabled: false
ssh_service:
enabled: false
```

(!docs/pages/includes/enterprise/obtainlicense.mdx!)

Save your license file on the Auth Servers at the path,
`/var/lib/teleport/license.pem`.
</TabItem>
</Tabs>

**2. Set up Proxy**

Expand Down
18 changes: 18 additions & 0 deletions docs/pages/includes/docker-images-oss.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
We provide pre-built `amd64`, `arm`, and `arm64` Docker images for every version of Teleport.

These images are hosted on Amazon ECR Public. All tags under `public.ecr.aws/gravitational/teleport` [are Teleport Open Source images](https://gallery.ecr.aws/gravitational/teleport).
You can specify the architecture of a Teleport Docker image by adding a postfix to the image tag, e.g., `public.ecr.aws/gravitational/teleport:(=teleport.major_version=)-arm64`. Versions without an architecture postfix use the `amd64` architecture, e.g., `public.ecr.aws/gravitational/teleport:(=teleport.major_version=)`.

The table below gives an idea of how our image naming scheme works. We offer
images that point to a static version of Teleport as well as images that are
automatically rebuilt every night. These nightly images point to the latest
version of Teleport from the three most recent release branches. They are
stable, and we recommend their use to keep your Teleport installation up to
date.

|Image name|Teleport version|Image automatically updated?|Image base|
|-|-|-|-|
|`public.ecr.aws/gravitational/teleport:(=teleport.major_version=)`|The latest version of Teleport Open Source|Yes|[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)|
|`(=teleport.latest_oss_docker_image=)`|The version specified in the image's tag (i.e. (=teleport.version=))|No|[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)|

For testing, we always recommend that you use the latest released version of Teleport, which is currently `(=teleport.latest_oss_docker_image=)`.
3 changes: 3 additions & 0 deletions docs/pages/includes/enterprise/docker-images.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ automatically rebuilt every night.
Nightly images point to the latest version of Teleport Enterprise from the three most recent release branches.
They are stable, and we recommend their use to easily keep your Teleport Enterprise installation up to date.

These images are hosted on our [Amazon ECR Public repository](https://gallery.ecr.aws/gravitational/teleport-ent). All tags under `public.ecr.aws/gravitational/teleport-ent` are Teleport Enterprise images.
You can specify the architecture of a Teleport Docker image by adding a postfix to the image tag, e.g., `public.ecr.aws/gravitational/teleport:(=teleport.major_version=)-arm64`. Versions without an architecture postfix use the `amd64` architecture, e.g., `public.ecr.aws/gravitational/teleport:(=teleport.major_version=)`.

| Image name | Open Source or Enterprise? | Teleport version | Image automatically updated? | Image base |
| - | - | - | - | - |
| `public.ecr.aws/gravitational/teleport-ent:(=teleport.major_version=)` | Enterprise | The latest version of Teleport Enterprise (=teleport.major_version=) | Yes | [Ubuntu 20.04](https://hub.docker.com/\_/ubuntu) |
Expand Down
9 changes: 9 additions & 0 deletions docs/pages/includes/enterprise/obtainlicense.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
The `teleport` binary reads a local license file to authenticate your Teleport
Enterprise account.

To obtain your license file, visit the [Teleport customer
dashboard](https://dashboard.gravitational.com/web/login) and log in. Click
"DOWNLOAD LICENSE KEY". You will see your current Teleport Enterprise account
permissions and the option to download your license file:

![License File modal](../../../img/enterprise/license.png)
23 changes: 3 additions & 20 deletions docs/pages/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,32 +71,15 @@ information on obtaining Teleport binaries compatible with Teleport Cloud.

<Tabs>
<TabItem scope={["oss"]} label="Open Source">
We provide pre-built Docker images for every version of Teleport.

These images are hosted on Amazon ECR Public. All tags under
`public.ecr.aws/gravitational/teleport`
[are Teleport Open Source images](https://gallery.ecr.aws/gravitational/teleport).

The table below gives an idea of how our image naming scheme works. We offer
images that point to a static version of Teleport as well as images that are
automatically rebuilt every night. These nightly images point to the latest
version of Teleport from the three most recent release branches. They are
stable, and we recommend their use to keep your Teleport installation up to
date.

|Image name|Teleport version|Image automatically updated?|Image base|
|-|-|-|-|
|`public.ecr.aws/gravitational/teleport:(=teleport.major_version=)`|The latest version of Teleport Open Source|Yes|[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)|
|`(=teleport.latest_oss_docker_image=)`|The version specified in the image's tag (i.e. (=teleport.version=))|No|[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)|

For testing, we always recommend that you use the latest released version of Teleport, which is currently `(=teleport.latest_oss_docker_image=)`.
(!docs/pages/includes/docker-images-oss.mdx!)

For instructions on running containers with these images, see
[Getting started with Teleport using Docker](./management/guides/docker.mdx).

</TabItem>
<TabItem scope={["enterprise", "cloud"]} label="Commercial">
We provide pre-built Docker images for every version of Teleport.

We provide pre-built `amd64`, `arm`, and `arm64` Docker images for every version of Teleport Enterprise.

(!docs/pages/includes/enterprise/docker-images.mdx!)

Expand Down
48 changes: 18 additions & 30 deletions docs/pages/management/guides/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ Service) or explore the Auth and Proxy Services locally.
<Tabs>
<TabItem scope={["oss"]} label="Open Source">

- Docker v(=docker.version=) or later. We currently only offer Docker images for
`x86_64` architectures.
- Docker v(=docker.version=) or later.

```code
$ docker version
Expand All @@ -34,8 +33,10 @@ $ docker version
</TabItem>
<TabItem scope={["cloud", "enterprise"]} label="Commercial">

- Docker v(=docker.version=) or later. We currently only offer Docker images for
`x86_64` architectures.
- A Teleport Enterprise account. If you do not have one, use our [signup
form](https://goteleport.com/signup/enterprise/) to schedule a demo with the
Teleport Sales Team.
- Docker v(=docker.version=) or later.

```code
$ docker version
Expand All @@ -52,30 +53,10 @@ $ docker version

<Tabs>
<TabItem scope={["oss"]} label="Open Source">
We provide pre-built Docker images for every version of Teleport.

These images are hosted on Amazon ECR Public. All tags under `public.ecr.aws/gravitational/teleport` [are Teleport Open Source images](https://gallery.ecr.aws/gravitational/teleport).

The table below gives an idea of how our image naming scheme works. We offer images that
point to a static version of Teleport, as well as images that are automatically rebuilt
every night. These nightly images point to the latest version of Teleport from the
three most recent release branches. They are stable, and we recommend their use to
keep your Teleport installation up to date.

<table>
<thead>
<tr><td>Image name</td><td>Teleport version</td><td>Image automatically updated?</td><td>Image base</td></tr>
</thead>
<tbody>
<tr><td>`public.ecr.aws/gravitational/teleport:(=teleport.major_version=)`</td><td>The latest version of Teleport Open Source (=teleport.major_version=)</td><td>Yes</td><td>[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)</td></tr>
<tr><td>`(=teleport.latest_oss_docker_image=)`</td><td>The version specified in the image's tag (i.e. (=teleport.version=))</td><td>No</td><td>[Ubuntu 20.04](https://hub.docker.com/\_/ubuntu)</td></tr>
</tbody>
</table>

For testing, we always recommend that you use the latest release version of Teleport, which is currently `(=teleport.latest_oss_docker_image=)`.
(!docs/pages/includes/docker-images-oss.mdx!)
</TabItem>
<TabItem scope={["enterprise", "cloud"]} label="Commercial">
We provide pre-built Docker images for every version of Teleport.
We provide pre-built `amd64`, `arm`, and `arm64` Docker images for every version of Teleport Enterprise.

(!docs/pages/includes/enterprise/docker-images.mdx!)

Expand All @@ -90,6 +71,9 @@ We provide pre-built Docker images for every version of Teleport.
Create Teleport configs and start the process with the following `docker run` commands:

```code
# Docker image to use. The default is the amd64 version. Add -arm64 or -arm
# to the end (ex: (=teleport.latest_oss_docker_image=)-arm64 to get the arm versions.
$ TELEPORT_DOCKER_IMAGE=(=teleport.latest_oss_docker_image=)
# Create local config and data directories for Teleport, which will be mounted
# into the container.
$ mkdir -p ~/teleport/config ~/teleport/data
Expand All @@ -98,13 +82,13 @@ $ mkdir -p ~/teleport/config ~/teleport/data
$ docker run --hostname localhost --rm \
--entrypoint=/bin/sh \
-v ~/teleport/config:/etc/teleport \
(=teleport.latest_oss_docker_image=) -c "teleport configure > /etc/teleport/teleport.yaml"
${TELEPORT_DOCKER_IMAGE} -c "teleport configure > /etc/teleport/teleport.yaml"
# Start Teleport with mounted config and data directories, plus all ports
$ docker run --hostname localhost --name teleport \
-v ~/teleport/config:/etc/teleport \
-v ~/teleport/data:/var/lib/teleport \
-p 3023:3023 -p 3025:3025 -p 3080:3080 \
(=teleport.latest_oss_docker_image=)
${TELEPORT_DOCKER_IMAGE}
```

</TabItem>
Expand All @@ -116,6 +100,12 @@ Create Teleport configs and start the process with the following `docker run` co
# Create local config and data directories for Teleport, which will be mounted
# into the container.
$ mkdir -p ~/teleport/config ~/teleport/data
```
(!docs/pages/includes/enterprise/obtainlicense.mdx!)

Move your `license.pem` file to `~/teleport/data`.

```code
# Generate a sample Teleport config and write it to the local config directory.
# This container will write the config and immediately exit--this is expected.
$ docker run --hostname localhost --rm \
Expand All @@ -130,8 +120,6 @@ $ docker run --hostname localhost --name teleport \
(=teleport.latest_ent_docker_image=)
```

Move your `license.pem` file to `~/teleport/data`.

</TabItem>
</Tabs>

Expand Down
9 changes: 8 additions & 1 deletion docs/pages/try-out-teleport/linux-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,13 @@ Take a look at the [Installation Guide](../installation.mdx) for more options.

</Details>

<ScopedBlock scope={["enterprise"]}>
(!docs/pages/includes/enterprise/obtainlicense.mdx!)

Save your license file on the host where you will install Teleport at the path
`/var/lib/teleport/license.pem`.
</ScopedBlock>

### Configure Teleport

Generate a configuration file for Teleport using the `teleport configure` command.
Expand Down Expand Up @@ -351,4 +358,4 @@ Teleport tasks, such as:

- How Let's Encrypt uses the [ACME protocol](https://letsencrypt.org/how-it-works/) to issue certificates.
- Configuration for the `teleport` daemon relies on [systemd](https://www.freedesktop.org/wiki/Software/systemd/). For more information on how the
`teleport` service daemon is configured, see our guide on how to [Run Teleport as a Daemon](../management/admin/daemon.mdx).
`teleport` service daemon is configured, see our guide on how to [Run Teleport as a Daemon](../management/admin/daemon.mdx).

0 comments on commit dfd3acb

Please sign in to comment.