Commit Graph

32876 Commits

Author SHA1 Message Date
Martin Atkins
5c3180f30f lang/exprs: Expression evaluation helpers
This package provides a more generic version of what's currently modeled
by the likes of lang.Scope and lang.Data, designed to avoid having a huge
single type that must know about everything in the language and, for this
package's purposes alone, to avoid knowing anything about the language at
all except that it uses HCL.

This is currently just an experiment not used by anything, and so is dead
code aside from the contrived mini-language implemented in example_test.go.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-27 13:48:09 -07:00
James Humphries
1da126365c Improved missing subpath detection in module installation (#3184)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
Signed-off-by: James Humphries <James@james-humphries.co.uk>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-27 11:06:38 +01:00
Diógenes Fernandes
c29311ee82 Ensure internal/*.tf files have the same line endings in all platforms (#3189)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
2025-08-27 07:04:42 -03:00
Diógenes Fernandes
3aed4b56b9 fix: internal/refactoring tests in windows (#3187)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
2025-08-27 06:56:36 -03:00
Martin Atkins
e2d889d12d CHANGELOG: Updates for opentofu/opentofu#3180
The upgrade of golang.org/x/crypto includes a change to the SSH
implementation to make it validate certificates more strictly as required
by the current draft specification.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 19:12:27 -07:00
Martin Atkins
96a33a1df1 go.mod: Update various golang.org/x/* dependencies
Unfortunately the Go team routinely ratchets up the declared requirements
between these modules even when that's not actually required, so it's
impossible to upgrade them individually.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 19:12:27 -07:00
Martin Atkins
5d6ab9e711 CHANGELOG: entry for opentofu/opentofu#3159
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 11:37:44 -07:00
Martin Atkins
15272f8672 plan diff: summarize the current -> planned notation
The human-oriented plan output includes a short summary of the meaning of
all of the different "icons" used to describe different kinds of change,
but nothing was previously describing how OpenTofu uses "->" to describe
the transition between current and planned values for update in-place, "~".

We'll now include a concise note about that as part of the icon summary,
keeping things still relatively compact but nonetheless giving something
to refer to if a reader is unsure about the meaning of this notation.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 11:37:44 -07:00
Christian Mesh
928533f1fe Reduce calls to state DeepCopy() by half during apply (#3011)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 14:36:01 -04:00
Martin Atkins
234a8b8deb .github/workflows: Run unit tests when go.mod/go.sum files change
In our checks workflow we try to skip running unit tests unless Go files
have changed, but we didn't previously consider "go.mod" and "go.sum" as
"Go files".

Changes to our dependencies can change the results of our tests, so we
should run tests even if only the dependencies have changed.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 06:28:27 -07:00
Martin Atkins
6e1cf66a8c CHANGELOG: entry for opentofu/opentofu#3182
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 06:27:53 -07:00
Martin Atkins
ca58729668 go.mod: go get github.com/bgentry/speakeasy@v0.2.0
This is mainly just to have one fewer dependency lagging behind latest, but
includes a change to support running the "stty" program from any directory
in PATH, rather than requiring it to be at /bin/stty, which improves
portability to systems with non-traditional directory layouts, such as
NixOS.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 06:27:53 -07:00
Martin Atkins
2dce3df4e2 go.mod: go get oras.land/oras-go/v2@v2.6.0
The new version has slightly changed the structure of returned error
messages, so this includes some small compensating changes to avoid the
messages redundantly mentioning the same tag or digest twice.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-26 06:27:15 -07:00
Martin Atkins
90c000ea04 go.mod: go get golang.org/x/term@v0.34.0
This also updates golang.org/x/sys due to a transitive dependency.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-25 07:04:08 -07:00
Martin Atkins
3b31c02799 go.mod: go get google.golang.org/protobuf@v1.36.8
This is just a routine upgrade to try to keep things relatively up-to-date
when it's easy to do so.

Upgrading this package also upgrades the protoc-gen-go tool, so this
includes the result of regenerating our .pb.go files using the new version.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-25 07:03:10 -07:00
Diógenes Fernandes
dfc1a4e948 feat: allow calling functions from unconfigured providers when no resources are referenced (#3118)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
Signed-off-by: Diógenes Fernandes <diofeher@gmail.com>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-22 14:50:17 -03:00
Christian Mesh
8dc7aa2e24 Follow provider schema more closely during test provider mocking (#3069)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Signed-off-by: James Humphries <James@james-humphries.co.uk>
Co-authored-by: James Humphries <James@james-humphries.co.uk>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-22 10:40:12 -04:00
Jean-Yves Pellé
c3697442fb No longer alter winrm.DefaultParameters (#2935)
Signed-off-by: Jean-Yves Pellé <52546084+jypelle@users.noreply.github.com>
2025-08-22 07:13:21 -04:00
Martin Atkins
83b9f9245e .github/workflows: Treat workflow changes as Go changes (#3164)
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-22 07:12:24 -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
Mikhail Dronov
dfe6c6d514 Fix internal/backend TestRead_PathNoPermission on Windows (#3117)
Signed-off-by: Mikhail Dronov <twtrp@proton.me>
2025-08-21 15:50:27 -03:00
Andrei Ciobanu
48c55a4bfe Add logging for dynamodb client in s3 backend (#3103)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-20 11:28:02 +03:00
Andrei Ciobanu
f5aaf006e4 Bump openbao/api to 2.3.0 in order to fix GO-2025-3783 (#3134)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-19 15:23:31 +03:00
Andrei Ciobanu
bfa27e96e8 Update the RFC related to tofu.applying/terraform.applying (#3155)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-19 15:22:56 +03:00
Christian Mesh
864b8ed8a6 Validations should only be run during non-destroy operations (#3131)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2025-08-19 07:31:34 -04:00
Diógenes Fernandes
11d416edf9 add for_each attribute to the mock_provider block (#3087)
Signed-off-by: Diogenes Fernandes <diofeher@gmail.com>
2025-08-18 10:36:04 -03:00
James Humphries
dcc0a49bcc Remove bucket check from nightly build (#3152)
Signed-off-by: James Humphries <James@james-humphries.co.uk>
2025-08-18 13:27:23 +01:00
James Humphries
f44a46adbd Move nightly builds out of gpg environment as its no longer needed (#3147)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-15 11:26:14 +01:00
James Humphries
14125e466c Added debug logging to rclone setup, removed R2_ACL (#3141)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-15 10:12:44 +01:00
James Humphries
57d8db26ba Improve error message for missing submodules inside a valid module (#3144)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-14 16:08:41 +01:00
James Humphries
37810dd840 Simplify the nightly build process (#3140)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-14 10:52:25 +01:00
Andrei Ciobanu
e342597e17 Print docker logs of the failing check for easier debug in CI (#3139)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-13 17:47:26 +03:00
James Humphries
ee0029965f More nightly build work, hardcode env vars and remove version (#3138)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-13 14:33:52 +01:00
James Humphries
5c6421ed8c Use name_template and not version_template in goreleaser for nightlies (#3137)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-13 10:21:33 +01:00
baa-ableton
917adc61b0 fix: resolve local mirror detection with -chdir option (#3072)
Signed-off-by: Babur Ayanlar <babur.ayanlar@ableton.com>
2025-08-13 13:13:00 +04:00
Andrei Ciobanu
6787734a9a Bump go version to the latest one to fix sql/Rows.Scan - changelog (#3133)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-13 11:27:51 +03:00
Andrei Ciobanu
e9d5a10c31 Bump go version to 1.24.6 to fix sql/Rows.Scan (#3127)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-13 08:58:27 +03:00
Christian Mesh
416f0341fe Proposed Execution Architecture RFC (#3078)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-12 12:27:32 -03:00
James Humphries
117e0d46f0 Use correct goreleaser version (#3130)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-12 16:04:19 +01:00
James Humphries
b204fbfcc5 Use goreleaser pro for nightly builds (#3129)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-12 15:57:37 +01:00
James Humphries
88ac34a5b7 Added nightly build process - Experimental (#3111)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
2025-08-12 14:25:34 +01: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
James Humphries
c5fd93482a Fix crash in unmarkDeepWithPathsDeprecated (#3105)
Signed-off-by: James Humphries <james@james-humphries.co.uk>
Signed-off-by: James Humphries <James@james-humphries.co.uk>
Co-authored-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-06 15:40:19 +01:00
Mikhail Dronov
823579f9e0 internal/checks unit tests pass on windows_amd64 (#3100)
Signed-off-by: Mikhail Dronov <twtrp@proton.me>
2025-08-05 07:24:56 -03:00
Andrei Ciobanu
a6c296ddb6 Make ephemeral workflow e2e test to run correctly on windows too - second attempt (#3097)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-04 18:24:47 +03:00
Andrei Ciobanu
a9a7012396 Adjust the ephemeral workflow e2e test to run correctly on windows too (#3096)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-04 17:33:28 +03:00
Andrei Ciobanu
4077c3d84f Feature branch: Ephemeral resources (#2852)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-04 16:39:12 +03:00
Christian Mesh
1d38fd69d8 Switch from polling to native blocking locking for the provider cache (#3090)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
Co-authored-by: Martin Atkins <mart@degeneration.co.uk>
2025-08-01 10:17:33 -04:00
Andrei Ciobanu
01493c357f Update apply documentation with the newly accepted -var/-var-file arguments (#3091)
Signed-off-by: Andrei Ciobanu <andrei.ciobanu@opentofu.org>
2025-08-01 16:25:39 +03:00