-
Notifications
You must be signed in to change notification settings - Fork 10.1k
PSS: Update the workspace new subcommand to work with PSS, add E2E and integration tests for using workspace commands with PSS.
#37855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+308
−6
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
727ae19 to
8f77b19
Compare
3226e68 to
345fef9
Compare
8f77b19 to
316d5b5
Compare
af8745d to
1e07af1
Compare
SarahFrench
commented
Nov 7, 2025
Comment on lines
1842
to
1845
| protoReq := &proto6.DeleteState_Request{ | ||
| TypeName: r.TypeName, | ||
| StateId: r.StateId, | ||
| } |
Member
Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found a bug during this work 🐛
workspace new subcommand to work with PSS, add E2E test.workspace new subcommand to work with PSS, add E2E and integration tests for using workspace commands with PSS.
SarahFrench
commented
Nov 7, 2025
55a606d to
734e6fd
Compare
Base automatically changed from
pss/add-builtin-inmem-state-storage-implementation
to
main
November 11, 2025 15:30
734e6fd to
55de3b2
Compare
…e workspace command
…te files are created by given commands
We still need an E2E test for this, to ensure that the GRPC-related packages pass all the expected data between core and the provider.
55de3b2 to
b8f9088
Compare
SarahFrench
commented
Nov 11, 2025
radeksimko
previously approved these changes
Nov 14, 2025
radeksimko
approved these changes
Nov 18, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(Stacked on top of #37790, due to needing
simple6implementations of PSS for E2E testing)This PR introduces a bunch of testing to show that the
workspacecommands work in combination with pluggable state storage. There is both an integration test and an E2E test showing that PSS can be used in the context of this sequence of actions:initto create a default workspaceIn this PR I also updated how
workspace newis implemented. This new code comment explains how the command previously achieved creating a new workspace:terraform/internal/command/workspace_new.go
Lines 99 to 106 in 55a606d
Pluggable state stores intentionally don't have side-effects in the same way, and instead Terraform is expected to create the state file explicitly. I've updated the
workspace newcommand to identify when PSS is in use and to only attempt to create the state file when that's the case. Due to this there isn't an issue of state files being 'created twice' etc when PSS isn't in use.Target Release
1.15.x
Rollback Plan
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
CHANGELOG entry