Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs/seo updates #36083

Merged
merged 14 commits into from
Dec 16, 2024
Merged
34 changes: 18 additions & 16 deletions website/docs/cli/auth/index.mdx
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
---
page_title: Authentication - Terraform CLI
page_title: et an API token for HCP Terraform and Terraform Enterprise
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
description: >-
Documentation about the login and logout commands that help automate getting
an API token for your HCP Terraform account.
Use the terraform login and terraform logout commands get
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should these commands have backticks?

trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
an API token for your HCP Terraform or Terraform Enterprise account.
---

# CLI Authentication
# Get an API token for HCP Terraform and Terraform Enterprise

This topic describes how to use the `terraform login` and `terraform logout` to authenticate with HCP Terraform and Terraform Enterprise.

> **Hands-on:** Try the [Authenticate the CLI with HCP Terraform](/terraform/tutorials/cloud/cloud-login?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorial.

## Overview

[HCP Terraform](https://cloud.hashicorp.com/products/terraform) and
[Terraform Enterprise](/terraform/enterprise) are platforms that perform
Terraform runs to provision infrastructure, offering a collaboration-focused
environment that makes it easier for teams to use Terraform together. (For
expediency, the content below refers to both products as "HCP Terraform.")
environment that makes it easier for teams to use Terraform together.

You can integrate the Terraform CLI with Terraform web platform in the following ways:
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved

- Use the Terraform CLI as a front-end for [CLI-driven runs](/terraform/cloud-docs/run/cli) in HCP Terraform
- Use HCP Terraform or Terraform Enterprise as a state backend and a private module registry.

Terraform CLI integrates with HCP Terraform in several ways — it can be a
front-end for [CLI-driven runs](/terraform/cloud-docs/run/cli) in HCP Terraform,
and can also use HCP Terraform as a state backend and a private module
registry. All of these integrations require you to authenticate Terraform CLI
These integrations require you to authenticate the Terraform CLI
with your HCP Terraform account.

The best way to handle CLI authentication is with the `login` and `logout`
commands, which help automate the process of getting an API token for your
HCP Terraform user account.
## Authentication

For details, see:
Run the `terraform login` command to automate the process of getting an API token for your HCP Terraform user account. Refer to the [`terraform login` command](/terraform/cli/commands/login) reference documentation for details.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved

- [The `terraform login` command](/terraform/cli/commands/login)
- [The `terraform logout` command](/terraform/cli/commands/logout)
Run the `terrafom logout` coommand to end your HCP Terraform or Terraform Enterprise session. Refer to the [`terraform logout` command](/terraform/cli/commands/logout) reference documentation for details.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
6 changes: 3 additions & 3 deletions website/docs/cli/cloud/command-line-arguments.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
page_title: Command Line Arguments
description: Command Line Arguments
page_title: -ignore-remote-version reference
description: Use the -ignore-remote-version flat to override CLI-driven commands for HCP Terraform runs.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
---

# Command Line Arguments
# `-ignore-remote-version` reference

When your configuration includes a `cloud` block, commands that
make local modifications to Terraform state and then push them back up to the remote workspace
Expand Down
14 changes: 10 additions & 4 deletions website/docs/cli/code/index.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
---
page_title: Writing and Modifying Code - Terraform CLI
page_title: Write and modify Terrafrom configuration from the CLI
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this page originally included "write", but I'd argue all o these commands modify existing configuration rather than create new configuration. My vote would be something like "Format and validate configuration".

trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
description: >-
Learn commands that help validate, format, and upgrade code written in the
Terraform Configuration Language.
Learn about the Terraform commands that help validate, format, and upgrade code written in the
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
Terraform configuration language.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
---

# Writing and Modifying Terraform Code
# Write and modify Terrafrom configuration from the CLI

This topic provides an overview of the Terraform CLI commands you can use to programmatically write and modify Terraform configuration code.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved

## Introduction

The [Terraform language](/terraform/language) is Terraform's primary
user interface, and all of Terraform's workflows rely on configurations written
in the Terraform language.

## Workflows

Terraform CLI includes several commands to make Terraform code more convenient
to work with. Integrating these commands into your editing workflow can
potentially save you time and effort.
Expand Down
14 changes: 9 additions & 5 deletions website/docs/cli/config/config-file.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
---
page_title: CLI Configuration
page_title: Create a Terraform CLI configuration file
description: >-
Learn to use the CLI configuration file to customize your CLI settings,
including credentials, plugin caching, provider installation methods, etc.
Learn how to create a `.terraformrc` or `terraform.rc` file to define Terraform CLI settings, including credentials, plugin caching, and provider installation.
---

# CLI Configuration File (`.terraformrc` or `terraform.rc`)
# Create a Terraform CLI configuration file

This topic describes how create a configuration file to customize the behavior of the Terraform CLI.

## Introduction

The CLI configuration file configures per-user settings for CLI behaviors,
which apply across all Terraform working directories. This is separate from
[your infrastructure configuration](/terraform/language).
[your infrastructure configuration](/terraform/language).
You can define custom configurations in file with the `.terraformrc` extention a file named `terraform.rc`.

## Locations

Expand Down
17 changes: 10 additions & 7 deletions website/docs/cli/config/environment-variables.mdx
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
---
page_title: Environment Variables
page_title: Terraform CLI environment variables reference
description: >-
Learn to use environment variables to change Terraform's default behavior.
Configure log content and output, set variables, and more.
Terraform environment variables let you customize the Terraform CLI's default behavior.
Learn about the Terraform CLI environment variables.
---

# Environment Variables
# Terraform CLI environment variables reference

This topic contains reference information about the environment variables you can use with the Terraform CLI.

## Introduction

Terraform refers to a number of environment variables to customize various
aspects of its behavior. None of these environment variables are required
when using Terraform, but they can be used to change some of Terraform's
default behaviors in unusual situations, or to increase output verbosity
for debugging.
when using Terraform, but you can use them to change some of Terraform's
default behaviors or to increase output verbosity for debugging.

## TF_LOG

Expand Down
15 changes: 7 additions & 8 deletions website/docs/cli/config/index.mdx
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
---
page_title: CLI Configuration - Terraform CLI
page_title: Terraform CLI configuration overview
description: >-
Find documentation about the CLI config file and customizing Terraform
environment variables.
The CLI config-file and supported Terraform environment variables let you customize Terraform CLI behavior.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
Learn how Terraform CLI configuration works.
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
---

# CLI Configuration
# Terraform CLI configuration overview

Terraform CLI can be configured with some global settings, which are separate
You can configure the Terraform CLI in global settings, which are separate
from any Terraform configuration and which apply across all working directories.

We've designed Terraform such that an average user running Terraform CLI
interactively will not need to interact with any of these settings. As a result,
The default behavior of the Terraform CLI is suitable in most cases. As a result,
most of the global settings relate to advanced or automated workflows, or
unusual environmental conditions like running Terraform on an airgapped
unusual environmental conditions, such as running Terraform on an air-gapped
instance.

- The [CLI config file](/terraform/cli/config/config-file) configures provider
Expand Down
14 changes: 7 additions & 7 deletions website/docs/cli/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ description: >-

> **Hands-on:** Try the [Terraform: Get Started](/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) tutorials.

This is the documentation for Terraform CLI. It is relevant to anyone working
with Terraform's CLI-based workflows; this includes people who use Terraform CLI
by itself, as well as those who use Terraform CLI in conjunction with Terraform
Cloud or Terraform Enterprise.
This documentation provides reference information about Terraform CLI commands,
as well as instructions for using commands to provision infrastructure and manage the
infrastructure lifecyle. It is relevant to anyone working with Terraform's CLI-based
workflows, including people who use Terraform CLI by itself, as well as those who
use Terraform CLI in conjunction with HCTP Terraform or Terraform Enterprise.

Notably, this documentation does not cover the syntax and usage of the Terraform
language. For that, see the
[Terraform Language Documentation](/terraform/language).
For information about the Terraform configuration language syntax and coding patters, refer to the
[Terraform configuration language documentation](/terraform/language).
15 changes: 6 additions & 9 deletions website/docs/cli/init/index.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
---
page_title: Initializing Working Directories - Terraform CLI
page_title: Initialize the Terraform working directory
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've included the word "overview" in other index pages, do we want the same here?

description: >-
Working directories contain configurations, settings, cached plugins and
modules, and state data. Learn how to initialize and manage working
directories.
Learn how to initialize the working directory with the terraform init command, which installs plugins and modules defined in the configuration and retrieves state data.
---

# Initializing Working Directories
# Initialize the Working Directory

Terraform expects to be invoked from a working directory that contains
configuration files written in
Expand All @@ -29,10 +27,9 @@ A Terraform working directory typically contains:
record the last known backend configuration in case it needs to migrate state
on the next run. This directory is automatically managed by Terraform, and is
created during initialization.
- State data, if the configuration uses the default `local` backend. This is
managed by Terraform in a `terraform.tfstate` file (if the directory only uses
the default workspace) or a `terraform.tfstate.d` directory (if the directory
uses multiple workspaces).
- State data when the configuration uses the default `local` backend. Terraform manages state in a `terraform.tfstate` file when the directory only uses
the default workspace or a `terraform.tfstate.d` directory when the directory
uses multiple workspaces.

## Initialization

Expand Down
8 changes: 4 additions & 4 deletions website/docs/cli/inspect/index.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
page_title: Inspecting Infrastructure - Terraform CLI
page_title: Inspect infrastructure commands overview
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
description: >-
Learn commands to inspect dependency information, outputs, etc. Use them for
integration or to understand your infrastructure.
The terraform inspect commands return dependency information and outputs. Learn how to use terraform inspect commands
to understand your infrastructure.
---

# Inspecting Infrastructure
# Inspect Infrastructure Commands Overview

Terraform configurations and state data include some highly structured
information about the resources they manage; this includes dependency
Expand Down
7 changes: 3 additions & 4 deletions website/docs/cli/install/apt.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
page_title: APT Packages for Debian and Ubuntu
page_title: Install Terraform using APT packages for Debian and Ubuntu
description: >-
The HashiCorp APT repositories contain distribution-specific Terraform
packages for both Debian and Ubuntu systems.
Learn how to install Terraform using HashiCorp APT packages for Debian and Ubuntu systems.
---

# APT Packages for Debian and Ubuntu
# Install Terraform Using APT Packages for Debian and Ubuntu

The primary distribution packages for Terraform are `.zip` archives containing
single executable files that you can extract anywhere on your system. However,
Expand Down
7 changes: 3 additions & 4 deletions website/docs/cli/install/yum.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
page_title: 'Yum Packages for Red Hat Enterprise Linux, Fedora, and Amazon Linux'
page_title: Install Terraform using yum packages for Linux distributions
description: >-
The HashiCorp Yum repositories contain distribution-specific Terraform
packages for Red Hat Enterprise Linux, Fedora, and Amazon Linux systems.
Learn how to install Terraform using HashiCorp yum packages for Red Hat Enterprise Linux (RHEL), Fedora, CentOS, and Amazon Linux systems.
---

# Yum/DNF Packages for RHEL, CentOS, and Fedora
# Install Terraform Using Yum Packages for Linux Distributions

The primary distribution packages for Terraform are `.zip` archives containing
single executable files that you can extract anywhere on your system. However,
Expand Down
31 changes: 14 additions & 17 deletions website/docs/cli/plugins/index.mdx
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
---
page_title: Managing Plugins - Terraform CLI
page_title: Manage Terraform plugins overview
trujillo-adam marked this conversation as resolved.
Show resolved Hide resolved
description: >-
Commands to install, configure, and show information about providers. Also
commands to reduce install effort in air-gapped environments.
Providers are types of plugins for Terraform that manage infrastructure resources. Learn about managing plugins using the Terraform CLI.
---

# Managing Plugins
# Manage plugins overview

Terraform relies on plugins called providers to manage various types
of resources. For more information about providers, refer to
[Providers](/terraform/language/providers) in the Terraform
language docs.
This topic provides an overview of the how to manage plugins that Terraform relies on to manage various types
of resources. Providers are the only plugin type Terraform users interact with. Refer to [Providers](/terraform/language/providers) in the Terraform
language docs for additional information about providers.

-> **Note:** Providers are the only plugin type most Terraform users interact with. Terraform also supports third-party provisioner plugins, but
we discourage their use.
## Workflow

Terraform installs any providers
[required](/terraform/language/providers/requirements) by a configuration
when [initializing](/terraform/cli/init) a working directory. By default,
this works without any additional interaction but requires network access to
When you initialize a working directory, Terraform installs any providers the Terraform configuration requires. Refer to
[Provider Requirements](/terraform/language/providers/requirements) in the Terraform configuration language information about requiring providers. Refer to the [`terraform init` command documentation](/terraform/cli/init) for additional information about how initialize the working directory.

By default, Terraform initializes the working directory without any additional interaction, but you must have network access to
download providers from their source registry.

You can configure Terraform's provider installation behavior to limit or skip
network access, and to enable use of providers that aren't available through a
networked source. Terraform also includes some commands to show information
about providers and to reduce the effort of installing providers in air-gapped
network access, and to enable use of providers that are not available through a
networked source. Terraform also includes commands that show information
about providers and commands that reduce the effort of installing providers in air-gapped
environments.

## Configuring Plugin Installation
Expand Down
30 changes: 16 additions & 14 deletions website/docs/cli/plugins/signing.mdx
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
---
page_title: Plugin Signing
page_title: Plugin signatures
description: >-
Learn about the types of signatures providers can have on the Terraform
Registry.
Signatures help you determine the authenticity of the plugins you want to install. Learn about the types of signatures providers can have on the Terraform registry.
---

<!-- THIS PAGED IS LINKED TO IN THE CLI -->

# Plugin Signing
# Plugin signatures

~> **Note** Terraform only authenticates provider plugins fetched from a registry.
This topic provides information about the types of signatures that can be built into plugins you install. Terraform only authenticates provider plugins fetched from a registry.

Terraform providers installed from the Registry are cryptographically signed, and the signature is verified at time of installation. There are three types of provider signatures, each with different trust implications:
## Types of plugin signatures

* **Signed by HashiCorp** - are built, signed, and supported by HashiCorp.
* **Signed by Trusted Partners** - are built, signed, and supported by a third party. HashiCorp has
verified the ownership of the private key and we provide a chain of trust to the CLI to verify this
programatically.
* **Self-signed** - are built, signed, and supported by a third party. HashiCorp does not provide a
Terraform providers installed from the registry are cryptographically signed. Terraform verifies the signature during installation. There are three types of signatures:

* Providers signed by HashiCorp: HashiCorp builds, signs, and supports these providers.
* Providers signed by trusted partners: A third party builds, signs, and supports these providers. HashiCorp verifies the ownership of the private key and provides a chain of trust to the CLI to verify ownership programatically.
* Self-signed providers: A third party builds, signs, and supports these providers. HashiCorp does not provide a
verification or chain of trust for the signature. You may obtain and validate fingerprints manually
if you want to ensure you are using a binary you can trust.

Terraform does **NOT** support fetching and using unsigned binaries, but you can manually install
unsigned binaries. You should take extreme care when doing so as no programatic authentication is performed.
## Unsigned binaries

You cannot fetch and use unsigned binaries from the registry, but you can manually install unsigned binaries. We strongly recommend that you thoroughly vetting providers that you manually install so that these providers do not programatically authenticate.

## Registry terms of use

Usage of plugins from the registry is subject to the Registry's [Terms of Use](https://registry.terraform.io/terms).
Use of plugins from the registry is subject to the registry's [terms of use](https://registry.terraform.io/terms).
Loading
Loading