Table of Contents
Provisioning
Configuration Management tools
Image building
VM/bhyve orchestration
Configuration
Preconfigured VMs for testing
Ports/Package support
Monitoring/Metrics
Wishlist
Deploying FreeBSD technology across the base system
pitfalls to avoid
TODO
Open questions
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
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
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?