Hi everyone,
I wanted to share with the community a rather extensive Ansible collection I've been working on for months to provision FreeBSD hosts, taking care of, on a per Ansible role basis:
With this solution, I can fully deploy my workloads to vanilla FreeBSD and retain full control of the OS, either via direct command line administration, updating the roles and inventory configuration and rerunning the automation suite or, most probably, both.
So, without any further ado, here's the source code, with some documentation scattered throughout (top-level README and then per-role README's): https://github.com/AP-Labs-IO/FreeBSD-Provisioning
Like I said, this automation suite was developed over several months to migrate all my workloads away from TrueNAS CORE, and it worked wonders for that in a single pass when I finally pulled the trigger (after much rehearsing in a VM), but, of course, it can still be considered a work in progress. So, please feel free to offer any feedback you might have!
And if you'd like me to describe how I upgraded to vanilla FreeBSD 15.1 on the legacy freenas-boot pool, while preserving the ability to boot back into TrueNAS should there be any need for it (verified, but luckily unnecessary so far), let me know and I'll create a quick write up.
Thank you!
Cc vermaden toddg JohnK
I wanted to share with the community a rather extensive Ansible collection I've been working on for months to provision FreeBSD hosts, taking care of, on a per Ansible role basis:
- Node bootstrapping (e.g. installing Python, configuring SSH, installing "core" packages, etc).
- OS patching.
- Host tuning (e.g. limited hardware configuration, e.g. CPU microcode, power levels, etc.).
- Boot-time settings (e.g. kernel modules to load, kernel tunables, etc.).
- Runtime settings (e.g. various runtime sysctl's).
- Network (e.g. various types of interfaces, DNS resolver, etc.).
- Monitoring (e.g. boot notifications, SSH abuse, select services availability, etc.).
- ZFS (pool importing, automated encrypted datasets unlocking, replication, etc.)
- Users & groups.
- Samba Server (main configuration, shares configuration, and user management).
- NFSv4 Server (tuning and shares configuration).
- NFS Client (tuning and shares mounting).
- vm-bhyve based VM management.
- Bastille based jail management.
With this solution, I can fully deploy my workloads to vanilla FreeBSD and retain full control of the OS, either via direct command line administration, updating the roles and inventory configuration and rerunning the automation suite or, most probably, both.
So, without any further ado, here's the source code, with some documentation scattered throughout (top-level README and then per-role README's): https://github.com/AP-Labs-IO/FreeBSD-Provisioning
Like I said, this automation suite was developed over several months to migrate all my workloads away from TrueNAS CORE, and it worked wonders for that in a single pass when I finally pulled the trigger (after much rehearsing in a VM), but, of course, it can still be considered a work in progress. So, please feel free to offer any feedback you might have!
And if you'd like me to describe how I upgraded to vanilla FreeBSD 15.1 on the legacy freenas-boot pool, while preserving the ability to boot back into TrueNAS should there be any need for it (verified, but luckily unnecessary so far), let me know and I'll create a quick write up.
Thank you!
Cc vermaden toddg JohnK