Examples
- 001-:
Manage iocage hosts
- 010-:
iocage plugins
- 040-:
Other plugins
- 200-:
Ansible client
- 300-:
Modules
- 310-:
Roles
- 500-:
Infrastructure
Manage iocage hosts
iocage inventory, filter, and module
- 010 Clone jails and create inventory
- 011 Display variables iocage_*
- 012 Display iocage_properties
- 013 Tags and custom groups
- 014 Inventory cache
- 015 Multiple inventory caches
- 016 Multiple inventory constructed
- 017 community.general.iocage
- 018 Clone basejails. Use DHCP.
- 019 Inventory option use_vars_plugins
- 020 Get inventory aliases from notes
- 021 Inventory plugin iocage2
- 030 Create custom facts
Plugins
Ansible client
Roles
- 310 Configure and audit Ansible clients
- 311 Configure and start git_daemon
- 320 Install and audit packages
- 321 Poudriere package repo
- 322 Local package repo
- 330 Clone jails and create inventory
- 340 Install and configure lighttpd
- 350 Install and configure rsnapshot
- 360 Configure bridge
- 361 Configure loadbalance
- 370 Configure pf
- 380 Configure custom image
- 390 Build packages
- 400 Configure ZFS
- 410 Include vars from conf.d
- 411 Include vars from nested dirs
- 420 Configure Apache server
- 421 Configure Apache server vhost
- 422 Configure Apache server PHP
- 423 Configure Apache server build
- 430 Configure Apache server SSL
- 435 Configure Nginx server
- 440 Configure DHCP and pf
- 441 Redirect SSH to jails
- 442 Connection jailexec instead of SSH
- 443 iocage plugin ansible-zero
Infrastructure
- 500 syslog-ng server and clients
- 501 iocage host
- 502 branch-server
- 521 iocage plugins ansible-pull-*
- 522 templates ansible-syslogng-*
- 523 template ansible-repos
- 524 template ansible-init
- 525 template ansible-init (class)
- 526 Log srv/client (ansible-init)
- 527 template ansible-pkg-repo
- 528 Log srv/client (ansible-conf-roles)
- 529 template ansible-init (local repo)
- 530 Creat all templates
Note
The examples include a
batch.shscript that executes the commands and generates the output for each example.Most playbooks executed by
batch.share idempotent. When a playbook is run repeatedly, tasks may report a status ofokrather thanchanged.All examples include additional files that are omitted from the directory tree. Review these files for further details.
By default, examples that provision jails use the iocage host configuration described in 440 Configure DHCP and pf. The firewall filters traffic on both the external interface and the VNET bridge interface on the iocage host. DHCP is enabled on the bridge for the jails, and SSH traffic from the local network is forwarded to them. Examples that do not use this configuration contain a
.denymarker file and are excluded frombatch.sh. To run those examples, reconfigure the firewall as documented in 370 Configure pf.To avoid connecting directly to a jail via SSH, the examples use the dynamic inventory
vbotka.freebsd.iocage2and the connection pluginvbotka.freebsd.jailexec, as described in connection vbotka.freebsd.jailexec.Playbook filenames in standalone examples use hyphens (
-), such aspb-iocage.yml.Following Ansible collection conventions, playbook filenames within the collection use underscores (
_), such aspb_iocage_template.yml.To avoid SSH host key verification failures caused by dynamic DHCP leases, set
host_key_checking = falseinansible.cfg.
Hint
See Update examples.