marcusburghardt.openscap
ansible-role-openscap
此角色将确保为参与 ComplianceAsCode 项目而设的开发环境得到正确安装和配置。
你可以暂时跳过冗长的文档阅读,早些开始编码。;)
你可能想要更改的所有变量都在 "defaults/main.yml" 中定义。
你可以直接在这里更改,或者更优雅、更推荐的方式是在你的 Playbook 中覆盖这些变量。
此角色将:
- 可选配置额外的仓库。
- 安装所有必要的包:
- 开发、测试和额外工具所需的包。
- 安装 Python 模块:
- 安装 CMakeTests 或 JSON 等所需的额外 Python 模块。
- 配置基本环境:
- 创建主文件夹 (~/CaC)
- 更新 PATH 变量(如果有必要)。
- 创建 Forks 子文件夹(如果启用了任何 fork 的仓库)。
- 配置 git:
- 确保将显示在 ComplianceAsCode 仓库提交上的姓名和电子邮件配置正确。
- 配置 Labs:
- 将 Vagrantfiles 复制到 ~/CaC/Labs/VMs。
- 在 Labs/VMs 中复制与 VMs 相关的实验室和测试说明文件。
- TODO:在 Labs/Containers 中复制与容器相关的实验室和测试说明文件。
- 填充环境:
- 如果有任何启用的 "fork" 仓库,则克隆。
- 如果有任何启用的 "lab" 仓库,则克隆。
- 将一般说明文件复制到 ~/CaC。
TODO
- 开放供建设性的想法。
安装此角色
ansible-galaxy role install marcusburghardt.openscap
要求
- python3
角色变量
你可以通过编辑以下文件中的一些变量来非常简单和集中地定制你的环境:
- defaults/main.yml
不过,我强烈建议你在你的 Playbook 中覆盖这些变量。
这样更优雅,并且给予你更多的灵活性。;)
为此,查看 "defaults/main.yml",该文件有很好的文档,可以阐明任何变量的目的和效果。然后,只需将你想要更改的内容复制到你的 Playbook 中并根据需要进行调整。请查看示例 Playbook 部分。
在一些罕见的情况下,你可能需要修改一些配置以反映你的本地环境,文件为:
- vars/*.yml
如果确实是由于某种原因你需要这样做,考虑提出 PR 以改善该角色。
依赖关系
无
示例 Playbook
此 playbook 将准备所有必要的变量。
你可以在 files/Ansible_Samples 中找到一个名为 ansible_cac.yml 的示例。
对于这个示例,假设这个 playbook 文件命名为 ansible_cac.yml,内容如下:
- hosts: linux
vars:
- available_tasks:
- { enabled: true, name: 'install_packages' }
- { enabled: true, name: 'install_python_modules' }
- { enabled: true, name: 'configure_env' }
- { enabled: true, name: 'configure_labs' }
- { enabled: true, name: 'populate_env' }
roles:
- marcusburghardt.openscap
注意,这个 ansible 角色是由一组特定任务(available_tasks)创建的。
你可以根据需求禁用和启用任务组合。
假设库存文件 hosts_cac 在同一文件夹中,内容如下:
[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs
...省略了一些行以便于阅读...
附注:你也可以在 files/Ansible_Samples 中找到一个名为 hosts_cac 的示例。
现在,运行以下命令,看看魔法发生:
ansible-playbook -K ansible_cac.yml
也许你想要为这个环境设置一些 ansible 配置。
例如,定义一个本地文件夹来保存下载的角色。
你可以在 files/Ansible_Samples 文件夹中找到一个示例的 ansible.cfg 文件,名为 ansible.cfg。
许可证
此源代码格式受 Mozilla 公开许可证第 2.0 版的条款约束。 如果此文件没有附带 MPL 副本,你可以在 http://mozilla.org/MPL/2.0/ 获取一份。
作者信息
Marcus Burghardt
Role for quickly prepare a Development Environment for OpenSCAP projects.
ansible-galaxy install marcusburghardt.openscap