FreeBSD does have that tool, its BastilleBSD: https://bastillebsd.org/
For example, this is the Bastillefile for running consul: https://gitlab.com/bastillebsd-templates/consul/-/blob/maste...
> And they don't have a way (that I know of) to write a config file describing a bunch of jails and services, then run that file and install all of those services on a new machine
Sounds like you want to use pot with nomad: https://klarasystems.com/articles/cluster-provisioning-with-...
[1] https://github.com/cbsd/cbsd
[1] https://github.com/cbsd/cbsd