Commit Graph

820 Commits

Author SHA1 Message Date
Martin Atkins
5b67329bff website: Documentation for "language" blocks
This repurposes the page that was previously about "terraform" blocks to
now be about "language" blocks instead.

This is the modern way to describe version compatibility constraints for
OpenTofu, though we retain some support for required_versions in
"terraform" blocks as a transitional aid for those who want to write
modules that can work with older versions of OpenTofu.

There were previously additional sections on this page discussing other
settings that can appear in "terraform" blocks, but they were essentially
just links to more detailed documentation elsewhere and so this reduces
all of that to just a single section that acknowledges that this block
type accepts other options and links to the relevant documentation for
each one. This structure matches the reality that "terraform" blocks are
just a dumping ground for a variety of tangentially-related settings, and
that we're intending to gradually replace all of the settings in there
with brand-agnostic alternatives in future releases.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2026-03-18 09:09:50 -07:00
Christian Mesh
06bff7f3a3 Utilize new registry platform metadata (#3868)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
2026-03-13 06:58:11 -04:00
Philipp Bandow
abb51ad21b backend auth: azurerm: add Azure DevOps/Pipelines OIDC auth (#3820)
Signed-off-by: Philipp Bandow <git@bandow.dev>
2026-03-09 12:01:21 -05:00
James Humphries
7e227a4d0f Added documentation to discuss acceptance testing providers with ephemeral resources and opentofu (#3782)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2026-02-24 10:59:53 +00:00
Martin Atkins
eab6920d7e website: S3 backend documentation recommends "aws login"
The recent addition of "aws login" to AWS CLI finally gives a user-friendly
best practice way to acquire AWS credentials for use in interactive
workflows. Combined with the pre-existing support for authenticating using
JSON web tokens (by "web identity", as AWS calls it), there's no longer any
good reason for most users of this backend to explicitly configure AWS
credentials.

Now that OpenTofu itself supports using credentials issued by "aws login",
this reorganizes our documentation to begin with opinionated
recommendations for how to provide credentials for the S3 backend in both
interactive and non-interactive settings, and explicitly documents the
inline static configuration settings as an absolute last resort not
recommended in any cases.

This new documentation also includes links to the relevant parts of the
AWS CLI documentation, since there's a lot of extra detail there which may
be useful for someone trying to debug why their setup isn't working.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2026-02-13 08:32:44 -08:00
James Humphries
129a33c445 docs: clarify that uuid() function does not produce RFC 4122 compliant v4 uuids (#3763)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2026-02-13 09:09:31 +00:00
Andrei Ciobanu
b108d3fb53 Add universe_domain to the gcs backend (#3758)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2026-02-12 11:46:18 +00:00
Andrei Ciobanu
d24b85fc68 Typo fix in the pg backend. Fix for #3700 (#3704)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2026-01-27 13:22:40 +02:00
Andrei Ciobanu
8e808f3cc2 Make it clear for the external key providers when it needs to generate decryption key (#3672)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2026-01-27 12:20:23 +02:00
Andrei Ciobanu
c7f46c713a Enhance the documentation and the integration tests for the pg backend (#3700)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2026-01-27 10:17:07 +02:00
Andrei Ciobanu
66983273e5 Key provider decoding moved from gohcl to hcl/v2 (#3654)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
Co-authored-by: Christian Mesh <christianmesh1@gmail.com>
2026-01-15 17:51:16 +02:00
Martin Atkins
65ee51c736 website: Boolean operator short-circuit was added in OpenTofu v1.10 (#3645)
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2026-01-07 15:58:18 +00:00
H.K.
88c59b6b25 Update JSON syntax documentation for variables in module & terraform blocks (#3587)
Signed-off-by: H.K. <angivare-contact@yahoo.fr>
2025-12-15 07:54:55 -05:00
James Humphries
da2da475a0 Improve documentation around enabled meta-argument (#3576)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-12-11 10:37:16 +00:00
James Humphries
f559cdd1bf Small tweaks to ephemeral variable documentation (#3577)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-12-11 10:37:11 +00:00
Ilia Gogotchuri
fd19a3763f Retain resource instances with a new lifecycle argument - destroy (#3409)
Signed-off-by: Ilia Gogotchuri <ilia.gogotchuri0@gmail.com>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-12-04 18:49:57 +04:00
nemobis
6d0d9b8773 docs: Fix typo in sensitive.mdx (#3431)
Signed-off-by: nemobis <federico.leva@relexsolutions.com>
2025-10-30 15:11:44 -05:00
Andrei Ciobanu
ab51186a30 Add examples on how to use 'state_tags' and 'lock_tags' (#3437)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-10-29 11:23:59 +02:00
Martin Atkins
68fbe8d8d7 website: "element" function supports negative indices
We got this new functionality from an upgrade of the upstream cty library,
but we didn't update the docs to mention it.

The examples in this doc were also evidently generated with a much older
version of OpenTofu's predecessor, because the illustrated output was not
shown as a quoted string. The example output now matches how the current
version of "tofu console" would describe these results.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-10-28 15:11:26 -07:00
Andrei Ciobanu
934be4ad5e Glossary - initial version (#3411)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-10-28 11:41:31 +02:00
James Humphries
9eaba0d83d No longer mention that deprecation of module variables and outputs is experimental (#3417)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-10-23 14:48:10 +01:00
Martin Atkins
dc9bec611c website: Reorganize and tidy some lifecycle-related information
Over time the discussion about "lifecycle" blocks in the documentation
became confusing because the docs originally written for managed resource
lifecycle got partially generalized for resources of other modes and for
module calls, even though each of those has a completely different
lifecycle and thus a different set of lifecycle settings.

This is a first pass at trying to reorganize that so that the "lifecycle"
page is really just an index of all of the different kinds of lifecycle
block that exist in the language, while the main documentation for each
use of that block type now belongs with the documentation of the block
it's nested within.

While working on this I also found that there was some duplication inside
the "data sources" page where the same information was described multiple
times, and a few other cases where things had become inconsistent over
time. This also includes a little extra content to try to clarify the
difference between managed, data, and ephemeral resources and to make it
explicit that the "Resources" section is focused only on managed resources
because that is the primary resource mode.

As usual there's lots more that could be done here -- this documentation
has gradually evolved over time and is full of weird quirks due to that
evolution -- but I decided to draw a line here so that the diff wouldn't
get too large.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-10-17 15:08:14 -07:00
Diógenes Fernandes
d42dcc3b0a Add docs for the conditional enabled lifecycle attribute (#3380)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-10-16 13:10:00 -03:00
Andrei Ciobanu
7bcc6464ed Add a note about the lack of feedback on the experimental encryption method and key_provider (#3323)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
Signed-off-by: Andrei Ciobanu <andreic9203@gmail.com>
Co-authored-by: Diógenes Fernandes <diofeher@gmail.com>
2025-10-03 15:33:46 +03:00
Magicalcrow
4fbbea6f4b Fix typos in uuid and uuidv5 docs
Signed-off-by: Magicalcrow <simondiev@gmail.com>
2025-09-30 09:00:55 -07:00
Larry Bordowitz
bcbfebce3d Implement the Azure Key Provider
This uses the same auth package as the newly-rewritten Azure State
Backend, so many of the properties and environment variables are the
same. I have put this through both the compliance test as well as built
the binary and run some end-to-end tests, and found that it
appropriately uses the Azure key as expected.

Signed-off-by: Larry Bordowitz <laurence.bordowitz@gmail.com>
2025-09-29 06:19:02 -04:00
Martin Atkins
116826c32f website: S3 module sources now support all standard AWS credential sources
As of go-getter v1.8.0, which we already upgraded in an earlier commit,
the S3 "getter" now uses the AWS SDK's default credentials chain
configuration and so follows the same set of credentials-searching
strategies that AWS CLI and other AWS SDK applications would follow.

We learned this only after having already merged that upgrade, so this is
a retroactive documentation and changelog update to describe the change.
Since go-getter is now delegating this whole question to the AWS SDK, our
future upgrades of the AWS SDK will automatically adopt any upstream
changes to the default credentials chain and so our documentation about
this is now more general than before: the intention is that our users can
generally assume that OpenTofu should support everything that is documented
as supported for the AWS CLI, instead of us listing out an explicit search
sequence that will be long and inevitably become outdated again.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-09-23 16:38:37 -07:00
Larry Bordowitz
0090e8a18c Add new configuration to AzureRM Backend (#3251)
Signed-off-by: Larry Bordowitz <laurence.bordowitz@gmail.com>
2025-09-15 19:22:17 +01:00
Christian Mesh
c8b58e949b Address review comments
Co-authored-by: James Humphries <James@james-humphries.co.uk>
Co-authored-by: Ilia Gogotchuri <ilia.gogotchuri0@gmail.com>
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-09-10 07:45:23 -04:00
Andrei Ciobanu
57057aef27 Add docs for all ephemeral constructs (#3209)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Diógenes Fernandes <diofeher@opentofu.org>
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-09-10 07:45:23 -04:00
Christian Mesh
6437bfe01f Add tofu.applying (and terraform.applying) (#3170)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-09-10 07:45:23 -04:00
Christian Mesh
60b268200c Add ephemeralasnull() function (#3154)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-09-10 07:45:23 -04:00
Larry Bordowitz
63e8845ad9 Refactor the azurerm backend (#3034)
Signed-off-by: Larry Bordowitz <laurence.bordowitz@gmail.com>
2025-09-03 11:06:11 -04:00
Martin Atkins
9a161adbe3 go.mod: Upgrade to Go 1.25 (#3166)
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-22 07:10:11 -04:00
James Humphries
9d47636173 Clarify dynamodb vs s3-native locking guidance (#3109)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-11 10:46:46 +01:00
Aaron George
e802c63f58 Add tag options for S3 state backend objects (#3038)
Signed-off-by: Aaron George <aarongeorge1994+github@gmail.com>
Co-authored-by: Andrei Ciobanu <andreic9203@gmail.com>
2025-08-07 10:39:19 +03:00
Diógenes Fernandes
5fb4a1aed2 Using a Key on ExtraInfo to differentiate between Consolidation Warnings (#3036)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
Signed-off-by: Diógenes Fernandes <diofeher@gmail.com>
2025-07-24 12:20:57 -03:00
Clément Denis
7dd55ebd5a Update documentation regarding short-circuiting boolean operators (#3063)
Signed-off-by: Clément Denis <clement.denis@gmail.com>
2025-07-24 14:04:52 +04:00
Diógenes Fernandes
cb73ae4299 docs for provider for_each in modules and resources (#2696)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
2025-07-15 16:54:32 -03:00
Andrei Ciobanu
4adc571c8c Fix a typo in the external method code snippet (#2881)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-06-02 15:19:47 +03:00
Ruben Aleman
dfcb220edd docs: fix headers default value for backend http (#2864)
Signed-off-by: Ruben Aleman <github@rubenaleman.de>
2025-05-27 11:26:59 +01:00
Andrei Ciobanu
8305bfb2ef Rename the CLI arg for deprecation outputs/variables (#2774)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-05-09 14:01:32 +03:00
Andrei Ciobanu
22dc9b2137 Add new CLI arg to control what warnings should be shown for deprecated outputs/variables (#2705)
Signed-off-by: yottta <andrei.ciobanu@opentofu.org>
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-05-08 17:01:40 +03:00
Skyper
26a77c9156 website: mark input passphrase for state encryption as sensitive
Signed-off-by: Paul-Emmanuel Raoul <skyper@skyplabs.net>
2025-05-07 16:39:01 -07:00
Andrei Ciobanu
0d3d36778d Update some names in the encryption docs (#2762)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-05-07 16:06:22 +03:00
Oleksandr Levchenkov
89296b438a add explanation of supported commands for deprecation warnings (#2737)
Signed-off-by: ollevche <ollevche@gmail.com>
2025-05-02 11:31:03 +03:00
Andrei Ciobanu
3c51831e5c Enhance removed block with lifecycle and provisioner functionalities (#2628)
Signed-off-by: yottta <andrei.ciobanu@opentofu.org>
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-04-25 06:29:42 -04:00
Oleksandr Levchenkov
8589d20d50 add website docs for deprecation attrs (#2706)
Signed-off-by: ollevche <ollevche@gmail.com>
2025-04-25 12:26:40 +03:00
Christian Mesh
5e714bc315 Add warning for sensitive state outputs in terraform_remote_state (#2697)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-04-24 07:55:53 -04:00
Martin Atkins
1421849989 website: Documentation for module packages in OCI repositories
This is a first draft of documentation describing our new capability to
treat artifacts in OCI Distribution repositories as a new kind of remote
module package.

This documentation includes both some caller-focused documentation that
extends our existing "Module Sources" page, and some documentation intended
more for the author of a module package describing how they could publish
their package as an OCI artifact that OpenTofu will accept.

As usual, we'll continue to refine this documentation based on feedback
during the prerelease period and beyond.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-04-21 10:11:44 -07:00