-
Notifications
You must be signed in to change notification settings - Fork 95
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
feat: windows persistent disk and other misc fixes/refactors #594
Conversation
Signed-off-by: Vishwas Siravara <[email protected]>
Signed-off-by: Vishwas Siravara <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Vishwas Siravara <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
…n as admin Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Vishwas Siravara <[email protected]>
Signed-off-by: Vishwas Siravara <[email protected]>
…n it Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
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.
just a few nits on first pass
cd deps/finch-core/src/lima/_output && tar -cf - * | tar -xvf - -C $(OUTDIR)/lima | ||
cd deps/finch-core/_output && tar -cf - * | tar -xvf - -C $(OUTDIR) |
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.
nit: repeated line here?
cd deps/finch-core/src/lima/_output && tar -cf - * | tar -xvf - -C $(OUTDIR)/lima | |
cd deps/finch-core/_output && tar -cf - * | tar -xvf - -C $(OUTDIR) | |
cd deps/finch-core/src/lima/_output && tar -cf - * | tar -xvf - -C $(OUTDIR)/lima | |
Really cool PR, I left a few minor comments from the first pass, especially some files missing licenses. |
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
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.
looks great. Left a couple of nits.
Signed-off-by: Justin Alvarez <[email protected]>
Signed-off-by: Justin Alvarez <[email protected]>
Issue #, if available: *Description of changes:* - Adds persistent disk support to Windows - This took more work than anticipated, in order to deal with non-Admin users - `pkg/disk/dpgo/` is brand new code, and should be a focus of the review - `pkg/winutil/run_windows.go` is also new and requires careful review. This is what allows Finch to run as the regular user, except for when it needs Admin access to call `diskpart` (to create the persistent disk) - Fix paths in `nerdctl_config_applier` to make the post-boot/init shelling work - Added winres to allow the finch.exe to have metadata attached to it. This is WIP, need final icons and descriptions etc. - Large (in terms of lines changed) refactor of `pkg/path/finch.go`, but it should have no impact on functionality (needs careful review) - Fixed the Makefile's `clean` target for Windows - Most of the other changes are just noise from refactoring (like, literally renaming things). Nothing major, but take a look if possible. Sorry the diff is so large *Testing done:* - [x] I've reviewed the guidance in CONTRIBUTING.md By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: Vishwas Siravara <[email protected]> Signed-off-by: Justin Alvarez <[email protected]> Signed-off-by: Vishwas Siravara <[email protected]> Co-authored-by: Vishwas Siravara <[email protected]> Co-authored-by: Vishwas Siravara <[email protected]>
Issue #, if available: *Description of changes:* - Adds persistent disk support to Windows - This took more work than anticipated, in order to deal with non-Admin users - `pkg/disk/dpgo/` is brand new code, and should be a focus of the review - `pkg/winutil/run_windows.go` is also new and requires careful review. This is what allows Finch to run as the regular user, except for when it needs Admin access to call `diskpart` (to create the persistent disk) - Fix paths in `nerdctl_config_applier` to make the post-boot/init shelling work - Added winres to allow the finch.exe to have metadata attached to it. This is WIP, need final icons and descriptions etc. - Large (in terms of lines changed) refactor of `pkg/path/finch.go`, but it should have no impact on functionality (needs careful review) - Fixed the Makefile's `clean` target for Windows - Most of the other changes are just noise from refactoring (like, literally renaming things). Nothing major, but take a look if possible. Sorry the diff is so large *Testing done:* - [x] I've reviewed the guidance in CONTRIBUTING.md By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: Vishwas Siravara <[email protected]> Signed-off-by: Justin Alvarez <[email protected]> Signed-off-by: Vishwas Siravara <[email protected]> Co-authored-by: Vishwas Siravara <[email protected]> Co-authored-by: Vishwas Siravara <[email protected]> Signed-off-by: Vishwas Siravara <[email protected]>
Issue #, if available: *Description of changes:* - translation logic to wsl paths - persistent disk for windows - CI/CD (workflows to run CI on every PR on windows runners, MSI builder, Windows release automation) This PR combines 4 distinct PRs to a separate windev branch. - additional disk for windows #594 - translation logic for wsl paths #581 - CI #581 - Installer #624 This PR also contains bug fixes and modifications to e2e tests. *Testing done:* Yes - [X] I've reviewed the guidance in CONTRIBUTING.md #### License Acceptance By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: Vishwas Siravara <[email protected]> Signed-off-by: Vishwas Siravara <[email protected]> Signed-off-by: Gavin Inglis <[email protected]> Signed-off-by: Justin Alvarez <[email protected]> Signed-off-by: chaoningusc <[email protected]> Signed-off-by: [email protected] <[email protected]> Signed-off-by: Kevin Li <[email protected]> Co-authored-by: Vishwas Siravara <[email protected]> Co-authored-by: Gavin Inglis <[email protected]> Co-authored-by: Justin <[email protected]> Co-authored-by: Kevin Li <[email protected]> Co-authored-by: chaoningusc <[email protected]> Co-authored-by: Justin Alvarez <[email protected]>
Issue #, if available:
Description of changes:
pkg/disk/dpgo/
is brand new code, and should be a focus of the reviewpkg/winutil/run_windows.go
is also new and requires careful review. This is what allows Finch to run as the regular user, except for when it needs Admin access to calldiskpart
(to create the persistent disk)nerdctl_config_applier
to make the post-boot/init shelling workpkg/path/finch.go
, but it should have no impact on functionality (needs careful review)clean
target for WindowsTesting done:
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.