Is there a file format like "docker-compose.yml", where I can describe a handful of Jails that can talk to each other in their own virtual network, and that sets up a handful of services exactly as I describe?
Ideally, a Windows user, a Linux user and a Mac OS user check out this file, run a command ("voodoo up") in the directory of that file, and have a VM with the FreeBSD jails setup running exactly as described in the file.
I agree a compositional/coordination cli tool is needed. However here are a few options:
- FreeBSD style jails already offer docker config, but here is an article showing a few basic things going on, notably the Network Access section has a FIXME by it: https://bsdwatch.net/articles/jails-as-virtual-servers
Docker solves a lot of problems. I don't want to use it, but I want an easy, cohesive to all those problems!
Like, each type of application I have to run in my fleet needs the right environment, with proper settings, packages, etc. And when a developer at the company needs to work on that service locally, they need a prod-like env spun up quickly and simply that they can easily work in.
There's many ways to do this, like "one prod box and ssh" but they all have tradeoffs...
My team uses https://www.chef.io/products/chef-habitat/ to solve what you explained there. Worth taking the time to go through if you want repeatable builds, runtimes, and environments (be they bare metal, VM, or even docker).