Future plan toward Vagrant 3.0 #1557
Replies: 2 comments 1 reply
-
As it stands it's unclear what the new API should look like for provider plugins to integrate into fully. I'm assuming that as further progress is made towards 2.4 this will start to become clear. For now it looks like there are some minimal examples under https://github.com/hashicorp/vagrant/tree/29b04f4f984d34268e126647da0e84da88e40a8a/builtin and a plugin sdk at https://github.com/hashicorp/vagrant-plugin-sdk, but what this will look like for a ruby based plugin to integrate into is currently not yet clear. Right now I don't think it's possible to speculate on how much effort would be required to move towards the new API. I may well be that it just requires providing some additional entry points that then translate between the new API and existing behaviour and everything continues to work. Or it might well be that it requires something like https://github.com/mitchellh/go-mruby to provide a good enough interface. The main issue is going to be compatibility, as long as it's possible to maintain a certain level of compatibility with existing Vagrant releases in use by distributions in moving to the new APIs it should be possible. |
Beta Was this translation helpful? Give feedback.
-
Judging by other Hashicorp products that I've experience with (Packer, Vault, Terraform), I think the direction they are taking here is to move to HCL-based config + Go-written plugins ecosystem. They might still keep a compatible layer for existing Ruby plugins and Ruby-based Vagrantfile (probably forever??) but we shouldn't trust it in the long term (as it isn't their main focus). A rewrite in Go of |
Beta Was this translation helpful? Give feedback.
-
With the recent release 2.3.0, Vagrant comes with an experimental Go binary
vagrant-go
. Hashicorp stated in their blog that with 3.0 release, only the Go binary will be shipped by default. Ruby plugins and Ruby-based Vagrantfile will still be supported, but probably only as second-class citizen.I know you already have your hand tied with the current shape of the project (#1069) but are there any plans for
vagrant-libvirt
to move toward the new API and HCL-based Vagrangfile? Though it's pretty early to ask right now,vagrant-libvirt
is the solely reason for me to usevagrant
so I really want it to keep up.Ref: https://www.hashicorp.com/blog/toward-vagrant-3-0
Beta Was this translation helpful? Give feedback.
All reactions