mirror of https://github.com/hashicorp/terraform
av/sepyt-motsuc
pss/TF-33680-interactive-confirm-pss-providers
radek/cmd-state-migrate
main
dependabot/go_modules/github.com/Azure/go-ntlmssp-0.1.1
sarah/workspace-subcommands-args-2
sarah/workspace-subcommands-args-1
matejrisek/providers/dynamic_sources
sarah/workspace-use-arguments-package
cleanup/1.15.0-rc3
mildwonkey/import-in-module
v1.15
TF-36258-automation-confirm-pss-providers
v1.14
v1.13
jbardin/reaction
sarah/workspace-list-json-output-nonbreaking
TF-35484
build/add-linux-s390x
radek/pss-fix-missing-lockfile
av/merge-panic-fix
sams/fill-nested
backport/bump-go-getter/painfully-relevant-tortoise
dynamic-module-sources-bugs
mildwonkey/action-in-resource
radek/b-fix-pss-provider-upgrade
testing-for-tracing
ast-hclwrite-migration
backport/fix-base64-error-message/loudly-proven-monster
sarah-radek-b-fix-pss-provider-upgrade
prototype-tf-migration-ast
pss/cleanup-init-gating-flag
backport/jbardin/path-matcher/legally-upright-cub
feature/34010/add-strict-mode-tf-test
add-missing-variable-loading
pss/safe-provider-download-during-init-in-automation
pss/safe-provider-download-during-init
sams/tf-test-parallel-deps-cleanup
jbardin/eval-outputs-with-types
prototype-migrate-ux
stacks-variable-validations
modernize-other-commands
modernize-graph-command-to-use-arguments
modernize-force-unlock-command-to-use-arguments
modernize-fmt-command-to-use-arguments
modernize-workspace-new-command-to-use-arguments
modernize-workspace-delete-command-to-use-arguments
modernize-workspace-select-command-to-use-arguments
modernize-workspace-list-command-to-use-arguments
modernize-logout-command-to-use-arguments
modernize-get-command-to-use-arguments
mildwonkey/action-expansion
tracing
make-ci-target
prototype-expansion-moved-3
guard-against-non-pointers-in-graph-add
prototype-expansion-moved
pss/discovery-block-download-via-download-event-callbacks
prototype-expansion-moved-2
deprecated-resource-block-marks
modernize-console-command-to-use-arguments
modernize-providers-commands-to-use-command-package
modernize-state-commands-to-use-arguments-package
sams/skip-cleanup-release
expanding-moved-blocks
backport/dbanck/bump-otel/thankfully-picked-fish
modernize-taint-commands
modernize-state-commands
modernize-taint-commands-2
modernize-import-command
modernize-providers-lock-command
providers-command-modernization
mildwonkey/action-graph
sams/f-plan
sams/marks-provenance
tfdiags-test-helper-with-extras
pss/discovery-block-download-via-installer-as-blackbox-2
changelog-link-verification
pss/discovery-block-download-via-installer-as-blackbox
sams/jit-instances
refactor-config-types
pss/init-security-workflow-changes
experimental/sams_matej/safe_targeting
sams/feat-targeting
sarah/workspace-list-using-views
v1.11
v1.12
matejrisek/actions/on_failure
prototype-destroy-action
limit-usage-of-deep-unmarking
use-deprecation-marks-for-resource-deprecation-2
shweta/remove_extra_color_code_in_plan_string
sarah/init-cmd-testing-comments
prepare/1.15.0-alpha20260114
stacks-destory-argument
pss/validate-backend-state-store-config-in-plans
pss/change-experiment-control
example-current-experiment
sarah/allow-experiment-overrides
use-deprecation-marks-for-resource-deprecation
deprecation-marks-2
fix-actions-not-respecting-resource-dependencies
changelog-fix-2
changelog-fix
backport/stacks-surface-diagnostics-from-locals/externally-sacred-snapper
backport/fails-in-apply-should-not-set-empty-state/gladly-leading-cattle
stacks-invalid-locals
jbardin/terraform-data-write-only
undeferred-components-should-not-have-unknown-inputs
mildwonkey/actions-deps-tests
pss/update-how-operations-use-backend-config-state
mildwonkey/poc
sarah/plan-workspace-not-used-test
compliance/update-headers
1.13-bump-crypto-dep
experimental/add-on-failure
mjyocca/TF-25756-tf-reg-comp-protocol
prepare/1.15.0-alpha20251117
backport/bump-golang-crypto/lovely-cheerful-stud
proto/reg-comp
deprecation-structural-detection
backport/liamcervante/37841/remarkably-classic-tapir
deprecation-without-marks
azure/fix-empty-string-ignore
backport/dependabot/go_modules/golang.org/x/crypto-0.45.0/nominally-still-dory
backport/radek/pss-isolate-init/slowly-literate-molly
backport/dbanck/fix-list-no-identity-crash/vastly-driving-pig
backport/liamcervante/ephemeral-outputs-state/thankfully-easy-spider
backport/liamcervante/stacks/component-ephemeral-output/repeatedly-perfect-molly
backport/t-bump-go-getter/clearly-master-chow
mildwonkey/de-feral-actions
backport/alanpchua/update-release-scan-config/conversely-adequate-weevil
backport/alanpchua/update-release-scan-config/merely-together-hagfish
backport/liamcervante/ephemerals/stacks-and-tests/indirectly-arriving-shrimp
pss/add-pss-implementations-in-grpcwrap
liamcervante/37784
deps-oci-sdk-update
deprecation-marks
fix-action-targeting-2-backport-1-14
backport/refactor-action-apply-graph/gratefully-upward-perch
backport/liamcervante/actions/validate-ephemeral/remotely-next-monster
pss/2025-10-init-new-workdir
sams/query-validate-identity-change
backport/dbanck/check-identity-schema-decode/notably-heroic-moose
add-duration-to-action-complete
liamcervante/actions/defers-with-edges
backport/add-test-case-for-conditions-referencing-triggering-resource/forcibly-square-wahoo
fix-query-action-interference-2
fix-query-action-interference
sams/xtract-config
backport/sams/list-remove-experiments/rapidly-usable-macaque
mend-security/deploy-workflow-psirt_prd0014263
pss/migrate-state-store-to-backend
TF-27458-2-old
TF-27458-with-partial-expansion
TF-27480
TF-27458-with-partial-expansion-based-on-validation
sarah/add-azure-backend-testing-notes
TF-27460-with-unknown-conditions
TF-27460-with-count-and-index
pss/update-workspace-commands
actions/invoke-command-prototype
actions-in-modules
backport/sams/flaky-test/reliably-fond-flounder
equivalence-testing/add-action-invocations-to-summary
actions/prototype-looping-syntax
TF-27458-old
experiment/actions-no-reference-cycle
pss/prototyping-2025-08-12
backport/dbanck/identity-apply-error/wildly-intent-chamois
backport/dbanck/identity-apply-error/newly-pumped-bonefish
backport/dbanck/identity-apply-error/naturally-vital-grouper
pss/prototyping-2025-06-11
backport/dbanck/identity-apply-error/notably-allowing-macaw
provider-using-hashicorp-namespace
sams/exp/test-breakpoints
pss/enable-specific-experiment-for-init-via-flag
diagnostics-playground
local-state-via-terraform-provider
revert-37307-sams/no-runtime-build
TF-27252
stack-cli-download-in-plugin-cache
radek/pss-builtin-provider-impl
jbardin/ignore_changes
TF-25933
radek/pluggable-backends-protocol
sams/memo-eval-ctx
pss/warning-ss-in-child-module
radek/f-state-storage-cfg
ds-experimenting
sams/parallel-cleanup
bump/consul-remote-state-deps
build-workflow-dev/validate-window-symlink-pack-fix
fix-windows-symlink
sarah/pss-prototype-be-state
backport/radditude/remove-cgo-default/personally-calm-cat
v1.7
v1.6
v1.3
v1.10
v1.9
v1.8
v1.1
v1.0
backport/patch-1/virtually-up-fowl
v1.2
v1.4
v1.5
backport/patch-1/finally-wired-stingray
backport/patch-1/suddenly-stirred-piranha
backport/patch-1/nationally-working-kite
backport/bmm/update-use-cases/lovely-relevant-haddock
docs/reference-rewrites-phrase-1
backport/ilu/bump-vul/logically-robust-tomcat
sarah/pss-prototype-backend-state
backport/dbanck/fix-import-ui-identity/hugely-super-hippo
sams/tfquery-execute-res
sams/ephem-blocks
fixing-stacks-plugin-server-panics
sams/query-list
stacks-subcommand-plugin
backport/dbanck/relax-identity-validation/partly-bursting-llama
f-terraform-actions
backport/iframe-to-videoembed/promptly-grand-turtle
backport/iframe-to-videoembed/safely-ideal-platypus
backport/iframe-to-videoembed/strongly-capable-maggot
backport/dbanck/validate-identity-matches-schema/carefully-many-malamute
sarah/merge-main-controlling-destroys
sarah/partial-config-nested-attrs-bugfix
refactor-with-hcloverlay
f-controlling-destroys
docs/resource-block-ref-rewrite
sarah/add-file-fields
rs/remove_io_links
radek/testing-remove-unused-fields
sams/invalid-triggered-by-ref
docs/march-sprint-lang-rewrites
TF-24447-spike-stacks-cli-as-a-plugin
sarah/refactor-local-state-backend
tfmigrate-links
sams/deferred-targeting
output-deprecation
TF-24682-save
sams/inverse-target
sams/fix-single-wrapped-null
update-aws-sdk-go-base
RK/feedback-on-ephemeral-value-changes
RK/checks-draft
sams/resource-level-concurrency
sarah/auto-label-no-changelog
stacks-debugging-info
backport/sams/tf-test
backport/sams/fix-empty-state/cleanly-moral-maggot
backport/oss/solely-organic-gull
test-changie-check
backport/docs/stacks-deploy/clearly-curious-lioness
sarah/TF-21877
backport/IPL-7602/saved-plan-apply-hangs-with-auto-approve-flag/privately-humorous-jay
output-deprecation-with-marks
sams/cancel-ch-to-ctx
demo-pr
backport/changelog-and-experiments/adequately-ultimate-pika
sams/tf-test-parallel
backport-changie-changelog-to-1-10
cleanup/1.11.0-beta1
backport-changie-changelog
prepare/1.11.0-alpha20250107
prepare/-alpha20250107
ds/main-clean
Content-rewrites-part-1
TF-21851
TF-21851-only-dynamic-backend-first-try
release-0-10-3
equivalence-testing/sams/skip-graph-cycle-validation
f-builtin-write-only-attr
changelog-process
equivalence-testing/update-backend-comments
TF-21877
release/liamcervante-testing
cleanup-1.10-rc.3
equivalence-testing/jbardin/data-depends_on
input-deprecation
equivalence-testing/docs/dnf5
TF-18617-remove-in-the-end-version
equivalence-testing/docs/update-version-constraints-operators-reference
equivalence-testing/main
equivalence-testing/fix/typo-infrastructure
jbardin/no-refresh-objcompat
equivalence-testing/d-update-json-schema
equivalence-testing/jbardin/undeclared-vars
TF-21888
backport/jbardin/ephemeral-funcs/safely-quick-cougar
backport/dependabot/go_modules/github.com/golang-jwt/jwt/v4-4.5.1/daily-probable-ewe
rln-ephemeral-values-updates
trying-to-get-interactive-inputs-to-work
RK/ephemeral-values
ensure-checks-dont-leak-ephemeral-values
ephemeral-checks
add-ephemeral-func
ds/experiment/trigger-block
TF-18609
TF-18610-with-cross-component-ephemeral-values
backport/patch-1/hopelessly-enabled-magpie
ds/deferred-ephemeral-resources-with-change
ds/deferred-ephemeral-resources
ds/office-hours-removed-block
20240919
improve-error-message-for-removed-block-component-collission
apply-destroy-and-forget-plans
nolegacysdk-azure
add-removed-blocks-to-find-stack-config-components-rpc-call
radek/f-ev-ephemeral-func
radek/f-ev-variable-validation
docs/cli-nav-rename
docs/write-configuration-proposal
alisdair/stacks/sensitive-inputs
kmoe/render-output-sensitivity-changes
brandonc/plan_options_replace
brandonc/contains_equality_docs
docs/re-reformat-templatestring-funct
make-plan-public-with-deferred-plan-renderer
make-plan-public-with-deferred-plan-renderer-2
make-plan-public
TF-19059
artifact-manifest/main/presumably-calm-ostrich
jbardin/destroy-validations
f-collections-iterators
revert-32615-patch-1
TF-18435
TF-18463-2
TF-18463
TF-9822
b-variable-default-validation-context
TF-13968
TF-10919
spike-component-remove
f-actions-prototype
TF-17949
kmoe/ephemeral-output-values
f-core-finer-semaphore
f-fmt-required-providers
f-ephemeral-values
f-ephemeral-values-2
b-stacks-apply-variables-not-passed
f-ephemeral-values-stacks
docs/atrujill0-1.9-review
doc-provider-req-cta
f-cmd-console-release-lock
RK/renameAzureAD
f-rpcapi-multipkg
f-stacks-state-plan-handles
TF-13085
TF-13952
f-templatestring-dynamic-traversals
bmm/migrate-tf-phases-doc
f-events-actions
apparentlymart-patch-4
brandonc/deprecated_module_warnings
mjyocca/stacks-rpcapi-package-service
sebasslash/tf-15302_modifiable-snapshot-interval
TF-12601/deprecated-module-warnings
f-stacks-provider-singletons
b-plan-snapshot-experiments
TF-13965
backend/azure/update-to-latest-sdks
docs/atrujillo/lang-add-moved-ref
consistency-provider-deferred
nf/apr24-pr-template
TF-14641
TF-13964
TF-13963
nf/may24-alpha-release
jbardin/plan-valid-nested-null
ensure-all-deferred-provider-workflows-have-same-behavior
TF-13961
f-collections-set-zeroval
backport/RK/fix-links/adequately-related-bear
backport/RK/fix-links/willingly-ultimate-catfish
RK/fix-links
f-stacks-provider-cancel
testing-renovate
f-robust-marks-handling
tf-init-json
TF-13960
TF-13959
radditude/fix-provider-for-each
f-junit-xml-round-2
TF-13960-old
TF-13959-old
TF-13958-old
modify-dev-override-warn-with-backend
TF-13951
bmm/fix-style-anchor
WAF-110-Terraform-Code-Style-Guide
bmm/custom-condition-docs-fix
doc-dependency-updates
f-rehearse-gosum-changes
f-genconfig-hclwrite
f-no-more-helperschema
TF-13084
radditude/stacks-checkable
f-removed-provisioners
TF-10521-Implement-component-resource-correlators-in-the-agent
b-stacks-remove-data-resource
laurenolivia/changelog-fix-cloud-colorize
kmoe/dynamic-foreach-sensitive-error
alisdair/stackeval-hook-replace-action-counts-slice
alisdair/stackeval-hook-replace-action-counts
radditude/standard-panics
improve-dynamic-block-iterator-error
backport/patch-1/lovely-splendid-mackerel
improve-dynamic-block-error-message
document-provider-lock-using-cache
individual-element-diffs
b-evalcontext-funcs-in-partial-expanded-module
fix-is-sensitive
f-plan-applyable-complete-flags
use-plugin-cache-for-provider-lock
b-terraform-test-junit-invalid
heat/chore/update-website-node-version
f-deferred-actions-placeholder-eval
RK/fix-nav-upgrade-name
laurenolivia/fix-cloud-colorize
apparentlymart-patch-3
alisdair/stacks-sensitive-component-outputs
f-stacks-apply-ordering
kmoe/forget-plan-proto-2
backport/bmm/tf-test-mock-doc-update/trivially-kind-burro
bmm/tf-test-mock-doc-update
feature/applied_changes/add_component_addr
gh-issue-34396
brandonc/bump_go-slug_0.13.3
backport/patch-1/scarcely-touched-jennet
sebasslash/cloudplugin_terminal
RELPLAT-955-EOY-license-updates
feature/add-additional-fields-to-resource-proto
f-module-eval-plan
f-deferred-actions
apparentlymart-patch-2
f-addrs-localval-uniquekey
radditude/apply-sensitive-values
f-cmd-graph-simpler
jbardin/provider-functions
RK/update-oracle-registry-links
f-sso-endpoint
dep-minor-upgrades-v1.7
kmoe/import-moved-validation
tests_docs_fixup
apparentlymart-patch-1
b-val-refinements-panics
backport/mock-importstate-data-race/adversely-prompt-halibut
backport/s3/fix-coerce-value/certainly-saving-owl
backport/s3/fix-coerce-value/deeply-on-marlin
backport/s3/f-schema-single-nested-object/accurately-noble-stingray
backport/s3/f-schema-single-nested-object/miserably-well-arachnid
s3/f-check-for-bucket-in-init
backport/s3/improved-s3-error-messages/extremely-natural-filly
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/ghastly-social-hippo
s3/request-logging
backport/s3/request-logging/locally-feasible-snail
backport/s3/testing-endpoints/nominally-becoming-caiman
backport/s3/testing-endpoints/possibly-supreme-kite
backport/s3/testing-endpoints/strangely-cunning-manatee
s3/log-base
backport/s3/log-base/blatantly-ethical-buffalo
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/remarkably-moral-oriole
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/remarkably-stunning-mule
backport/TF-9149-terraform-1-5-should-not-enable-snapshots-when-x-terraform-snapshot-interval-is-not-sent/naturally-wise-primate
backport/jbardin/types/gently-unbiased-walleye
backport/jbardin/types/loudly-hot-poodle
alisdair-patch-1
backport/s3/allow-forbid-account-ids/rarely-casual-louse
backport/s3/allow-forbid-account-ids/violently-on-adder
alisdair/check-results-state-compatibility-1.5
backport/alisdair/check-results-state-compatibility/jointly-curious-kit
alisdair/check-results-state-compatibility-1.3
IPL-3022-terraform-cloud-state-locking-regression-for-local-users
brandonc/state_upload_fallback
import-id-interp-docs
go1.21
radditude/validate-module-names
brandonc/CHANGELOG-go-tfe-bump-v1.38.1
swap_ironbank_stanza
codeowners-core
enable_ironbank
backport/brandonc/bump_go-tfe_v1.32.1/adversely-fit-mite
radditude/check-ci
RK/remove-language
compliance/license-updates
compliance/license-update
s3/more-validation-modernization
update-linux-package-license
backport/jbardin/init-from-module-warnings/informally-trusting-asp
radditude/go-1.20.7
sebasslash/saved-cloud-plans-changelog
cli-team/saved-cloud-plans
brandonc/changelog_33333
TF-7327-using-multiple-terraform-remote-state-data-sources-can-cause-race-conditions-when-the-backend-configuring-localterraform-com
deps-grpc-cve-2023-32731
TF-7056-uploading-state-directly-to-hosted-state-upload-url-when-available
b-svchost-race-panic-v1.5
backport/b-svchost-race-panic/evidently-intense-horse
RK/add-checks-tutorial-and-fix-headers
sebasslash/snapshot-interval-header-check
RELENG-297-patch-set-output-deprecation
backport/fix-iss-33220/allegedly-oriented-warthog
kmoe/genconfig-timeouts
radditude/duplicate-import-blocks
TF-6378-Workspaces-can-use-agent-pools-when-not-in-allowed-workspaces
sarah-test-changes
nf/suggest/laurenolivia/codify-remote-plan-artifact
radditude/ci-test
jbardin/import-with-config
vravind1/plugin-framework-tutorial
alisdair/goimports-fixes
releng/disable-reproducability-checks
f-sourcebundle
laurenolivia/add-resource-drift-logtype
kmoe/plannable-import-plan-renderer
kmoe/plannable-import-types
jbardin/provider-resource-types
backport/patch-1/personally-brave-snapper
tf-5529-sro-tfe-version-check
bflad/debugging-link-to-provider-logging
releng/fix-ecr-tag
releng/fix-trigger-dependencies
releng/migrate-common-release-tooling
b-1.4-no-cty-refinements-yet
backport/patch-3/horribly-patient-ape
f-deferred-actions-old
judith/state
releng/test-linux-arm-tests
ashleemboyer-patch-1
doc-break-plugin-cache-env
docs/amb.migrate-link-formats
f-break-plugin-cache-with-env-var
brandonc/TF-4560
sebasslash/sro-provisioner-logs
sebasslash/fix-credentials-sourcing-backend
sebasslash/cloud-e2e-testworkflow
TF-3527-detect-alias-localterraform-com-during-terraform-init
alisdair/hcl-v2.16.0
f-smoke-test-prototype
f-typeexpr-inferred
kmoe-patch-1
kmoe/import-refresh-false
f-default-provider-address-allowlist
mktg-tf-ee07f063062f473a65a2c1d9c3036251
null-values-fix
f-output-value-types
backport/fix-future-lang-2/mostly-helped-shrew
fix-future-lang-2
f-cli-hide-fast-refresh
f-cmd-web
doc-unicode-hcl
brandonc/changelog_sensitive_diff_fixes
brandonc/changelog_nested_sensitive
f-build-go1.19.3
fix-links-devdot
brandonc/providers-estimate
brandonc/nested_attr_sensitive
fix-future-facing-language
gcs-backend-add-private-connect-support
mg_no_code_prov_followup
add-cont-valid-callout
f-partial-plan-on-error
gcs-backend-add-kms
doc-yamlencode-stable
mg_cli_install_architectures
b-check-output-multi-expand
b-check-resource-multi-expand
uk1288-redact-output-sensitive-values
fix-internals-overview
update-lang-frontmatter
megan_pr_touch_up
kmoe/init-checksum-miss-error
dividers-devdot-fixes
fix-dividers-for-devdot
megan_tf563
f-dynamic-provider-assignment
dev-portal-updates-docs
f-persistent-checks-old
f-jsonstate-2
b-flatten-panic
backport/patch-1/badly-correct-zebra
backport/patch-1/fully-fine-macaw
backport/patch-1/globally-true-burro
backport/patch-1/heavily-moving-teal
backport/patch-1/overly-fleet-polecat
backport/patch-1/presently-upright-newt
backport/patch-1/yearly-first-impala
update-readme
backport/patch-1/yearly-rich-skunk
tiny-fix-readme
kevin/remove-guides-docs
remove-terraform-docs
docs-readme-updates-versioned-docs
module-invocation-warning
update-important-section
f-expand-root-outputs
f-addrs-static-checkable
gs/add-pre-plan-run-tasks
f-moduletest-2
stable-website
backport/bugfix_typos/hardly-sharp-mosquito
fix-readme-again
fix-cdktf-link
backport/fix-apt-page/abnormally-relative-quagga
fix-apt-page
laura-update-docs-readme
MatthewTestBranch
tfexec-0.17.0
add-jsonstate-to-cloudbackendstate2
update-optional-type-attributes
docs-for-each-list-toset
add-jsonstate-to-cloudbackendstate
add-internals-to-sidebar
backport/patch-1/rarely-informed-gopher
f-functions-in-providers
f-testing-with-conditions
add-warnings-backends
add-version-notes-1.2
add-tutorial-custom-conditions
non-interactive-workflows
alisdair/fix-configload-snapshot-panic
fix-postconditions-example
f-partial-plan-on-error-ui
thiskevinwang-patch-1
brandonc/cloud_upgrade_013
update-run-task-result
taiidani/cloudScheme
brandonc/scheme_override_cloud
alisdair/metadata-functions-command
update-runtasks
add-note-about-spaces
sebasslash/err-approval-input-false
sebasslash/config-token-precedence
kevin/preview
update-TF-WORKSPACE-variable
sebasslash/rename-env-vars
laura-update-pre-post-conditions
release-notes-env-credentials
rt-changelog-entry-1.1
sebasslash/env-cloud-e2e-tests
sebasslash/add-cloud-e2e-test-workflow
sebasslash/tf-workspace-cloud-config
kevin/vercel-config
build-pr-checks
uk1288/update-changelog-md-v1-1
uk1288/update-changelog-md
sebasslash/resolve-flaky-env-var-test
uk1288/fix-for-cloud-integration-panic
sebasslash/add-tf-hostname-env-var
f-init-provider-source-feedback
sebasslash/add-tf-org-env-var
uturunku1-patch-2
link_workflow_tutorials
migrate-go-tfe-1_0
f-ng-workflow
uturunku1-patch-1
update-cidrnetmask-docs
tchupp/override-local-vars
backport/barrettclark/update-go-slug/severely-destined-crow
preapply-runtasks-clioutput
fix-broken-link
kmoe/unused-resource-attributes
f-e2etest-deps-forbidden
alisdair/disable-preconditions-postconditions
update-depends-on-docs
fix-preconditions
preapply-runtasks-cli-output
barrettclark/fix-state-outputs-read-permissions
fix-last-intro-nits
fix-intro-page-images
add-new-intro-docs
fix-provisioners-content
update-packaging-action-name
update_gen_meta
f-diagnostics-cli-reorg
test-branch-protection-workflow
alisdair/resource-instance-object-dependencies
f-new-build-pipeline
f-implied-move-module-call
b-1.1-module-source-git
backport/doc-refactoring-nav-link/honestly-sweet-sawfly
tfc-integration-docs
f-svcauth-environment
f-preconditions-postconditions
nf/nov21-migrate-away-from-cloud
tags-reconfigure-msg
backport/jbardin/k8s-mod-update/likely-probable-falcon
lafentres/autolabel-dependabot-prs
cloud-e2e-fix
f-validate-lint
f-rpcplugin-interface
brandonc/variable_parsing_refactor
nq.docs-content-update
backport/jbardin/coerce-value-nested-types/certainly-rested-chigger
backport/jbardin/optional-attrs/obviously-growing-duck
f-plugin-finder
backport/main/absolutely-sterling-whippet
revert-29088-minify_jsonencode
omarismail/run-vars
backport/jbardin/format-empty-nested-attrs/rightly-uncommon-bluegill
backport/jbardin/format-id-name-marks/perfectly-boss-bass
b-miekg-dns-upgrade
f-unused-attr
backport/jbardin/ignore-changes-marks/formerly-new-insect
prototype-implicit-graph
f-moved-again
f-decode-moved
f-derived-values-tracking
alisdair/prototype-moved-actions
v0.15
doc-config-refactoring
review-1.0-docs
f-template-values
cgriggs01-tpdp-default
f-plan-immediate-ops
backport/f-plan-refresh-only-and-replace/really-absolute-silkworm
backport/f-plan-action-reason/incredibly-concrete-jackal
v0.14
v0.13
v0.11
v0.12
f-submodule-outputs-inferred-sensitive
backport/k8s-backend-credentials/radically-decent-mite
res-add-learn-link-debug
f-func-expandnull
f-new-plan-modes
alisdair/version-should-include-prerelease
f-debugger
update-tfe-login-flow
json-schema-export-crash
f-exprstress
alisdair/still-applying-consolidation
f-fewer-apply-updates
pselle/env_delete
b-tf-builtin-provider-parser-fix
f-gen-integration-tests
jan21_language_urls
jan21_url_rfc
b-dev-overrides-plan-warning
jan21_test_broken_link_check
f-prototype-workspaces-are-states
f-cmd-output-raw
pault/0.14-tfce-continue-on-error
cmd-fmt-parens-error
alisdair/mildwonkey/type-func
revamp-cli-config
f-prototype-drift
gitrgoliveira-patch-1
fix-value-assertion-errors
f-nix-legacy-providers
26258
alisdair/are-consul-tests-running
f-temp-without-provider-blocks
f-depfile-pkg
alisdair/plan-summary-after-changes
mnomitch/varialbe-errors-on-remote-backend
alisdair/concise-diff-experiment
alisdair/remote-input-variable-unset
alisdair/backend-config-override-fix-remote-test
f-skip-attrs-as-blocks
alisdair/duplicate-no-color
cgriggs01-stable-pdp
guide-v0.13-beta
july2020_pre0.13_stable-website_backup
f-terraform-version-lock
b-module-instance-resource-deps
f-playground
alisdair/alpine-latest
alisdair/providers-list
f-provider-http-mirrors
f-providers-mirror-2
f-outputs-plan
f-plan-reads
f-cmdline-funcs
ps-protocol2
k8sback
f-refresh-plan
alisdair/getproviders-retries-bad-branch-do-not-use
registry-provider-tiers
f-providerinst-command-tests
f-provider-source-local-discovery
f-cmd-show-config
f-langserver
paddy_module_attribution_tmp
f-providers-new-installer
paddy_paul_proto52
f-providers-mirror
f-cliconfig-hcl2api
build-circleci
f-possible-apply-refactoring
f-core-rpc
f-provider-state-storage
f-workspaces2-prototype
p-go-azure-helpers-0.10.0
f-func-cidrsubnets
regenerate-protobufs
f-resource-for_each-and-experiments
f-testing-eval-prototype
sdk-removed
Incident16886
f-state-upgrade-always
sdk-v0.11-with-go-modules
pluginsdk-v0.12-early8
pluginsdk-v0.12-early7
pluginsdk-v0.12-early6
pluginsdk-v0.12-early5
cd/deprecate-in-docs
pluginsdk-v0.12-early4
pluginsdk-v0.12-early3
f-objchange-nulls
b-nested-set-unknown
b-sdk-nested-id
vendor-bump-hil
b-sdk-import-verify-test
pluginsdk-v0.12-early2
pluginsdk-v0.12-early1
v011
v0.12-alpha
allthingsclowd-patch-1
f-v0.12-cmdvars
f-outputs-in-plan
azurerm-backend-proxy
go1.11rc1-vendor-experiment
f-hcl2-planstate
f-provider-schema-init
f-hcl2-context-old
proto-test-harness
f-svchost-disco
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc1
v1.3.9
v1.4.0-beta2
v1.3.8
v1.4.0-beta1
v1.3.7
v1.4.0-alpha20221207
v1.3.6
v1.3.5
v1.4.0-alpha20221109
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc1
v1.2.9
v1.3.0-beta1
v1.2.8
v1.3.0-alpha20220817
v1.2.7
v1.3.0-alpha20220803
v1.2.6
v1.2.5
v1.3.0-alpha20220706
v1.2.4
v1.3.0-alpha20220622
v1.2.3
v1.3.0-alpha20220608
v1.2.2
v1.2.1
v1.3.0-dev
v1.2.0
v1.2.0-rc2
v1.2.0-rc1
v1.2.0-beta1
v1.1.9
v1.2.0-alpha20220413
v1.1.8
v1.2.0-alpha-20220328
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc1
v1.1.0-beta2
v1.0.11
v1.1.0-beta1
v1.1.0-alpha20211029
v1.0.10
v1.1.0-alpha20211020
v1.0.9
v1.1.0-alpha20211006
v1.0.8
v1.1.0-alpha20210922
v1.0.7
v1.1.0-alpha20210908
v1.0.6
v1.0.5
v1.1.0-alpha20210811
v1.0.4
v1.1.0-alpha20210728
v1.0.3
v1.1.0-alpha20210714
v1.0.2
v1.1.0-alpha20210630
v1.0.1
v1.1.0-alpha20210616
v1.0.0
v0.15.5
v0.15.4
v0.15.3
v0.15.2
v0.11.15
v0.12.31
v0.13.7
v0.14.11
v0.15.1
v0.15.0
v0.14.10
v0.15.0-rc2
v0.15.0-rc1
v0.14.9
v0.15.0-beta2
v0.14.8
v0.15.0-beta1
v0.14.7
v0.15.0-alpha20210210
v0.14.6
v0.15.0-alpha20210127
v0.14.5
v0.15.0-alpha20210107
v0.14.4
v0.13.6
v0.12.30
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.14.0-rc1
v0.14.0-beta2
v0.13.5
v0.14.0-beta1
v0.14.0-alpha20201007
v0.13.4
v0.14.0-alpha20200923
v0.13.3
v0.14.0-alpha20200910
v0.13.2
v0.13.1
v0.13.0
v0.12.29
v0.13.0-rc1
v0.13.0-beta3
v0.12.28
v0.12.27
v0.13.0-beta2
v0.13.0-beta1
v0.12.26
v0.12.25
v0.12.24
v0.12.23
v0.12.22
v0.12.21
v0.12.20
v0.12.19
v0.12.18
v0.12.17
v0.12.16
v0.12.15
v0.12.14
v0.12.13
v0.12.12
v0.12.11
v0.12.10
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.12.0-dev20190520H16
v0.11.14
v0.12.0-rc1
v0.12.0-beta2
v0.11.13
v0.11.12
v0.12.0-beta1
v0.11.12-beta1
v0.11.11
v0.12.0-alpha4
v0.12.0-alpha3
v0.12.0-alpha2
v0.11.10
v0.12.0-alpha1
v0.11.9
v0.11.9-beta1
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.11.0-rc1
v0.11.0-beta1
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.3
v0.10.2
v0.10.1
v0.10.0-rc1
v0.10.0-beta2
v0.9.11
v0.9.10
v0.9.9
v0.10.0-beta1
v0.9.8
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.9.0-beta2
v0.8.8
v0.9.0-beta1
v0.8.7
v0.8.6
v0.8.5
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.8.0-rc3
v0.8.0-rc2
v0.7.13
v0.8.0-rc1
v0.7.12
v0.8.0-beta2
v0.7.11
v0.8.0-beta1
v0.7.9
v0.7.8
v0.7.7
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.7.0-rc4
v0.7.0-rc3
v0.7.0-rc2
v0.7.0-rc1
v0.6.16
v0.6.15
v0.6.14
v0.6.13
v0.6.12
v0.6.11
v0.6.10
v0.6.9
v0.6.8
v0.6.7
v0.6.6
v0.6.5
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.3
0.7.7
list
v0.1.0
v0.1.1
v0.10.0
v0.2.0
v0.2.1
v0.2.2
v0.3.0
v0.3.1
v0.3.5
v0.3.6
v0.3.7
v0.4.0
v0.4.1
v0.4.2
v0.5.0
v0.5.1
v0.7.10
v1.10.0
v1.10.0-alpha20240606
v1.10.0-alpha20240619
v1.10.0-alpha20240717
v1.10.0-alpha20240730
v1.10.0-alpha20240807
v1.10.0-alpha20240814
v1.10.0-alpha20240828
v1.10.0-alpha20240911
v1.10.0-alpha20240918
v1.10.0-alpha20240926
v1.10.0-alpha20241009
v1.10.0-alpha20241023
v1.10.0-beta1
v1.10.0-rc1
v1.10.0-rc2
v1.10.0-rc3
v1.10.1
v1.10.2
v1.10.3
v1.10.4
v1.10.5
v1.11.0
v1.11.0-alpha20241106
v1.11.0-alpha20241211
v1.11.0-alpha20241218
v1.11.0-alpha20250107
v1.11.0-beta1
v1.11.0-beta2
v1.11.0-rc1
v1.11.0-rc2
v1.11.0-rc3
v1.11.1
v1.11.2
v1.11.3
v1.11.4
v1.12.0
v1.12.0-alpha20250213
v1.12.0-alpha20250312
v1.12.0-alpha20250319
v1.12.0-beta1
v1.12.0-beta2
v1.12.0-beta3
v1.12.0-rc1
v1.12.0-rc2
v1.12.1
v1.12.2
v1.13.0
v1.13.0-alpha20250521
v1.13.0-alpha20250604
v1.13.0-alpha20250623
v1.13.0-alpha20250702
v1.13.0-alpha20250708
v1.13.0-beta1
v1.13.0-beta2
v1.13.0-beta3
v1.13.0-rc1
v1.13.1
v1.13.2
v1.13.3
v1.13.4
v1.13.5
v1.14.0
v1.14.0-alpha20250716
v1.14.0-alpha20250724
v1.14.0-alpha20250806
v1.14.0-alpha20250813
v1.14.0-alpha20250827
v1.14.0-alpha20250903
v1.14.0-alpha20250911
v1.14.0-beta1
v1.14.0-beta2
v1.14.0-beta3
v1.14.0-rc1
v1.14.0-rc2
v1.14.1
v1.14.2
v1.14.3
v1.14.4
v1.14.5
v1.14.6
v1.14.7
v1.14.8
v1.14.9
v1.15.0-alpha20251119
v1.15.0-alpha20251203
v1.15.0-alpha20260204
v1.15.0-alpha20260218
v1.15.0-alpha20260304
v1.15.0-beta1
v1.15.0-beta2
v1.15.0-rc1
v1.15.0-rc2
v1.15.0-rc3
v1.3.10
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.5.0
v1.5.0-alpha20230405
v1.5.0-alpha20230504
v1.5.0-beta1
v1.5.0-beta2
v1.5.0-rc1
v1.5.0-rc2
v1.5.1
v1.5.2
v1.5.3
v1.5.4
v1.5.5
v1.5.6
v1.5.7
v1.6.0
v1.6.0-alpha20230719
v1.6.0-alpha20230802
v1.6.0-alpha20230816
v1.6.0-beta1
v1.6.0-beta2
v1.6.0-beta3
v1.6.0-rc1
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v1.6.5
v1.6.6
v1.7.0
v1.7.0-alpha20231025
v1.7.0-alpha20231108
v1.7.0-alpha20231130
v1.7.0-beta1
v1.7.0-beta2
v1.7.0-rc1
v1.7.0-rc2
v1.7.1
v1.7.2
v1.7.3
v1.7.4
v1.7.5
v1.8.0
v1.8.0-alpha20240131
v1.8.0-alpha20240214
v1.8.0-alpha20240216
v1.8.0-alpha20240228
v1.8.0-beta1
v1.8.0-rc1
v1.8.0-rc2
v1.8.1
v1.8.2
v1.8.3
v1.8.4
v1.8.5
v1.9.0
v1.9.0-alpha20240404
v1.9.0-alpha20240501
v1.9.0-alpha20240516
v1.9.0-beta1
v1.9.0-rc1
v1.9.0-rc2
v1.9.0-rc3
v1.9.1
v1.9.2
v1.9.3
v1.9.4
v1.9.5
v1.9.6
v1.9.7
v1.9.8
${ noResults }
53 Commits (8fd8a48a06af33d3a3614b4b48768bd1516632fe)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
cd9257cd53
|
PSS: Enable state store configuration change (#38153)
|
2 months ago |
|
|
c37cf1c0f5
|
test: Enable assertions about prompt text shown to users (#38212)
* test: Update `testInputMap` and `(*UIInput) Input` to allow making assertions about what prompts a user has been shown. Make cleanup happen inside the helper. * test: Update test to assert about prompt contents, showing how changes to `testInputMap` can be used * docs: update godoc for testInputMap |
2 months ago |
|
|
9f5f21f1d8
|
test: Enable mocking http provider sources in tests (#38206)
* test: Update`MockSource` to be able to present providers as being installed via HTTP, add `newMockProviderSourceViaHTTP` for direct use in tests. Compare newMockProviderSourceViaHTTP to the existing newMockProviderSource. newMockProviderSource uses FakeInstallablePackageMeta, which creates metadata for providers that says it's being sourced from a local archive. In newMockProviderSourceViaHTTP the metadata reports the provider is downloaded via HTTP. The URL is created using a base URL that should be obtained from a test http server created in the test. * test: Add `newMockProviderSourceUsingTestHttpServer` helper, to abstract away making the http test server. Add test showing it in use. * refactor: Update test helpers to call t.Cleanup internally |
2 months ago |
|
|
3db7c751a8
|
PSS: Fix use of reattached providers in init, enable use of reattached providers during plan-apply workflow (#38182)
* refactor: Check that the state storage provider is present when beginning to initialise a state store for use in a non-init command. Ensure reattached providers can be used. Previously we passed all required providers into backend options to be used within `stateStoreConfig`, which is invoked via (Meta).Backend. The new approach enforces that the provider is present while assembling the backend options passed to (Meta).Backend from (Meta).backend, which is non-init specific. As this code is defending against users running non-init commands before an init, this place feels appropriate and isn't able to impact the init command. * fix: Reattached PSS providers should return early when checking locks, and an empty locks file is only bad if there isn't a reattached PSS provider * test: Assert that running init with reattached PSS provider is ok, via an E2E test that uses the reattach feature. * fix: Allow builtin or reattached providers to be used for state stores when generating a plan file * test: Expand E2E test to show using a reattached provider can be used for a workflow of init, plan with -out, and apply. * chore: Replace 'io/ioutil' and format code in unmanaged e2e tests |
2 months ago |
|
|
77237310aa
|
Colorize diag details (#38145)
|
2 months ago |
|
|
b8c2cabee8
|
init: Fix when error diagnostics are acted on in PSS's experimental version of `init`. Avoid trying to initialise a state store with insufficient config. (#38125)
|
3 months ago |
|
|
27770ee805
|
PSS: Migration from a backend to a state store (#38048)
* backend/inmem: Make it easier to use the backend in tests * cloud: Make the cloud backend testable * command/views: Introduce migration UI messages * command/init: Add 3 tests for migrations from a backend to PSS - TestInit_backend_to_stateStore_singleWorkspace - TestInit_backend_to_stateStore_multipleWorkspaces - TestInit_cloud_to_stateStore * command/init: Implement migration from a backend to PSS * address PR feedback * remove local state after migration |
3 months ago |
|
|
87ba30ef88
|
plan: Improve diagnostics for uninitialized state_store provider (#38075)
* plan: Improve diagnostics for uninitialized state_store provider * turn suggestion into panic per PR feedback |
3 months ago |
|
|
0ef56b2853
|
PSS : Test edge cases when the selected workspace doesn't exist during `init` with a `state_store` (#38119)
* test: Clarify purpose of existing test related to workspace edge-cases during init. * test: Add test case showing Terraform prompt users to select a new workspace if the current one doesn't exist during init (and others exist). |
3 months ago |
|
|
fa620ad0e9
|
test: Add and update some `init` command tests, linting and code comment changes (#38056)
|
3 months ago |
|
|
44e5f86375
|
PSS: Allow use of pluggable state stores with `-backend=false` during `init` commands (#38066)
|
3 months ago |
|
|
827f693e32
|
test: Update `TestInit_fromModule_dstInSrc` to reflect current behaviour when -from-module references the location of the current directory (#38059)
* test: Update `TestInit_fromModule_dstInSrc` to use modern `t.Chdir` approach, add context through comments
* test: Add context about how `TestInit_fromModule_dstInSrc` has been refactored since it was first created
Originally the test's args were []string{".", "foo"} (https://github.com/hashicorp/terraform/pull/547), where the second arg is the directory TF should use as the root directory. Then the test was changed to use []string{"-from-module=.", "foo"} when the -from-module flag was added in
|
3 months ago |
|
|
1186262c8c
|
backend/http: Refresh state earlier (align with other backends) (#38033)
* correct changelog entry for #38027 * backend/http: Refresh state before returning StateMgr This aligns the http backend with the implementation of StateMgr in other remote backends, which in turn enables easier testing of higher level logic that relies on certain backend behaviours. * backend/http: Refactor TestHTTPBackend to allow custom method implementations * add regression test for PR 38027 |
3 months ago |
|
|
213d133d86
|
command/meta: Enable migration from PSS to a backend (#37949)
* command/meta: Enable migration from PSS to a backend * Address PR feedback * Update internal/command/meta_backend.go Co-authored-by: Sarah French <15078782+SarahFrench@users.noreply.github.com> * meta_backend: Rename stateStore_c_S to stateStore_to_backend --------- Co-authored-by: Sarah French <15078782+SarahFrench@users.noreply.github.com> |
4 months ago |
|
|
a83b7402c2
|
PSS: Add tests showing `state` subcommands being used with PSS (#37891)
* test: Add E2E tests for `state list` and `state show` commands * test: Update `mockPluggableStateStorageProvider` to log a warning during tests where the values in `MockStates` aren't compatible with the `ReadStateBytesFn` default function. Make existing test set an appropriate value in `MockStates`. * test: Update `mockPluggableStateStorageProvider` helper to include a resource schema * test: Add command-level test for `state list` showing integration with pluggable state storage code. * test: Add command-level test for `state show` showing integration with pluggable state storage code. * test: Add command-level test for `state pull` showing integration with pluggable state storage code. * test: Add command-level test for `state identities` showing integration with pluggable state storage code. * test: Add command-level test for `state rm` showing integration with pluggable state storage code. * test: Add command-level test for `state mv` showing integration with pluggable state storage code. * test: Add command-level test for `state push` showing integration with pluggable state storage code. * test: Add command-level test for `state replace-provider` showing integration with pluggable state storage code. * test: Change shared test fixture to not be named after a specific command under test. This test fixure is reused across tests that need the config to define a state store but otherwise rely on the mock provider to set up the test scenario. * test: Update test to use shared test fixture * test: Remove redundant test fixture The internal/command/testdata/state-commands-state-store and internal/command/testdata/state-store-unchanged test fixtures are the same. * fix: Re-add logic for setting chunk size in the context of E2E tests using grpcwrap package This was removed, incorrectly, in https://github.com/hashicorp/terraform/pull/37899 * refactor: Let panic happen if there's incompatibility between mock returned from `mockPluggableStateStorageProvider` and the `MockStates` that's been set in the mock * test: Refactor to contain paths in reused variable, remove unnecessary .gitkeep * test: Remove unneeded test code |
5 months ago |
|
|
d884031b4b
|
PSS: Implement unsetting of a state store (#37875)
* Remove BackendOpts.ProviderFactory abstraction layer * PSS: Implement unsetting of a state store * address PR feedback |
5 months ago |
|
|
efb2a1c567
|
PSS: Let the `init` command recognise when there are no changes in configuration. (#37777)
* Pull determining of PSS provider's version from current locks into a separate method * Add code for identifying when config and provider version match existing backend state (i.e. no changes) * Update test - locks are now needed before it hits expected error diag return * Add test showing successful init when no config changes are detected. * Update `getStateStorageProviderVersion` to return nil versions for builtin and re-attached providers. This makes comparison easier when determining if config has changed since last init. * Add test coverage for `getStateStorageProviderVersion` * Move testing fixtures around, preparing for different types of changed state_store config changes being tested * Add test showing that changing the state_store config is detected as a change, but handling this scenario isn't implemented yet * Update hashes in test fixture backend state file to be accurate Previously dummy values were fine, but as tests using hashes to identify changes these values need to be accurate! * Update existing test cases so that Terraform uses the same test provider version as described in the backend state file fixture for the test. * Add test showing that changing the PSS provider's config is detected as a change, but handling this scenario isn't implemented yet * Add test showing that swapping to a different state storage implementation in the same provider is detected as a change, but handling this scenario isn't implemented yet * Add test showing that changing the provider used for PSS is detected as a change, but handling this scenario isn't implemented yet * Add test showing that upgrading a provider is detected as a change, but handling this scenario isn't implemented yet * Update test to use v1.2.3 for consistency with other tests Just to avoid any confusion if copy-pasting happens in future. * More corrections to existing test fixtures - unset config should be null, and replace dummy hash values with correct values. * Fix test for using -reconfigure with state_store; the default workspace would already exist in this scenario * Update TestInit_stateStore_configUnchanged to assert that init was a no-op for backend state * Remove unused fixture * Remove test that's replaced by new tests in command/init_test.go * Replace old references to deleted "state-store-changed" test fixture & update test to not expect a value for region attr in provider config * Make test fixture coupling a little more understandable * Refactor detection of no need to migrate into a function * Add TODO about more involved provider version change tests We will allow downgrades to succeed as long as the schema version number is unchanged * Update (configs.StateStore)Hash method to return a single hash that's impacted by: state store config, provider config, state store type, provider source * Update calling code and test helper code to reflect that the nested provider block no longer has its own hash * Remove test; there is now a single hash that SHOULD be affected by the provider block! * Also use provider name, from config, in hash * Update tests to reflect changes in how hashes are made * Remove unused `stateStoreConfigNeedsMigration` function * Remove duplicate isProviderReattached function. * Fixes to affected tests * Allow provider version to impact the state storage hash, update impacted tests and test fixtures * Update tests that now require locks data to be present in test setup * Update comment for accuracy * Fixes to other test fixtures - remove excess hash field, set hash to 0 to indicate they're not set accurately. * Make upgrade test actually use upgrade code path * Add lock files to test fixture directories that represent a project that's had a successful prior init using PSS |
6 months ago |
|
|
6b73f710f8
|
PSS: Implement initialisation of new working directory (or use of `-reconfigure` flag) while using `state_store` (#37732)
* Minor fixes in diagnostics This can only be done once modules have been parsed and the required providers data is available. There are multiple places where config is parsed, into either Config or Module structs, so this needs to be implemented in multiple places. * Rename test to make it specific to use of backend block in config * Update initBackend to accept whole initArgs collection * Only process --backend-config data, when setting up a `backend`, if that data isn't empty * Simplify how mock provider factories are made in tests * Update mock provider's default logic to track and manage existing workspaces * Add `ProviderSchema` method to `Pluggable` structs. This allows calling code to access the provider schema when using provider configuration data. * Add function for converting a providerreqs.Version to a hashicorp/go-version Version. This is needed for using locks when creating the backend state file. * Implement initial version of init new working directories using `stateStore_C_s`. Default to creating the default workspace if no workspaces exist. * Update test fixtures to match the hashicorp/test mock provider used in PSS tests * Allow tests to obtain locks that include `testingOverrides` providers. The `testingOverrides` field will only be set in tests, so this should not impact end users. * Add tests showing TF can initialize a working directory for the first time (and do the same when forced by -reconfigure flag). Remove replaced tests. * Add -create-default-workspace flag, to be used to disable creating the default workspace by default when -input=false (i.e for use in CI). Refactor creation of default workspace logic. Add tests. * Allow reattached providers to be used during init for PSS * Rename variable to `backendHash` so relation to `backend` is clearer * Allow `(m *Meta) Backend` to return warning diagnostics * Protect against nil testingOverrides in providerFactoriesFromLocks * Add test case seeing what happens if default workspace selected, doesn't exist, but other workspaces do exist. The consequences here are due to using `selectWorkspace` in `stateStore_C_s`, matching what's done in `backend_C_r_s`. * Address code consistency check failure on PR * Refactor use of mock in test that's experiencing EOF error... * Remove test that requires test to supply input for user prompt This test passes when run in isolation but fails when run alongside other tests, even when skipping all other tests using `testStdinPipe`. I don't think the value of this test is great enough to start changing how we test stdin input. * Allow -create-default-workspace to be used regardless of whether input is enabled or disabled * Add TF_SKIP_CREATE_DEFAULT_WORKSPACE environment variable * Responses to feedback, including making testStdinPipe helper log details of errors copying data to stdin. Note: We cannot call t.Fatal from a non-test goroutine. * Use Errorf instead * Allow backend state files to not include version data when a builtin or reattached provider is in use. * Add clarifying comment about re-attached providers when finding the matching entry in required_providers * Report that the default workspace was created to the view * Refactor: use error comparison via `errors.Is` to identify when no workspaces exist. * Move handling of TF_ENABLE_PLUGGABLE_STATE_STORAGE into init's ParseInit func. * Validate that PSS-related flags can only be used when experiments are enabled, enforce coupling of PSS-related flags when in use. * Slight rewording of output message about default workspace * Update test to assert new output about default workspace |
6 months ago |
|
|
5be24bf1d0
|
Fix experimental gating of PSS feature (#37526)
* Stop `state_store` being parsed when experiments aren't enabled * Update tests that show the feature is experimentally gated * Refactor to use unparsed hcl.Block for diagnostics when experiments aren't enabled |
8 months ago |
|
|
da76dba3dc
|
PSS: Add alternative, experimental version of `init` command that downloads providers in two stages (#37350)
* Add forked version of `run` logic that's only used if experiments are enabled * Reorder actions in experimental init - load in full config before configuring the backend. * Add getProvidersFromConfig method, initially as an exact copy of getProviders * Make getProvidersFromConfig not use state to get providers * Add `appendLockedDependencies` method to `Meta` to allow multi-phase saving to the dep locks file * Update experimental init to use new getProvidersFromConfig method * Add new getProvidersFromState method that only accepts state information as input for getting providers. Use in experimental init and append values to existing deps lock file * Update messages sent to view about provider download phases * Change init to save updates to the deps lock file only once * Make Terraform output report that a lock file _will_ be made after providers are determined from config * Remove use of `ProviderDownloadOutcome`s * Move repeated code into separate method * Change provider download approach: determine if locks changed at point of attempting to update the lockfile, keep record of incomplete providers inside init command struct * Refactor `mergeLockedDependencies` and update test * Add comments to provider download methods * Fix issue where incorrect message ouput to view when downloading providers * Update `mergeLockedDependencies` method to be more generic * Update `getProvidersFromState` method to receive in-progress config locks and merge those with any locks on file. This allows re-use of providers downloaded by `getProvidersFromConfig` in the same init command * Fix config for `TestInit_stateStoreBlockIsExperimental` * Improve testing of mergeLockedDependencies; state locks are always missing version constraints * Add tests for 2 phase provider download * Add test case to cover use of the `-upgrade` flag * Change the message shown when a provider is reused during the second provider download step. When downloading providers described only in the state then the provider may already be downloaded from a previous init (i.e. is recorded in the deps lock file) or downloaded during step 1 of provider download. The message here needs to cover both potential scenarios. * Update mergeLockedDependencies comment * fix: completely remove use of upgrade flag in getProvidersFromState * Fix: avoid nil pointer errors by returning an empty collection of locks when there is no state * Fix: use state store data only in diagnostic * Change how we make PSS experimental - avoid relying on a package level variable that causes tests to interact. * Remove full-stop in view message, update tests * Update span names to be unique * Re-add lost early returns * Remove unused view messages * Add comments to new view messages |
8 months ago |
|
|
7199fbd2bb
|
Update use of `testChdir` to standard library's `t.Chdir`, remove `testChdir` function from codebase (#37334)
* Replace use of `testChdir` with `t.Chdir` * Update tests to use temporary directories with copied content, instead of using directories in the repo directly. * Remove stacks copy of testChdir function This has been replaced with t.Chdir from the standard library * Replace remaining simple usage of testChdir * Update guidance for using `tempWorkingDir` * Replace use of testChdir in a function reused in a single test * Update comments to no longer recommend using testChdir * Remove testChdir function! |
9 months ago |
|
|
15840b3eae
|
Replace use of `defer` with `t.Cleanup` in majority of `command` package tests, update `testChdir` to work with t.Cleanup (#37326)
* Replace use of `defer` with `t.Cleanup` in tests * Fix test failures by making cleanup function permissive of the temp dir being already deleted. |
9 months ago |
|
|
b3d7dae793
|
Add config parsing and validation for PSS (#37178)
* Enable parsing of blocks in individual files Co-authored-by: Radek Simko <radeksimko@users.noreply.github.com> * Enable handling of state stores when parsing a module from its constituent files. This includes: validations of duplicates and clashes, supporting override files. Co-authored-by: Radek Simko <radeksimko@users.noreply.github.com> * Add tests for validation that detects conflicts between state_store blocks and others * Add tests for state_store override behavior * Add tests for validation that detects when conflicting state-related blocks are used, either in the same file or across separate files * Update error message summaries to explicitly say blocks conflict * Add small changes to assertions in state_store override tests * Update state_store block parsing to expect scoped provider block * Update tests following syntax change * Make config parsing experimental * Remove testModuleFromDirWithExperiment, as testModuleFromDirWithExperiments exists! * Update code comment --------- Co-authored-by: Radek Simko <radeksimko@users.noreply.github.com> Co-authored-by: Radek Simko <radek.simko@gmail.com> |
11 months ago |
|
|
7f29df96a0
|
Allow terraform init when only test files are present in directory (#36429)
|
1 year ago |
|
|
4f62fcac53
|
init: fix invalid + duplicate required provider blocks crashing (#35533)
|
2 years ago |
|
|
fcfbd85aa5 |
add suggestion to run `terraform providers`
On a default provider install failure we can always suggest running `terraform providers` to help in cases where it's not apparent to the user how to proceed. This would most commonly be encountered by conflicting provider requirements, but if we find there are other common situations we may want to generate a more precise error type for better diagnostics. |
2 years ago |
|
|
48fc2d3ac7
|
terraform test: Disallow version constraints within test files (#35161)
|
2 years ago |
|
|
015f795ff0 |
Rebrand Terraform Cloud to HCP Terraform
|
2 years ago |
|
|
c7bbc09631 |
move all command args from command/init to args/init
|
2 years ago |
|
|
0ea25e3b40 |
fixing tests internal/command/init, view and argumento
|
2 years ago |
|
|
26f01d699a |
add test for -json support
|
2 years ago |
|
|
05b0bdac99
|
adopt hashicorp/cli fork of mitchellh/cli (#34429)
|
2 years ago |
|
|
f8b1fe47dd
|
Make config errors more important during init operations (#33628)
* make config errors more important during init operations * address comments |
3 years ago |
|
|
4b34902fab
|
[testing framework] allow tests to define and override providers (#33466)
* [testing framework] prepare for beta phase of development * [Testing Framework] Add module block to test run blocks * [testing framework] allow tests to define and override providers |
3 years ago |
|
|
5acc95dda7
|
[Testing Framework] Add module block to test run blocks (#33456)
* [testing framework] prepare for beta phase of development * [Testing Framework] Add module block to test run blocks |
3 years ago |
|
|
727e22e762 |
add tests for init syntax error handling
With the demise of the early config loader, we want to show core version errors first, followed by backend errors, and only then show other errors with the configuration. |
3 years ago |
|
|
83e84e5477
|
terraform init: add warning and guidance when lock file is incomplete (#31399)
* terraform init: add warning and guidance when lock file is incomplete * make the provider list in the warning deterministic * create installer event for tracking provider lock hashes (#31406) * create installer event for tracking provider lock hashes * address comments * fix tests * improve error message * Update internal/command/init.go Co-authored-by: Martin Atkins <mart@degeneration.co.uk> Co-authored-by: Martin Atkins <mart@degeneration.co.uk> |
4 years ago |
|
|
fedd315275
|
test: use `T.TempDir` to create temporary test directory (#30803)
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.
Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
defer func() {
if err := os.RemoveAll(dir); err != nil {
t.Fatal(err)
}
}
is also tedious, but `t.TempDir` handles this for us nicely.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
|
4 years ago |
|
|
23395a1022 |
providercache: Discard lock entries for unused providers
Previously we would only ever add new lock entries or update existing ones. However, it's possible that over time a module may _cease_ using a particular provider, at which point we ought to remove it from the lock file so that operations won't fail when seeing that the provider cache directory is inconsistent with the lock file. Now the provider installer (EnsureProviderVersions) will remove any lock file entries that relate to providers not included in the given requirements, which therefore makes the resulting lock file properly match the set of packages the installer wrote into the cache. This does potentially mean that someone could inadvertently defeat the lock by removing a provider dependency, running "terraform init", then undoing that removal, and finally running "terraform init" again. However, that seems relatively unlikely compared to the likelihood of removing a provider and keeping it removed, and in the event it _did_ happen the changes to the lock entry for that provider would be visible in the diff of the provider lock file as usual, and so could be noticed in code review just as for any other change to dependencies. |
4 years ago |
|
|
419676cb69 |
Cloud integration requires input for migrations
We cannot programmatically migrate workspaces to Terraform Cloud without prompts, so `-input=false` should not be allowed in those cases. There are 4 scenarios where we need input from a user to complete migrating workspaces to Terraform Cloud. 1.) Migrate from a single local workspace to Terraform Cloud * Terraform config for a local backend. Implicit local (no backend specified) is fine. * `terraform init` and `terraform apply` * Change the Terraform config to use the cloud block * `terraform init -input=false` * You should now see an error message 2.) Migrate from a remote backend with a prefix to Terraform Cloud with tags * Create a workspace in Terraform Cloud manually. The name should include a prefix, like "app-one" * Have the terraform config use `backend "remote"` with a prefix set to "app-" * `terraform init` and `terraform apply` * Update the Terraform config to use a cloud block with `tags = ["app"]`. There should not be a prefix defined in the config now. * `terraform init -input=false` * You should now see an error message 3.) Migrate from multiple local workspaces to a single Terraform Cloud workspace * Create one or many local workspaces * `terraform init` and `terraform apply` in each * Change the Terraform config to use the cloud block * `terraform init -input=false` * You should now see an error message 4.) Migrate to Terraform Cloud and ask for a workspace name * Create several local workspaces * `terraform init` and `terraform apply` in each * Change the Terraform config to use the cloud block with tags * `terraform init -input=false` * You should now see an error message |
4 years ago |
|
|
bac59d2480 |
command/init: Be explicit that some options are not relevant for Cloud
There are a few command line options for "terraform init" which are only relevant when working with traditional backends, with the Cloud integration previously just mostly ignoring them, or sometimes misbehaving slightly due to them creating an unreasonable situation. Now we'll catch these and return explicit errors, in order to be clear that these options are not needed nor supported in Cloud mode. |
5 years ago |
|
|
64635edfb9
|
Merge pull request #29885 from hashicorp/kmoe/more-init-interrupts
command: make module installation interruptible |
5 years ago |
|
|
40ec62c139
|
command: make module installation interruptible
Earlier work to make "terraform init" interruptible made the getproviders package context-aware in order to allow provider installation to be cancelled. Here we make a similar change for module installation, which is now also cancellable with SIGINT. This involves plumbing context through initwd and getmodules. Functions which can make network requests now include a context parameter whose cancellation cancels those requests. Since the module installation code is shared, "terraform get" is now also interruptible during module installation. |
5 years ago |
|
|
19cce931a8 |
Test case for changing backend hash during aborted state migration
Pulled and updated from https://github.com/hashicorp/terraform/pull/26260 |
5 years ago |
|
|
cdd5ee6fb3
|
Merge pull request #29773 from hashicorp/alisdair/init-lock-flags
cli: Restore -lock and -lock-timeout init flags |
5 years ago |
|
|
c587384dff |
cli: Restore -lock and -lock-timeout init flags
The -lock and -lock-timeout flags were removed prior to the release of 1.0 as they were thought to have no effect. This is not true in the case of state migrations when changing backends. This commit restores these flags, and adds test coverage for locking during backend state migration. Also update the help output describing other boolean flags, showing the argument as the user would type it rather than the default behavior. |
5 years ago |
|
|
fb58f9e6d2 |
cli: Fix flaky init cancel test
There is a race between the MockSource and ShutdownCh which sometimes causes this test to fail. Add a HangingSource implementation of Source which hangs until the context is cancelled, so that there is always time for a user-initiated shutdown to trigger the cancellation code path under test. |
5 years ago |
|
|
c2e0d265cf |
LoadModule now always returns the module
We don't need to load the configuration twice, since configload can return the module for us. |
5 years ago |
|
|
625e768678 |
make sure required_version is checked before diags
We must ensure that the terraform required_version is checked as early as possible, so that new configuration constructs don't cause init to fail without indicating the version is incompatible. The loadConfig call before the earlyconfig parsing seems to be unneeded, and we can delay that to de-tangle it from installing the modules which may have their own constraints. TODO: it seems that loadConfig should be able to handle returning the version constraints in the same manner as loadSingleModule. |
5 years ago |
|
|
8684a85e26 |
command: Ensure all answers were used in command.testInputResponseMap
Remove answers from testInputResponse as they are given, and raise an
error during cleanup if any answers remain unused.
This enables tests to ensure that the expected mock answers are actually
used in a test; previously, an entire branch of code including an input
sequence could be omitted and the test(s) would not fail.
The only test that had unused answers in this map is one leftover from
legacy state migrations, a prompt that was removed in
|
5 years ago |