bsdinstaller, anyone interested in collaborating?

I wrote a script to automate a FreeBSD installation such that I can have my systems up and running quickly and easily. All I need to do is to run the script with a few parameters, reboot, and done.

Well that is great for me, I'd like it to be great for others too.

This script while opinionated and requires some options to be set takes a github repository as a configuration source and builds a system from that supporting the following types of 'patches':

opinionated bits:
  1. geli
  2. hostname convention
  3. microcode updates
  4. freebsd updates (automatically applied on creation)
User-Configured bits:
  1. custom kernel conf / modules
  2. install packages
  3. installation of files
  4. enablement of services
  5. sysctl configuration
  6. installation of 'apps' - my proprietary shell script apps
  7. installation of go, rust, npm, pypi commands
  8. run scripts (in different phases)
  9. provision users and groups
  10. update permissions (chmod and chown)
  11. configure the boot loader conf
  12. setup crontab
  13. update fstab entries
  14. create symlinks
  15. install periodic jobs
  16. build pf anchor and table crontab jobs
  17. setup zfs datasets (from source)

'Systems' are configured in git repositories:
system-name
/patches/any -> patches in this directory are applied to both jails and physical systems
/patches/physical -> patches are only applied to physical systems, not in a jail
/patches/jail -> patch is only applied to jailed systems

Additionally, each 'patch' is defined by a directory ending with '.patch' containing modules such as packages, files, services, etc.

The script is modular and additional modules could be added. My 'opinions' could be abstracted out instead of being baked in such as requiring ZFS on top of GELI for the root FS. This script is installed onto the existing FreeBSD install image and run after logging into the system as root. I would be happy to see it included in the FreeBSD install image - if that happens, then I could write documentation and provide a sample github repo on how to use and configure systems.
 
I don't even use bsdinstaller anymore.

Why 'confine' yourself when you can also use the shell to execute everything you need? I mean... essentially it all begins with extracting some archives, then you just have to 'patch' some config files to set everything up.

One shell script is all you really need.
 
I don't even use bsdinstaller anymore.

Why 'confine' yourself when you can also use the shell to execute everything you need? I mean... essentially it all begins with extracting some archives, then you just have to 'patch' some config files to set everything up.

One shell script is all you really need.
Yeah, so I have that covered with the 'run' modules, in there, you can define anything you like.

But yeah, I get it, another thing to learn and 'conform' to.
 
I am not really a fan of the FreeBSD installer, so tend to do things manually or via a script cloning the way OpenBSD does it (perhaps similar to yours?). That said, I think your work could be most valuable providing clear step-by-step instructions of your process.

Perhaps you could consider trying to get your walk-through added to the handbook?
 
I am not really a fan of the FreeBSD installer, so tend to do things manually or via a script (probably similar to yours). That said, I think your work could be most valuable providing clear step-by-step instructions of your process.

Perhaps you could consider trying to get your walk-through added to the handbook?
Where is the best place for that? The code is on github, I could write documentation in markdown. Would that work?
 
The process has changed since they moved to the inferior web experience. So I am not sure anymore. I would perhaps jump on IRC and get someone there to point you in the right direction.

(The contributors guide doesn't seem to cover it)
 
Back
Top