opentofu/internal/command
Christian Mesh 326ae112f2 Introduce plugin managers
Provider and Provisioner Managers encapsulate all of
the logic nessesary to start, manage, and stop plugins.

They also have the advantage of sharing a schema cache between
managers started in different parts of the application.

Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
2026-01-15 10:50:29 -05:00
..
arguments Retaining resources during destruction - New flag -suppress-forget-errors (#3588) 2025-12-16 15:41:03 +04:00
cliconfig various: Remove legacy "+build" comments 2025-11-01 08:00:01 -03:00
clistate statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
e2etest Consolidate provider resource mocking and overrides (#3547) 2025-12-15 08:52:10 -05:00
format command/format: FilterControlChars is now ReplaceControlChars 2025-11-10 09:49:35 -08:00
jsonchecks Feature branch: Ephemeral resources (#2852) 2025-08-04 16:39:12 +03:00
jsonconfig fix: Prevent nil panic in marshalProviderConfigs when inSingleModuleMode (#3294) 2025-09-22 13:40:48 +01:00
jsonentities Retaining resource during destruction - action and reason marshalling extension (#3569) 2025-12-12 15:16:54 +04:00
jsonformat Retaining resource during destruction - action and reason marshalling extension (#3569) 2025-12-12 15:16:54 +04:00
jsonfunction Unify core functions address handling (#3445) 2025-10-31 08:41:52 +02:00
jsonplan Retaining resource during destruction - action and reason marshalling extension (#3569) 2025-12-12 15:16:54 +04:00
jsonprovider Ephemeral write only attributes (#3171) 2025-09-10 07:45:23 -04:00
jsonstate Feature branch: Ephemeral resources (#2852) 2025-08-04 16:39:12 +03:00
testdata Retain resource instances with a new lifecycle argument - destroy (#3409) 2025-12-04 18:49:57 +04:00
testing Ephemeral todos handling (#3177) 2025-09-10 07:45:23 -04:00
views Retain resource instances with a new lifecycle argument - destroy (#3409) 2025-12-04 18:49:57 +04:00
webbrowser main: Honor the BROWSER environment variable on Unix systems 2025-11-03 11:27:13 -08:00
workdir Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
alias.go Add new CLI arg to control what warnings should be shown for deprecated outputs/variables (#2705) 2025-05-08 17:01:40 +03:00
apply.go Retaining resources during destruction - New flag -suppress-forget-errors (#3588) 2025-12-16 15:41:03 +04:00
apply_destroy_test.go Retaining resources during destruction - New flag -suppress-forget-errors (#3588) 2025-12-16 15:41:03 +04:00
apply_test.go Introduce plugin managers 2026-01-15 10:50:29 -05:00
autocomplete.go backend: Backend.Workspaces takes context.Context 2025-05-07 14:14:34 -07:00
autocomplete_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
cli_ui.go Fix struct names (#1494) 2024-04-25 08:15:46 +02:00
cli_ui_test.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
command.go Better var file type detection (#1881) 2024-08-02 07:29:40 -04:00
command_test.go Extract TF_PROVIDER_DOWNLOAD_RETRY env var from the getproviders package (#3338) 2025-10-13 10:00:19 +03:00
console.go Add new CLI arg to control what warnings should be shown for deprecated outputs/variables (#2705) 2025-05-08 17:01:40 +03:00
console_interactive.go Fix exit command in console interactive mode (#2086) 2024-10-29 12:13:44 +02:00
console_interactive_test.go fix TestConsole* tests on Windows (#3205) 2025-08-28 20:01:11 -03:00
console_state.go Implement the first part of RFC 20250303-linter-policy (#2577) 2025-03-10 13:16:27 -04:00
console_state_test.go Adds multi line support to console (#1875) 2024-08-02 10:21:44 +01:00
console_test.go fix missing TestConsole* tests on Windows (#3213) 2025-08-29 14:32:33 -03:00
flag_kv.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
flag_kv_test.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
fmt.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
fmt_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
get.go Update help text for static variable support (#1804) 2024-07-11 11:00:18 -04:00
get_test.go httpclient: Add OTel tracing automatically when needed (#2772) 2025-05-09 10:16:38 +01:00
graph.go Add context propagation to Command Meta entrypoint methods (#2735) 2025-04-30 16:28:19 +01:00
graph_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
helper.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
hook_module_install.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
import.go Feature branch: Ephemeral resources (#2852) 2025-08-04 16:39:12 +03:00
import_test.go CLI import target validation for incorrect for_each keys (#3106) 2025-09-02 13:21:19 +04:00
init.go Parallelize provider installation (#2729) 2025-12-01 11:55:53 -05:00
init_test.go fix: DirFromModule related tests on Windows (#3289) 2025-09-20 15:51:29 -03:00
login.go command/format: FilterControlChars is now ReplaceControlChars 2025-11-10 09:49:35 -08:00
login_test.go command/login: Filter C0 control characters in HCP Terraform motd 2025-11-10 09:49:35 -08:00
logout.go Adopt OpenTofu's own "svchost" module 2025-06-12 09:37:59 -07:00
logout_test.go Adopt OpenTofu's own "svchost" module 2025-06-12 09:37:59 -07:00
meta.go Introduce plugins.Library 2026-01-26 09:20:04 -05:00
meta_backend.go backend/local: Opt-in to experimental plan/apply/refresh functions 2025-11-21 09:20:59 -08:00
meta_backend_migrate.go Document -force-copy option in -migrate-state error message 2025-10-07 08:36:30 -04:00
meta_backend_migrate_test.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
meta_backend_test.go fix TestMeta* on Windows (#3201) 2025-08-28 12:19:00 -03:00
meta_config.go Ephemeral variables (#3108) 2025-09-10 07:45:23 -04:00
meta_dependencies.go command: Only shim dependency lock file for installation actions 2025-07-01 07:44:47 -07:00
meta_encryption.go tofu: EvalContext expression evaluation takes context.Context (#2937) 2025-06-19 10:46:31 +01:00
meta_new.go Initial wiring of encryption through the command package (#1316) 2024-03-07 08:55:57 -05:00
meta_providers.go Remove global schema cache and clean up tofu schema/contextPlugins (#3589) 2025-12-17 09:49:39 -05:00
meta_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
meta_ui.go add automated copyright header check (#1696) 2024-06-03 16:49:36 +03:00
meta_vars.go Adds prompt for missing static variables (#2047) 2024-10-07 18:30:42 +01:00
meta_vars_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
metadata_command.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
metadata_functions.go Unify core functions address handling (#3445) 2025-10-31 08:41:52 +02:00
metadata_functions_test.go Unify core functions address handling (#3445) 2025-10-31 08:41:52 +02:00
output.go website: Warn about "tofu output -raw" in a terminal 2025-11-10 09:49:35 -08:00
output_test.go add deprecation warnings support for terraform_remote_state (#2679) 2025-04-25 12:26:28 +03:00
plan.go Rename the CLI arg for deprecation outputs/variables (#2774) 2025-05-09 14:01:32 +03:00
plan_test.go Introduce plugin managers 2026-01-15 10:50:29 -05:00
plugins.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
plugins_test.go providers: Interface now requires context.Context arguments 2025-05-23 08:58:23 -07:00
providers.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
providers_lock.go Parallelize provider installation (#2729) 2025-12-01 11:55:53 -05:00
providers_lock_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
providers_mirror.go Extract TF_PROVIDER_DOWNLOAD_RETRY env var from the getproviders package (#3338) 2025-10-13 10:00:19 +03:00
providers_mirror_test.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
providers_schema.go core: tofu.Context.Schemas takes a context.Context 2025-05-08 07:13:19 -07:00
providers_schema_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
providers_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
push.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
refresh.go Add context propagation to Command Meta entrypoint methods (#2735) 2025-04-30 16:28:19 +01:00
refresh_test.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
show.go tracing: Centralize our OpenTelemetry package imports 2025-10-30 13:27:10 -07:00
show_test.go Using forward slashes in PackageDir to fix providercache tests in Windows (#3233) 2025-09-16 09:38:04 -03:00
state_command.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
state_list.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_list_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
state_meta.go backend: Backend.StateMgr takes context.Context 2025-05-07 14:14:34 -07:00
state_mv.go Feature branch: Ephemeral resources (#2852) 2025-08-04 16:39:12 +03:00
state_mv_test.go Feature branch: Ephemeral resources (#2852) 2025-08-04 16:39:12 +03:00
state_pull.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_pull_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
state_push.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_push_test.go Adapt statelocker usage to Windows (#3206) 2025-09-06 10:47:17 -03:00
state_replace_provider.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_replace_provider_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
state_rm.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_rm_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
state_show.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
state_show_test.go Use modern helpers from Go's testing.T API (#2692) 2025-04-23 07:48:41 -04:00
state_test.go Add context propagation to Command Meta entrypoint methods (#2735) 2025-04-30 16:28:19 +01:00
taint.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
taint_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
test.go Remove direct uses of golang.org/x/exp 2025-10-09 15:23:05 -07:00
test_test.go Fix test crash when using deprecated outputs in the root module (#3249) 2025-09-05 14:41:32 -04:00
ui_input.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
ui_input_test.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
unlock.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
unlock_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
untaint.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
untaint_test.go Fix linting in internal/command (#2798) 2025-05-15 07:39:11 -04:00
validate.go Add context propagation to Command Meta entrypoint methods (#2735) 2025-04-30 16:28:19 +01:00
validate_test.go Fix import validation with resource reference (unknown value) (#3513) 2025-11-19 09:58:35 -05:00
version.go Mention in logs and version output when FIPS-140-3 mode is enabled 2025-11-17 07:40:11 -05:00
version_test.go [OpenTelemetry] Add traces to init command (#2665) 2025-04-25 12:40:48 +01:00
workspace_command.go Update copyright notice (#1232) 2024-02-08 09:48:59 +00:00
workspace_command_test.go Close the file handlers in TestWorkspace_deleteWithState after use (#3230) 2025-09-02 16:07:35 -03:00
workspace_delete.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
workspace_list.go backend: Backend.Workspaces takes context.Context 2025-05-07 14:14:34 -07:00
workspace_new.go statemgr+remote: context.Context parameters 2025-07-10 08:11:39 -07:00
workspace_select.go backend: Backend.StateMgr takes context.Context 2025-05-07 14:14:34 -07:00
workspace_show.go Add context propagation to Command Meta entrypoint methods (#2735) 2025-04-30 16:28:19 +01:00