-
Notifications
You must be signed in to change notification settings - Fork 10.2k
PSS: Allow pluggable state store configuration to be stored in a plan file and used during an apply operation #37248
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
PSS: Allow pluggable state store configuration to be stored in a plan file and used during an apply operation #37248
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
7b80adb to
a2acc33
Compare
1da8373 to
cd0c5b2
Compare
This comment was marked as outdated.
This comment was marked as outdated.
a42acd7 to
2415a6f
Compare
2415a6f to
a5a439f
Compare
a5a439f to
1f72760
Compare
This comment was marked as outdated.
This comment was marked as outdated.
cb564b4 to
388ced0
Compare
This comment was marked as outdated.
This comment was marked as outdated.
88c80eb to
ef2b038
Compare
8a12015 to
c8d17ba
Compare
362ffa5 to
94d4233
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
9a018e9 to
d16ebe6
Compare
This helps with navigating ambiguity around the word backend. The new name should indicate that the value represents a `backend` block, not a more general interpretation of what a backend is.
…to a lack of data. Don't change it if pluggable state storage is in use.
…sing that data when creating a plan file.
…ng it to prepare a Local backend that uses the state store
…ly isn't valid for `stateStoreConfigState` to be nil I'm about 90% sure that backendConfigState being nil is ok <_<
… file with the expected state_store configuration data
…an file to configure and use a state store
…e full init-plan-apply workflow
…quired providers, if PSS is in use. See the code comment added in this commit. This addition does not impact an apply command as the missing provider will be detected before this code is executed. However I'm making this change so that the method is still accurate is being able to return a complete list of providers needed by the plan.
…or state store config when getting a backend from a planfile
d16ebe6 to
f795158
Compare
|
After some time away from this, I think an obvious split is plan/apply, duh! I'll open a PR that has just the writing data into a plan, and then the stacked PR will be reading from the plan, and E2E tests. |
|
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
Context
The process of how data gets into a planfile created by a
plancommand is a little convoluted, so here is a diagram attempting to explain how it works. Note that the diagram explains how it works after the changes of this PR, so describes parallel backend- and state store-related fields in places, but broadly the sequence of events is unchanged.This PR
Follow up to #37246, which began implementing use of pluggable state stores with planfiles.
This PR:
planand use that in anapplycommand:plan: d90b7a0stateStoreConfigStatePlanOutStateStorefield with a description of the state store's config.PlanOutStateStorefield can be used when writing the plan fileThese new features are tested via new integration tests in:
And a new E2E test covering the full init-plan-apply workflow in internal/command/e2etest/primary_test.go
Target Release
N/A
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