teleport/examples/agent-pool-terraform/provider.tf
Paul Gottschling faf6dadb53
Promote IAC docs for agents and dynamic resources (#27703)
* Promote IAC docs for agents and dynamic resources

Closes #27382
Closes #25418
Closes #25442

Two aspects of setting up a Teleport cluster are omnipresent in the docs
but never get dedicated treatment:

- Running agents
- Applying dynamic resources

As a result, it is difficult to include discussions about those topics
that are separate from a specific workflow or how-to guide. One glaring
absence has been prominent guidance on using infrastructure-as-code
tools to achieve these tasks.

This change improves the visibility of Teleport's support for
infrastructure-as-code tools by:

- Creating top-level docs sections for running agents and applying
  dynamic resources
- Making IAC instructions prominent within these sections

The intention is for readers to become familiar with different methods
of applying dynamic resources and running agents, including how to do
this with IAC, so they can apply this knowledge when reading other parts
of the docs.

As a result, in the docs sidebar, the "Dynamic Resources" section comes
before the section on RBAC, and the "Teleport Agents" section comes
before the sections related to individual Teleport services
("Application Access", "Server Access", etc.).

The new section on dynamic resources also gives us a place to put other
guides to using the Terraform provider and Kubernetes Operator, e.g., if
we add guides to using these tools with popular GitOps platforms.

Likewise, the section on agents gives us a place to put other agent-wide
information, e.g., how to enable an additional Teleport service on an
instance that is already running.

To allow for these changes, I have also made the following, more
tangentially related sidebar changes:

- **Renamed sidebar sections to be noun phrases instead of verb
  phrases:** Currently, one half of the sidebar is made of imperative
  phrases like "Manage Access" and "Manage your Cluster". This doesn't
  really work for the sections on agents and dynamic resources, so I
  have renamed these sections for consistency.

- **Moved the "Manage your Cluster" and "Deploy a Cluster" sections**: I
  have arranged the sidebar so more basic topics (i.e., those that new
  users and experienced users alike will need to be familiar with) are
  on the top and more advanced ones are on the bottom.

  The other sections that are currently in the first half of the sidebar
  are topics that all Teleport users will need to get familiar with,
  while day two operations and self-hosted production deployments are
  more advanced topics.

- **Edited the landing page:** I have edited the landing page of the
  docs to reflect the new sidebar organization. This also makes the page
  shorter, simpler, and more opinionated. It spells out a high-level
  sequence for setting up Teleport, then provides a list of advanced
  topics for further reading.

  Links correspond to sidebar sections--as before, I wanted to describe
  the topic of each sidebar section so users would know this information
  without having to navigate away from the landing page.

* Move the "Dynamic Configuration" section

Make this a subsection of "Manage your Cluster" since it's not
self-evidently clear as a top-level docs section. Users will probably
need an introduction via the "Manage your Cluster" section intro page.

This also reverts some of the more drastic sidebar changes introduced by
the previous commit.

Responds to xinding33 feedback.

* Make IAC learning tracks prominent/hard to avoid

Closes #27751

Responds to xinding33 feedback

The motivation is to be more opinionated about the course that users
take through the docs. We currently recommend two tracks for
self-service users, i.e., the users expected to make use of the landing
page:

- Setting up a toy self-hosted Teleport cluster
- Setting up a Teleport Team/Enterprise Cloud cluster that can
  eventually become production ready

By moving the "Get Started" guide to the landing page, we direct users
immediately on to the first track. This change then gives new users a
way to enter the second track from the docs landing page with a
prominent link to the Teleport Team docs.

This change also edits The landing page to direct users who have
completed the getting started experience to instructions for setting up
a pool of agents on Terraform, helping to make infrastructure-as-code a
first-class citizen of the docs.

This change also removes the menu of links that used to confront users
on the landing page. Since all sidebar sections include introduction
pages, users interested in the content of a sidebar section can visit
the section. By removing links, we make it clearer for users how to
proceed through the docs.

* Fix linter errors

* Incorporate Trivy recommendations

* Respond to alexfornuto feedback

* Restore list of dynamic resources to the reference

* Fix linter warnings

* Remove the ".sh" extension from userdata script

The Terraform module that reads this file does not need the extension,
which was causing trouble for our shellcheck linter.
2023-06-30 15:45:37 +00:00

24 lines
483 B
HCL

terraform {
required_providers {
teleport = {
source = "terraform.releases.teleport.dev/gravitational/teleport"
version = "TELEPORT_VERSION"
}
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
provider "aws" {
region = var.aws_region
}
provider "teleport" {
# Update addr to point to your Teleport Cloud tenant URL's host:port
addr = var.proxy_service_address
identity_file_path = "terraform-identity"
}