/infra.osbuild

Ansible Collection for management of ostree composer

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Osbuild Composer Ansible Collection

GitHub Super-Linter

Ansible Collection for management of osbuild composer to build rpm-ostree based images for Fedora, Red Hat Enterprise Linux, and Centos Stream. This collection has roles to build an osbuild server, an apache httpd server to host images, and a role to build installer images and rpm-ostree updates.

Installing

To install this collection and its dependencies, you will need to use the Ansible ansible-galaxy command:

ansible-galaxy collection install git+https://github.com/redhat-cop/infra.osbuild

How to use

You will need a RHEL, Centos Stream, or Fedora system that you can connect to remotely via ssh, and a playbook to call the desired roles to result in the desired functionality. Each role has it's own documentation specific to its provided automation.

To use the example playbooks provided in this repository, please create an inventory file that only has the osbuild build server(s) listed in them as these example playbooks use the all Ansible group as the host patten.

Configure Osbuild Builder (this will also host the images)

ansible-playbook playbooks/osbuild_setup_server.yml

Build an Image

ansible-playbook playbooks/osbuild_builder.yml

You can specify what kind of build you prefer with the variable buidler_compose_type.

Current supported and tested build types are:

  • edge-commit
  • edge-container
  • edge-installer
  • edge-simplified-installer
  • edge-raw-image
  • iot-commit (fedora only)
  • iot-container (fedora only)
  • iot-installer (fedora only)
  • iot-raw-image (fedora only)

Example:

ansible-playbook playbooks/osbuild_builder.yml -e builder_compose_type=edge-installer