Project Lunchbox is a resource for deploying Red Hat technologies on a single server that literally fits in a lunchbox.
Harware info: https://www.supermicro.com/manuals/superserver/mini-itx/MNL-2094.pdf
You need to configure an ansible host to execute these playbooks
- Ansible >= 2.6
- Git
- pip and pipenv
- screen or tmux (optional and your preference)
- Clone the lunchbox repository
$ git clone https://github.com/RedHatGov/lunchbox.git
- Setup your vars file
$ cd lunchbox/
$ cp vars/vars.example.yml vars/vars.yml
$ vi vars/vars.yml
NOTE: The vars example file only exposes the variables you must care about. If you need to dig deeper you'll have to dig into the roles.
- Install the required roles from Ansible Galaxy
$ ansible-galaxy install -r playbooks/requirements.yml
- Install pipenv
$ pip install pipenv --user
- Initialize the pipenv project
$ cd lunchbox/
$ pipenv --python 3.7
$ pipenv install
- Follow the instructions to create a bootable custom ISO to install the base operating system for what will become the initial RHEL+KVM utility server
- Verify your networking is the way you expect. We recommend one bridge for the LAN network (192.0.2.0/24) named br1
- Run the kvm playbook from the lunchbox directory
$ ansible-playbook -i inventory/inventory.yml -e @vars/vars.yml playbooks/lunchbox/kvm.yml