Commit Graph

32446 Commits

Author SHA1 Message Date
Christian Mesh
6c74923f22
Local values can now be used in provider key expressions (#2280)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-11 07:46:40 -05:00
Oleksandr Levchenkov
01ef4dd8a4
add missing changelog for #2274 (#2275)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-10 16:45:39 +02:00
Oleksandr Levchenkov
5f8eee4708
add simulated state serialization between tofu test runs (#2274)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-10 16:34:25 +02:00
Christian Mesh
f5930c6ce1
Bump version to 1.9.0-beta2 (#2271)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-09 09:11:10 -05:00
Christian Mesh
ece1bb4f49
Fix data provider iteration destroy (#2270)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-09 07:56:58 -05:00
Ilia Gogotchuri
ffa43acfcd
Azurerm backend timeout (#2263)
adds a timeout_seconds configuration variable with a default value to the AzureRM backend
Signed-off-by: Ilia Gogotchuri <ilia.gogotchuri0@gmail.com>
2024-12-06 17:32:23 +04:00
Christian Mesh
85dc2615ad
Fix packagecloud push skip for alpha/beta/rc (#2256)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-05 10:39:55 -05:00
AbstractionFactory
eecf4f3c85
Update release instructions (#2259)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
2024-12-05 16:01:35 +01:00
Oleksandr Levchenkov
dd2c75fe7f
prepare for v1.9.0-beta1 (#2258)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-05 16:42:15 +02:00
Martin Atkins
c453eb6a3b
website: Initial documentation updates for dynamic provider instances (#2138)
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-12-05 07:46:02 -05:00
Christian Mesh
f6a1d8e2dd
Support References in Variable Validation (#2216)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-04 14:24:44 -05:00
Christian Mesh
3d51e3c9df
Shallow clone of website/submodules for testing (#2249)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-04 12:24:41 -05:00
Oleksandr Levchenkov
32ca523689
fix: type defaults for variables in tests (#2244)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-04 16:48:08 +02:00
Oleksandr Levchenkov
e5d26f9a71
make tofu test generate dynamic mock values (#2245)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-04 16:22:54 +02:00
Oleksandr Levchenkov
da1ad73f6e
fix tf migration buttons in docs (#2243)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-04 12:46:23 +02:00
AbstractionFactory
7b42ce7238
Missing release notes for #2179 (#2242)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
2024-12-04 11:20:34 +01:00
Christian Mesh
c7aaa5ed50
Force state change if encryption used fallback (#2232)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-03 17:44:30 -05:00
Christian Mesh
8fb8f066c4
Detect when provider and resource/module have identical for_each (#2186)
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>
2024-12-03 14:02:27 -05:00
Martin Atkins
91b43aecd1
tofu: Variable validation diagnostics must mark sensitive values (#2233)
Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-12-03 12:40:44 -05:00
Oleksandr Levchenkov
6c8bfa2794
implement override resources for mock providers (#2168)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-12-03 11:24:26 -05:00
Jon Johnson
cb866bf503
Only wake up from waitDeps to trace when debugging (#2176)
Signed-off-by: Jon Johnson <jon.johnson@chainguard.dev>
2024-12-02 09:36:38 -05:00
Christian Mesh
0903aeff58
Split variable evaluation / validation scope (#2199)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2024-12-02 09:18:07 -05:00
AbstractionFactory
84395e505d
Adding website updates to the release docs (#2226)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
2024-12-02 09:00:51 -05:00
AbstractionFactory
091f68d173
Updated migration guides (#2224)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
Co-authored-by: Oleksandr Levchenkov <ollevche@gmail.com>
2024-11-28 14:57:55 +01:00
Oleksandr Levchenkov
a117f86b98
Fix: Change warning to error when incorrect type is used for mocking a resource (#2220)
Signed-off-by: pooriaghaedi <pooria.ghaedi@aerlingus.com>
Signed-off-by: Pooria Ghaedi <36617391+pooriaghaedi@users.noreply.github.com>
Signed-off-by: ollevche <ollevche@gmail.com>
Co-authored-by: pooriaghaedi <pooria.ghaedi@aerlingus.com>
Co-authored-by: Pooria Ghaedi <36617391+pooriaghaedi@users.noreply.github.com>
2024-11-28 14:22:42 +02:00
Ronny Orot
cf34b0e6a9
Skip imports on tofu destroy (#2214)
Signed-off-by: Ronny Orot <ronny.orot@gmail.com>
2024-11-25 23:52:03 +02:00
AbstractionFactory
5d48a940da
Creating a release manual (#2212)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
2024-11-25 07:11:25 -05:00
Oleksandr Levchenkov
8d81e14fda
add missing changelog entry for http backend logging (#2206)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-22 13:18:24 +02:00
AbstractionFactory
1cdfd7e867
Adding missing changelog entry and go.mod change for #2050 (#2205)
Signed-off-by: AbstractionFactory <179820029+abstractionfactory@users.noreply.github.com>
2024-11-22 11:32:10 +01:00
Oleksandr Levchenkov
7645992d9b
fix mock type conversion in tofu test (#2144)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-20 17:47:13 +02:00
Oleksandr Levchenkov
2758f2cfbf
fix mock provider validation (#2140)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-20 16:45:17 +02:00
Haider Bari
dbea01eea6
Add DEBUG-level logging to the "http" state storage backend (#2120)
Signed-off-by: Bari, Haider <haider.bari@fmr.com>
Co-authored-by: Bari, Haider <haider.bari@fmr.com>
2024-11-20 16:36:45 +02:00
Martin Atkins
2448204201 tofu: context.Context plumbed into the graph walk driver
Earlier commits arranged for each of our tofu.Context exported methods that
perform graph-based operations to take a context.Context from their
callers, and for the main callers in package command and package backend
to connect those contexts to the top-level context from "package main"
that can potentially have an OpenTelemetry span attached to it.

This propagates those contexts a little deeper into the guts of the
language runtime, getting it as far as the shared logic that drives a
graph walk.

The next step from here would be to change the interfaces
GraphNodeExecutable and GraphNodeDynamicExpandable so that their methods
both take a context.Context, but that would involve a big sprawling
update to every implementation of each of those interfaces and so
we'll save that for a later commit to keep this one relatively clean.

This commit also reaches the first point of ambiguity where our older
conventions call for "ctx" to be the variable name for a tofu.EvalContext
rather than a context.Context. Since "ctx context.Context" is a core idiom
in the Go community, we'll switch to using evalCtx as the variable name
for tofu.EvalContext both here and in our future commits that will
modify the two main graph walk interfaces that make extensive use of the
tofu.EvalContext interface.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
a8b6342556 tofu: Context.Input now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Input now passes this through to the UI input implementation,
which was already written to handle cancellation. However, that
implementation currently handles interruption itself by directly watching
for the interrupt signal and so we remove the cancellation from the
context for now to avoid changing how interrupts are handled. Hopefully
in future we can remove the inline SIGINT handling from the UIInput
implementation and use its context-cancellation-handling instead.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
9cadb097ba tofu: Context.Validate now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Validate doesn't yet do anything with its new context, but we'll
plumb this deeper in future.

Since the local backend's implementation of backend.Local.LocalRun calls
Validate on the given configuration before returning, it this also extends
that interface method to take a context, and so the various commands that
directly create "local runs" (rather than going through the backend
operation API) now all pass in a context derived from the one created
in "package main".

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
6522f73249 tofu: Context.Eval now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Eval doesn't yet do anything with its new context, but we'll
plumb this deeper in future.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
8ae790ca06 tofu: Context.Import now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Import doesn't yet do anything with its new context, but we'll
plumb this deeper in future.

OpenTofu has some historical situational private uses of context.Context
to handle the graceful shutdown behaviors. Those use context.Context as
a private implementation detail rather than public API, and so this commit
leaves them as-is and adds a new "primary context" alongside. Hopefully
in future refactoring we can simplify this to use the primary context also
as the primary cancellation signal, but that's too risky a change to bundle
in with this otherwise-mostly-harmless context plumbing.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
3b79efa834 tofu: Context.Refresh now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Refresh is really just a vestigal wrapper around Context.Plan, so
this just passes the given context through to Context.Plan which itself
currently ignores it.

OpenTofu has some historical situational private uses of context.Context
to handle the graceful shutdown behaviors. Those use context.Context as
a private implementation detail rather than public API, and so this commit
leaves them as-is and adds a new "primary context" alongside. Hopefully
in future refactoring we can simplify this to use the primary context also
as the primary cancellation signal, but that's too risky a change to bundle
in with this otherwise-mostly-harmless context plumbing.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
1134f19467 tofu: Context.Apply now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Apply does not yet do anything with its new context, but this gets
the context plumbed in enough that we should be able to pass values like
telemetry spans all the way from the top-level in future.

OpenTofu has some historical situational private uses of context.Context
to handle the graceful shutdown behaviors. Those use context.Context as
a private implementation detail rather than public API, and so this commit
leaves them as-is and adds a new "primary context" alongside. Hopefully
in future refactoring we can simplify this to use the primary context also
as the primary cancellation signal, but that's too risky a change to bundle
in with this otherwise-mostly-harmless context plumbing.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
3d5039f1f3 tofu: Context.Plan now takes a context.Context
This continues our ongoing effort to get a coherent chain of
context.Context all the way from "package main" to all of our calls to
external components.

Context.Plan does not yet do anything with its new context, but this gets
the context plumbed in enough that we should be able to pass values like
telemetry spans all the way from the top-level in future.

OpenTofu has some historical situational private uses of context.Context
to handle the graceful shutdown behaviors. Those use context.Context as
a private implementation detail rather than public API, and so this commit
leaves them as-is and adds a new "primary context" alongside. Hopefully
in future refactoring we can simplify this to use the primary context also
as the primary cancellation signal, but that's too risky a change to bundle
in with this otherwise-mostly-harmless context plumbing.

All of the _test.go file updates here are purely mechanical additions of
the extra argument. No test is materially modified by this change, which
is intentional to get some assurance that isn't a breaking change.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
Martin Atkins
35bedc479f command: Meta.RunOperation takes a context.Context
This is part of an ongoing effort to plumb a properly-connected series of
contexts through all of the layers where we might want to generate
telemetry (or similar) in future.

This is _just enough_ to connect the top-level context created by package
main with the various child contexts created by the local backend, so
that they could in principle access the root span that package main
generates.

This is not yet sufficient to propagate the context all the way into the
language runtime. More plumbing to follow in later commits!

This intentionally does not introduce any new OpenTelemetry-specific
context: the goal is only to get the context chain in place so that we
can use it for telemetry delivery in future.

Signed-off-by: Martin Atkins <mart@degeneration.co.uk>
2024-11-19 10:15:21 -08:00
dependabot[bot]
ce8c443754
Bump cross-spawn from 7.0.3 to 7.0.6 in /website (#2185)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 18:44:34 +01:00
dependabot[bot]
6081a05d60
Bump micromatch from 4.0.5 to 4.0.8 in /website (#2178)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 18:17:10 +01:00
dependabot[bot]
a9355a2607
Bump github.com/golang-jwt/jwt/v4 from 4.4.2 to 4.5.1 (#2179)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 18:16:50 +01:00
Sergey Pisarenko
bb6b6c1fc4
Bump golang version to 1.22.8 (address CVE-2024-34156) (#2050)
Signed-off-by: Sergey Pisarenko <spisarenko@palantir.com>
Co-authored-by: Sergey Pisarenko <spisarenko@palantir.com>
2024-11-19 17:47:57 +01:00
Haider Bari
eb15415a2d
"http" backend to return existing lock metadata on lock conflict, rather than new lock metadata (#2090)
Signed-off-by: Bari, Haider <haider.bari@fmr.com>
Co-authored-by: Bari, Haider <haider.bari@fmr.com>
2024-11-19 14:57:19 +02:00
Oleksandr Levchenkov
e4f685d12b
pin node version for docusaurus build (#2177)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-19 09:45:02 +01:00
Oleksandr Levchenkov
52cc91c87a
upgrade golangci-lint to v1.62 (#2174)
Signed-off-by: ollevche <ollevche@gmail.com>
2024-11-18 19:56:29 +02:00
Jon Johnson
821e67feed
Use Equal instead of address strings (#2172)
Signed-off-by: Jon Johnson <jon.johnson@chainguard.dev>
2024-11-18 09:53:19 +01:00
adenhuen
0e189b33f8
test: ensure test vars are not used in tf plan (#2128)
Signed-off-by: Aden Huen <aden.huen@gmail.com>
Signed-off-by: adenhuen <aden.huen@gmail.com>
Signed-off-by: Ados <aden.huen@gmail.com>
Co-authored-by: Oleksandr Levchenkov <ollevche@gmail.com>
2024-11-12 17:23:54 +02:00