-
Notifications
You must be signed in to change notification settings - Fork 881
feat!: drop support for legacy parameters #7663
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
Conversation
884dbbc
to
70b2a98
Compare
Can we use terraform variable with |
For detecting pushed templates with legacy params? Yes, that's the assumption 👍 |
I mean after the deprecation. Can we still use them to store sensitive data? |
After deprecation, users will be able to use Terraform variables only as managed ones. |
f7c703e
to
d6e5207
Compare
8915f75
to
217ea69
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
Awesome!! How will the template author know to do steps 1-3? Are there cases where deleting the workspace will not work until steps 1-3 are completed? Perhaps we should link to some docs on how to clean up the old workspaces in the message. |
I get failed stop
But, then, if I
It succeeds building. A little gnarly, but works out ok in the end. @bpmct you ok with that? |
So this UX is confusing: Screen.Recording.2023-06-01.at.2.10.24.PM.movIf I try to change to an old version with legacy parameters, it a) doesn't change the version The warning box that comes up should say something like, "Unable to change version. Legacy parameters in use on this version aren't supported any more." |
The error message says, "Legacy parameters are not supported anymore, delete the workspace and the related template." This isn't great advice If you do delete the workspace, the delete job will always fail because there are variables in the template that we aren't supplying value to. It then tells you to have an admin delete with Also, deleting the template is not necessary. The template author can just rework the variables to "coder_parameters", push a new version, and then people can upgrade. Basically, there is nothing a regular (non-template-admin, non-owner) user can meaningfully do if they have a workspace that uses legacy parameters after upgrade. Our advice to end users should just be, "Contact your administrator for assistance." Our advice to admins (this can be in docs & release notes, it doesn't have to be in the dashboard IMO) should be: Decide whether you are going to fix the template to use rich parameters. If you aren't going to fix it, then delete all workspaces with |
It is one more API to cover with extra condition, should not be hard to do this. Despite that, I think that we should not invest much time and efforts on making the whole operation really smooth. In theory, this is already beyond the deprecation timeline (end of April), so most of the users should be already migrated. I doubt that these paths will be actively followed.
Thanks for providing UX feedback. "Contact your administrator for assistance." seems to be a better fit and actionable for every regular user. I also like the idea to describe admin steps in docs. Happy to adjust both. |
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.
I like the new error message and I agree that if it's a huge pain to fix up the Change Versions case, then we can live with some ugliness since it'll only affect people in the short term.
Fixes: #7452
This PR rips off legacy parameters from coder source code. The size of the PR is huge, it is basically unreviewable, so I suggest playing around with the branch.
I removed references to legacy parameters from:
Once this is merged, coder will require
feature_use_managed_variables = true
if there any variables. This is the only way we can distinguish if variable is potentially a legacy parameter. After a few releases, we can remove that requirement.I didn't remove the relevant database table in case somebody would like to roll back to the previous release.
Extra changes: