I’m working on re-factoring a developer environment from using vagrant/virtualbox and docker to only docker.
The prior goal was to mock production as closely as possible.
The realization is that macos as a host machine for orchestration is close enough to build. More strict validation can be done in CI and a staging env.
So for this project, the forced transition away from virtualbox Has actually led to simplification and asking questions about why it was “required” previously.
It is a bit of a pain only because some team members will need more support than others so the entire setup kind of needs to be clean and carefully documented when there is other stuff to do.
Yes. I'm on macOS, and our stack is Node.js + Postgres + Hasura.
I use Homebrew for Postgres where IME the version doesn't tend to matter too much as long as it's new enough.
Node is managed using either nodenv or asdf which both allow you to install multiple versions side-by-side and control which one runs in a given directory using a .node-version file containing the desired version number (I use asdf, most of my colleagues use nodenv - they're compatible with each other).
Hasura is the only one that's a bit of a pain as they don't provide native binaries at all (only a docker image). So we compile that from source. They do at least provide comprehensive instructions (https://github.com/hasura/graphql-engine/blob/master/server/...), and I didn't have too much trouble even though I'd never used Haskell before.
The prior goal was to mock production as closely as possible.
The realization is that macos as a host machine for orchestration is close enough to build. More strict validation can be done in CI and a staging env.
So for this project, the forced transition away from virtualbox Has actually led to simplification and asking questions about why it was “required” previously.
It is a bit of a pain only because some team members will need more support than others so the entire setup kind of needs to be clean and carefully documented when there is other stuff to do.