yaazkal.bastille
ansible-role-bastille
一个 ansible 角色,帮助配置服务器作为 BastilleBSD 主机,以在 FreeBSD 中运行基于 jail 的容器。
这是一个正在进行中的 ansible 角色。目前假设使用本地接口进行网络连接。使用此角色请自担风险。
安装此角色
只需在您的机器上运行 ansible-galaxy install yaazkal.bastille
。然后将此角色集成到您自己的 playbook 中(请参见下面的示例)。
需求
- 当前支持版本的 FreeBSD。请参见 受支持的版本
- 在目标主机上安装 Python。
- 推荐在 FreeBSD 11.4(已达到生命周期结束)上安装
ca_root_nss
,以避免从 GitHub 标签安装自定义 Bastille 版本时出现故障。
角色变量
以下是角色变量及其默认值,可以在 host_vars
或主机定义中设置您希望的值(请参见示例)。
变量 | 默认值 | 描述 |
---|---|---|
bastille_version | 如果设置,将从 bastille 仓库安装指定版本(标签),而不是可用的 pkg 版本。 | |
bastille_prefix | /usr/local/bastille | jail、发布版、模板、备份等存放的位置。 |
bastille_zfs_enable | 设置为 YES 以启用一些 ZFS 功能(推荐)。 | |
bastille_zfs_zpool | Bastille 将在其中托管其文件和 jail 的 ZFS 池。 | |
bastille_timezone | Etc/UTC | |
bastille_ext_if | vtnet0 | 外部网络接口。 |
bastille_releases | 13.2-RELEASE | 可用于创建 jail 的版本列表。 |
bastille_templates | 存放模板的 git 仓库列表。这些模板将可用于 jail。 | |
bastille_jails | 要创建的 jail 列表。请参见示例以获取选项。 |
依赖
无。
示例 Playbook
一个 playbook 可能看起来像这样:
# 文件名: bastille_provision.yml
- name: "系统的初始配置"
hosts: bastille
roles:
- yaazkal.bastille
一个清单文件可以看起来像这样(此示例覆盖所有默认变量):
# 文件名: hosts.yml
bastille:
hosts:
example.com:
ansible_user: root
bastille_version: "0.9.20210714"
bastille_timezone: "America/Bogota"
bastille_zfs_enable: "YES"
bastille_zfs_zpool: "zroot"
bastille_ext_if: "vtnet0"
bastille_releases:
- 13.2-RELEASE
- 12.4-RELEASE
bastille_templates:
- https://gitlab.com/bastillebsd-templates/nginx
- https://github.com/yaazkal/bastille-postgres
bastille_jails:
- name: defaultjail
release: 13.2-RELEASE
ip: 10.17.89.1
templates:
- "bastillebsd-templates/nginx"
- name: thickjail
release: 13.2-RELEASE
ip: 10.17.89.2
options: -T
然后您可以运行:
ansible-playbook -i hosts.yml bastille_provision.yml
许可
BSD 3 条款。请参见 LICENSE 文件。
作者信息
@yaazkal - Juan David Hurtado G.
安装
ansible-galaxy install yaazkal.bastille
许可证
bsd-3-clause
下载
101
拥有者
Photographer, engineer or entrepreneur are just words. More than that, I'm not my professions.