-
Notifications
You must be signed in to change notification settings - Fork 56
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
cli: use state file on init and upgrade #2395
Conversation
✅ Deploy Preview for constellation-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
f43be93
to
5fa9468
Compare
8d64f11
to
a2afff4
Compare
i added the AB link :) |
Originally, the scope of this ticket was not to use the state in upgrade and apply yet. It seems that now the idFile is only relevant to migrate during an upgrade?
is still open or is there anything else left to do to remove it? If that is the case we could also do it in this ticket I think |
please also run the miniconstellation test in the end |
Not really imo. At this point (in this PR), we still:
If we choose to implement the fallback from state-file to id-file on upgrade, as Daniel explained above, in this PR, this would be part of |
I originally meant that the idFile is still used in all function signatures to keep the PRs smaller (in AB#3424 (this PR)), but I see that it was unclear and its fine as is now :)
|
Sorry for the misunderstanding here. My intention was to still keep the file intact for now to not break existing development clusters, while relying on the inputs from the state file where possible. I do really like the point of splitting this up into many smaller PRs though! I already have a separate branch where I'm working on the idFile-Removal. My suggestion would be to open a separate PR with these changes, based on this PR here. This way, reviewers have an easier time checking the changes. I would edit the PR description to reflect exactly which changes I made within which PR then. What do you think? |
49fed04
to
fa0a066
Compare
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.
lgtm
Signed-off-by: Moritz Sanft <[email protected]> tidy Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]> take clusterConfig from IDFile for compat Signed-off-by: Moritz Sanft <[email protected]> various fixes Signed-off-by: Moritz Sanft <[email protected]> wip Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]> fix name tests Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
* remove id-file from `constellation create` Signed-off-by: Moritz Sanft <[email protected]> * add file renaming to handler * rename id-file after upgrade * use idFile on `constellation init` Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation verify` Signed-off-by: Moritz Sanft <[email protected]> * linter fixes Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation mini` * remove id-file from `constellation recover` * linter fixes * remove id-file from `constellation terminate` * fix initSecret type * fix recover argument precedence * fix terminate test * generate * add TODO to remove id-file removal * Update cli/internal/cmd/init.go Co-authored-by: Adrian Stobbe <[email protected]> * fix verify arg parse logic Signed-off-by: Moritz Sanft <[email protected]> * add version test Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from docs * add file not found log * use state-file in miniconstellation Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation iam destroy` Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `cdbg deploy` Signed-off-by: Moritz Sanft <[email protected]> --------- Signed-off-by: Moritz Sanft <[email protected]> Co-authored-by: Adrian Stobbe <[email protected]>
Signed-off-by: Moritz Sanft <[email protected]>
403e183
to
bd9c2df
Compare
Coverage report
|
* [wip] use state file in CLI Signed-off-by: Moritz Sanft <[email protected]> tidy Signed-off-by: Moritz Sanft <[email protected]> * use state file in CLI Signed-off-by: Moritz Sanft <[email protected]> take clusterConfig from IDFile for compat Signed-off-by: Moritz Sanft <[email protected]> various fixes Signed-off-by: Moritz Sanft <[email protected]> wip Signed-off-by: Moritz Sanft <[email protected]> * add GCP-specific values in Helm loader test Signed-off-by: Moritz Sanft <[email protected]> * remove unnecessary pointer Signed-off-by: Moritz Sanft <[email protected]> * write ClusterValues in one step Signed-off-by: Moritz Sanft <[email protected]> * move stub to test file Signed-off-by: Moritz Sanft <[email protected]> * remove mention of id-file Signed-off-by: Moritz Sanft <[email protected]> * move output to `migrateTerraform` Signed-off-by: Moritz Sanft <[email protected]> * unconditional assignments converting from idFile Signed-off-by: Moritz Sanft <[email protected]> * move require block in go modules file Signed-off-by: Moritz Sanft <[email protected]> * fall back to id file on upgrade Signed-off-by: Moritz Sanft <[email protected]> * tidy Signed-off-by: Moritz Sanft <[email protected]> * fix linter check Signed-off-by: Moritz Sanft <[email protected]> * add notice to remove Terraform state check on manual migration Signed-off-by: Moritz Sanft <[email protected]> * add `name` field Signed-off-by: Moritz Sanft <[email protected]> fix name tests Signed-off-by: Moritz Sanft <[email protected]> * return early if no Terraform diff Signed-off-by: Moritz Sanft <[email protected]> * tidy Signed-off-by: Moritz Sanft <[email protected]> * return infrastructure state even if no diff exists Signed-off-by: Moritz Sanft <[email protected]> * add TODO to remove comment Signed-off-by: Moritz Sanft <[email protected]> * use state-file in miniconstellation Signed-off-by: Moritz Sanft <[email protected]> * cli: remove id-file (#2402) * remove id-file from `constellation create` Signed-off-by: Moritz Sanft <[email protected]> * add file renaming to handler * rename id-file after upgrade * use idFile on `constellation init` Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation verify` Signed-off-by: Moritz Sanft <[email protected]> * linter fixes Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation mini` * remove id-file from `constellation recover` * linter fixes * remove id-file from `constellation terminate` * fix initSecret type * fix recover argument precedence * fix terminate test * generate * add TODO to remove id-file removal * Update cli/internal/cmd/init.go Co-authored-by: Adrian Stobbe <[email protected]> * fix verify arg parse logic Signed-off-by: Moritz Sanft <[email protected]> * add version test Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from docs * add file not found log * use state-file in miniconstellation Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `constellation iam destroy` Signed-off-by: Moritz Sanft <[email protected]> * remove id-file from `cdbg deploy` Signed-off-by: Moritz Sanft <[email protected]> --------- Signed-off-by: Moritz Sanft <[email protected]> Co-authored-by: Adrian Stobbe <[email protected]> * use state-file in CI Signed-off-by: Moritz Sanft <[email protected]> * update orchestration docs --------- Signed-off-by: Moritz Sanft <[email protected]> Co-authored-by: Adrian Stobbe <[email protected]>
Context
We are in the transition from the ID-File (
constellation-id.json
) to the state file (constellation-state.yaml
). This PR aims to implement part of this transition by using the state-file instead of the ID-file in the init and upgrade operations of a cluster. This PR does not intend to remove the ID-file completely, which should be done in a follow-up PR aligned with AB#3425.Proposed change(s)
constellation init
, where theClusterValues
output is now being populated (in addition to populating the old ID-file)constellation upgrade apply
, where the old, pre-upgradeconstellation-id.json
is being read. It's output, merged with the output of the upgrade itself is written to the state file.Additional info
Checklist