Why isn't installation of Ansible, Virtualbox, Vagrant, vagrant-bindfs and vagrant-hostmanager automated?

I realized today that many things are automated in the Trellis install process but the pre-requisites of Ansible, Virtualbox, Vagrant, vagrant-bindfs and vagrant-hostmanager is not.

It seems like a simple shell script could automate that.

Can anyone explain to me why this is? Thank you!

These are not covered for the same reason installing MacOS and a text editor are not included. The Roots team has determined a base level of configuration to expect on a machine running Trellis. They outline those requirements in the documentation.


Thanks for the reply.

Respectfully, I would like to challenge that reasoning.

I know that using the OS as an example was very high level, but I think it highlights the weakness in the reasoning. MacOS isn’t required to use Trellis / Bedrock / Sage. And you could use alternatives without it interferring with the setup of Trellis at all.

Ansible, Virtualbox, Vagrant, etc… do not have alternatives that are compatible (or even mentioned) with Trellis. And they are required.

Do you see my perspective? Do you disagree?

Thanks for your time!

I don’t believe it’s ever been discussed by the roots team specifically, but having done this for a team I worked on, it can be a pain in the butt. Said another way, if Trellis was responsible for installing its dependencies, that’s a whole load of additional support requests because that in and of itself would be another tool entirely.

So simple answer: it’d be too much to maintain. Not that it’s out of the question, but the requirements behind adding new things to Trellis is usually judged by whether it’s something we want to maintain or not. @swalkinshaw @phil do y’all agree?


That makes perfect sense actually.

That settles it for me! :slight_smile:

I am going to develop a script though and post it on Github so if someone wants to they can but it will keep Roots obligation free.

Thanks again for your time!

1 Like

good on you @s3w47m88!

I don’t know what Trellis should do automatically. I do know that it would be nice and make things easier. I’ve looked into installation most of things automatically and have even done a proof of concept. But it’s messy and requires a lot of testing and fixing edge cases.

Automation like this is only good if it’s reliable. So if we can get there then we’ll do it.

Thanks for the reply Scott. That seems like a completely reasonable opinion.

I’ll post my script when I’m done and see what you all think about it. Maybe we can let it sit for a while an see how the community does with it and if there are an overwhelming amount of fringe cases continue to leave it out there, but if there are a few then I’d be happy to contribute it to the core.

I was planning on starting with a simple Shell script. I’m still new to Ansible so I’ll have to study up on that when the time comes.