mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-21 02:37:43 -05:00
Signed-off-by: Janos <86970079+janosdebugs@users.noreply.github.com> Signed-off-by: Damian Stasik <920747+damianstasik@users.noreply.github.com> Signed-off-by: Roman Grinovski <roman.grinovski@gmail.com> Co-authored-by: Damian Stasik <920747+damianstasik@users.noreply.github.com> Co-authored-by: Roman Grinovski <roman.grinovski@gmail.com>
61 lines
2.6 KiB
Plaintext
61 lines
2.6 KiB
Plaintext
---
|
|
description: >-
|
|
Commands to install, configure, and show information about providers. Also
|
|
commands to reduce install effort in air-gapped environments.
|
|
---
|
|
|
|
# Managing Plugins
|
|
|
|
OpenTofu relies on plugins called "providers" in order to manage various types
|
|
of resources. (For more information about providers, see
|
|
[Providers](../../language/providers/index.mdx) in the OpenTofu
|
|
language docs.)
|
|
|
|
:::note
|
|
Providers are the only plugin type most OpenTofu users interact with. OpenTofu also supports third-party provisioner plugins, but
|
|
we discourage their use.
|
|
:::
|
|
|
|
OpenTofu downloads and/or installs any providers
|
|
[required](../../language/providers/requirements.mdx) by a configuration
|
|
when [initializing](../init/index.mdx) a working directory. By default,
|
|
this works without any additional interaction but requires network access to
|
|
download providers from their source registry.
|
|
|
|
You can configure OpenTofu's provider installation behavior to limit or skip
|
|
network access, and to enable use of providers that aren't available via a
|
|
networked source. OpenTofu also includes some commands to show information
|
|
about providers and to reduce the effort of installing providers in airgapped
|
|
environments.
|
|
|
|
## Configuring Plugin Installation
|
|
|
|
OpenTofu's configuration file includes options for caching downloaded plugins,
|
|
or explicitly specifying a local or HTTPS mirror to install plugins from. For
|
|
more information, see [CLI Config File](../config/config-file.mdx).
|
|
|
|
## Getting Plugin Information
|
|
|
|
Use the [`tofu providers`](../commands/providers/index.mdx) command to get information
|
|
about the providers required by the current working directory's configuration.
|
|
|
|
Use the [`tofu version`](../commands/version.mdx) command (or
|
|
`tofu -version`) to show the specific provider versions installed for the
|
|
current working directory.
|
|
|
|
Use the [`tofu providers schema`](../commands/providers/schema.mdx) command to
|
|
get machine-readable information about the resources and configuration options
|
|
offered by each provider.
|
|
|
|
## Managing Plugin Installation
|
|
|
|
Use the [`tofu providers mirror`](../commands/providers/mirror.mdx) command to
|
|
download local copies of every provider required by the current working
|
|
directory's configuration. This directory will use the nested directory layout
|
|
that OpenTofu expects when installing plugins from a local source, so you can
|
|
transfer it directly to an airgapped system that runs OpenTofu.
|
|
|
|
Use the [`tofu providers lock`](../commands/providers/lock.mdx) command
|
|
to update the lock file that OpenTofu uses to ensure predictable runs when
|
|
using ambiguous provider version constraints.
|