===== Provisioning ===== [[https://goo.gl/KQajJz]] ===== Configuration Management tools ===== * Saltstack works well with %%FreeBSD%% * works with sysrc for configuration files * Standard documentation & techniques generally apply to %%FreeBSD%% * Puppet * Ansible * Chef ===== Image building ===== * Poudrière * supports VM/OS image builds * Packer * builds images for Vagrant, EC2, Azure, VMWare, ... * needs serial library in go * https://github.com/hashicorp/packer/issues/1004#issuecomment-297817313 * "Bento" from Chef project has %%FreeBSD%% configurations * https://github.com/chef/bento ===== VM/bhyve orchestration ===== * Vagrant * [[SummerOfCode2016/BhyveAsVagrantBackend]] * need Suspend/Resume feature * Openstack ===== Configuration ===== ===== Preconfigured VMs for testing ===== * https://artifact.ci.freebsd.org/snapshot/head/latest_vm/ * disk-test.img.xz * disk.img.xz ===== Ports/Package support ===== ===== Monitoring/Metrics ===== * OSQuery * needs more people help about tables https://osquery.io/docs/tables/#freebsd * Prometheus * SNAP Telemetry ===== Wishlist ===== * libifconfig integration for Jail configuration * structured log data * newer syslog RFC * Improved diskless approach * Cross-install approach * Configure installer from %%MacOS%%, Linux, etc. * Create SD card image from other another OS * increased librification ===== Deploying FreeBSD technology across the base system ===== * [[/LibXo|LibXo]] * libucl ===== pitfalls to avoid ===== * migration away from human-readable formats * forward and backward compatibility * changes in configuration file formats * e.g. introduce new UCL config, but allow a long transition where old format (inetd.conf) is accepted * Steps - Introduce new format - Switch default - (long transition period here) - Remove old format * POLA * Broad concensus that this is the desired path forward, but need to proceed very carefully and thoughtfully * bsnmp as a good candidate ===== TODO ===== * Create (on wiki) prioritized list of utilities / configuration files * Discuss w/ embedded and %%FreeBSD%%-derived appliance vendors and particularly smaller ones (Kris Moore @iX, pfSense folks, ...) * Establish as a principle use UCL for newly developed software * Documentation * Produce guidance on librification * like style(9); perhaps api(3) * Session topic for upcoming [[/DevSummit]]s ===== Open questions ===== * Does this apply to ports? Upstream projects not in base?