If you don't intend to use chef-server, you can use knife-solo from workstation. It has all the commands starting from initializing the chef-repo to converge on target node.
knife solo init chef-repo
Then, you can create node.json
file in the nodes sub-directory of chef-repo which will contain your runlist.
Then, you bootstrap specific nodes via knife-solo from a central workstation, i.e,
knife solo bootstrap ubuntu@172.0.0.1 nodes/node.json
It will install chef-solo and then converge the run-list on the target node.
In case you want to only converge, it can be done via:
knife solo cook ubuntu@172.0.0.1
For more reference you can refer: