If you have an O’Reilly Safari subscription, I did a whole series on how to do Chef without a server using what became the replacement for chef-solo - it’s called “chef local mode":
“Learning Chef for Linux and macOS”:
The crux of it is that you can run an in-memory chef server by running
chef-client —local-mode. Then it works as if you had a real chef-server to run your cookbooks, with no drawbacks or functionality limitations. It even works with databags and other chef server features. It’s a little clunky to setup and use because it’s fitted into
chef-client, but it works and you only have to install chef client to use it, even to run this in-memory server. (Behind the scenes it actually runs the real Chef Erlang server - it’s bundled in chef-client).
You can also take a look at the example source here: https://github.com/learningchef/learningchef-code
And here’s a script that a client of mine still actively uses to run
chef-client —local-mode which also does berkshelf to download full cookbook dependencies:
Linux and macOS: https://github.com/TetrationAnalytics/polymath/blob/master/polly
chef-apply which can run a single recipe, but I don’t find that really useful for real automation code. What you’re looking for is “local mode”. That ended up replacing chef-solo.