vbotka.freebsd
version 1.0.9
Preamble
This collection provides elements to deploy infrastructure as code on FreeBSD systems, adhering to the principles of modularity, consistency, and extensibility. The objective is to make deployments flexible, maintainable, and easy to test. The included examples serve as proofs of concept, demonstrating the practical application and integration of these elements.
Included content
Plugins:
module iocage - Manage iocage jails.
module service - Control or query system services.
module ucl - CRUD-like interface for managing UCL files.
inventory iocage - iocage inventory source.
inventory iocage2 - iocage inventory source (using libzfs & iocage_lib).
filter ast_to_nginx - Convert an AST list to an NGINX configuration.
filter dict_to_ast - Convert a YAML dictionary to an AST list.
filter from_ucl - Parse a UCL string to a YAML dictionary.
filter iocage - Parse iocage output lists.
filter to_ucl - Convert a YAML dictionary to a UCL string.
lookup galaxy_info - Retrieve metadata from
galaxy.yml.
Roles:
apache - Install, configure, and manage the Apache HTTP server.
certificate - Generate and verify OpenSSL certificates.
config_light - Install packages and configure files, services, and handlers.
custom_image - Download, mount, and customize system images.
dhcp - Install, configure, and manage the DHCP server.
iocage - Install and configure iocage.
iocage_template - Create and configure iocage templates.
lib - Task library providing reusable utilities.
network - Configure system networking.
nginx - Install, configure, and manage NGINX.
packages - Configure package repositories and install packages.
pf - Configure the Packet Filter (PF) firewall.
postinstall - Perform post-installation system configuration.
poudriere - Install and configure the Poudriere build system.
rsnapshot - Install and configure rsnapshot backups.
zfs - Configure ZFS storage pools and datasets.
Various Playbooks.
Documentation
This documentation is built in the collection directory docs. In addition to this, it is possible to create a collection docsite in Ansible standard format. See Create collection docsite.
License
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later (GPL-3.0-or-later). Individual files or components within this collection may be licensed under different licenses, including the BSD 2-Clause License (BSD-2-Clause)
Plugins running on the controller are licensed under GPL-3.0-or-later.
Modules, roles, and playbooks are licensed under BSD-2-Clause.
See GPL-3.0-or-later and BSD-2-Clause for full license texts.
Table of Contents