4 ms·
Hello HN! I'm one of the founders of HashiCorp and original creators of Vagrant. Vagrant isn't "HN hip" these days ;) and I feel like folks tend to think if th
by mitchellh 5y ago
Hello HN! I'm one of the founders of HashiCorp and original creators of Vagrant.
Vagrant isn't "HN hip" these days ;) and I feel like folks tend to think if they don't see it here it must be dead. Vagrant has been the opposite: downloads have still only gone up, and we're seeing it used in more and more places on the regular. Most people are quiet about it because it does what it was built to do well and quite honestly, its moved more into the stereotypically "boring" organizations. For example, I recently ran into an engineer that works at a local city utility who was raving about how they just adopted Vagrant last year and it has been completely life-changing for their team. This is 2021, Vagrant came out 2012. Products have super long lifecycles and the market is massive.
Regardless, we've remained committed to Vagrant. We've always had a team dedicated to Vagrant, and the Vagrant team is awesome and has continued to push out new features and new releases for the past decade.
We're super excited for Vagrant 3.0! There's a lot we have planned for it and the transition to Go is going to bring a lot of those improvements.
I think one topic that is interesting for the HN crowd: why are we rewriting Vagrant in Go? Is that too expensive or time consuming? Does that cause too much user pain?
HashiCorp has built dozens of products now in Go and we've built a large foundation of libraries and utilities for Go-based projects. All our products share the same CLI library (that we wrote), the same plugin framework (that we wrote), the same distributed systems libraries (that we wrote), etc. Besides code, we've built a security team and release engineering team that has pipelines ready to go for Go-based projects. And more.
This means that we move fast with Go, and we can do it confidently, and we can do it without a lot of overhead. From the moment we decided to port Vagrant to Go, the Vagrant team had a working demo in just a few weeks, and an "alpha" release they're ready to ship to users in a few months. We got this speed cause we just wrapped Vagrant around the same architecture and libraries that our other products are built on.
For our users, there are a bunch of improvements (mentioned in the blog post). We're being very careful about backwards compatibility and have a multi-year plan to ensure that existing Vagrantfiles and plugins continue to work. We're starting with continuing to embed a Ruby with our installers while the core is running Go. Over time, we'll ask users to bring their own Ruby (and we'll validate it) to use "older" Ruby-based plugins and Vagrantfiles.
Feel free to ask any questions, I'll try to be present in this thread.
-----------------------------------------------------
Also, if you're a Vagrant user, we also recently made our VMware plugin free and open source. Check it out: https://twitter.com/mitchellh/status/1402729560823664641 https://twitter.com/mitchellh/status/1402729560823664641
- aequitas 5y agoGlad to hear there is still development on this project. I've been using Vagrant a lot in the past, with great pleasure, but since most of the projects I manage nowadays are containers, I sadly have less and less use for this tool. For the few projects that don't use containers however is still shines. One feature I'm missing though, which would make Vagrant a complete solution for me, is testing as a first class citizen. I've been using Test Kitchen[0] for this in this past which works well as a solution, but it would be really nice to have something like this built into and supported conceptually by Vagrant itself. [0] https://docs.chef.io/workstation/kitchen/ https://docs.chef.io/workstation/kitchen/
- andrewmcwatters 5y agoConversely, that's only when technology starts to become interesting to me. When it's lived long enough to be useful, and hasn't fallen out of favor for something else. Thank you for building such an excellent tool. I want other people to prove those things for me. I want to spend as little time and effort possible acquiring scars and would rather learn from others. Good technology lasts.
- atonse 5y agoThanks for all the tools. You guys have well-deserved success. Are there plans to somehow harmonize the concepts here with packer (and whatever the new packer cloud will be?). Vagrant for the most part feels like a vm-only version of packer (even though Vagrant came first). I can easily see a self-hosted cloud-based "one-click dev machine" paired with VS Code Remote, provisioned by packer (or vagrant), with the configs stored in git. We'd love to roll out something like that for our devs so sensitive data then never leaves our sandbox or even gets into the dev laptops.
- deleted 5y ago[deleted]
- aidos 5y agoNot really any questions (other than my one in the comment thread about the best way forward for providers on Apple Silicon), but definitely a hat tip in your direction. I’ve had a good 8 years of plain sailing out of Vagrant and I appreciate the work you’ve done.