Skip to content
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

microvm command UX overhaul #41

Open
astro opened this issue May 18, 2022 · 9 comments
Open

microvm command UX overhaul #41

astro opened this issue May 18, 2022 · 9 comments

Comments

@astro
Copy link
Owner

astro commented May 18, 2022

One day I would like to rewrite the microvm command in Rust with improved arguments parsing. Leave your UX ideas here!

The current user interface looks like this:

Usage: /run/current-system/sw/bin/microvm <action> [flags]

Actions:
          -c <name>  Create a MicroVM
          -u <name>  Rebuild (update) a MicroVM
          -r <name>  Run a MicroVM in foreground
          -l         List MicroVMs

Flags:
          -f <flake> Create using another flake than git+file:///etc/nixos
          -R         Restart after update
@marvin
Copy link

marvin commented May 19, 2022

good idea. i would suggest if u want to focus ppl on one command because ppl are lazzy then i would also suggest adding

  • stop/start vm
  • destroy VM
  • restart/reset VM
  • also we maybe need to advance the "-u" option with a more descriptive comment

this is just my 5 cents ....
i am willing to help, test and improve things on microVM or even on the rust development if wished.

@kraftnix
Copy link

An equivalent to machinectl shell for shelling / logging into a microVM would be helpful for debugging + management purposes.

@astro
Copy link
Owner Author

astro commented Jun 7, 2022

An equivalent to machinectl shell for shelling / logging into a microVM would be helpful for debugging + management purposes.

That will require either one of:

  • Support vmsh #22
  • Capturing the hypervisor's/MicroVM's console to serve it on a bidirectional (UNIX) socket

@Sohalt
Copy link
Contributor

Sohalt commented Jun 29, 2022

It would also be nice to have a snapshot/restore commands for hypervisors, which support runtime snapshots.

@astro
Copy link
Owner Author

astro commented Sep 21, 2022

An equivalent to machinectl shell for shelling / logging into a microVM would be helpful for debugging + management purposes.

@kraftnix Since d5cae2c a local console is available with the current microvm -C command for hypervisors that provide a pty (qemu and cloud-hypervisor).

@alexandru0-dev
Copy link

@astro i would like to contribute to the project, tho using microvm command is a bash script.
I would like to write a rust implementation in the future. Your thoughts on it?

@astro
Copy link
Owner Author

astro commented Oct 27, 2023

I started with a project skeleton 14 months ago but then realized: I was kinda rebuilding what colmena already does - just locally instead of via ssh. Maybe we could shoehorn it into deploying microvms?

Then again, the tooling could look much different: it could start with a listing of VMs, asynchronously evaluating new configurations in the background, interactively offering to update them...

@alexandru0-dev
Copy link

@astro Probably that's the best way to go.
Btw can you create a server group like discord? It's probably easier to communicate that way

@astro
Copy link
Owner Author

astro commented Oct 28, 2023

@alexandru0-dev Ok, I created a chat room at https://matrix.to/#/#microvm.nix:envs.net

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants