3.4 KiB
Developer's Guide of RHEL-8
This guide is under heavy development and just drafted, expect frequent changes and check back every now and then
This guide contains information to develop and roll out the configuration management and system deployment of RHEL-8.
PSI RHEL-8 heavily relies on the Ansible automation technology for configuration management and automation.
Mandatory information is available at
- https://docs.ansible.com/ansible/latest/index.html
- https://docs.ansible.com/ansible/latest/user_guide/index.html
- https://docs.ansible.com/ansible/latest/user_guide/quickstart.html
Main code
PSI RHEL-8 configuration management consists of mainly two things
- RHEL-8 PSI Defaults Ansible Inventory
- RHEL-8 Ansible Collection
The supplemental PSI Ansible Roles, which are referrenced from the RHEL-8 Ansible Collection are developed in
Addition group/section inventories are managed in
Adding my code
Depending on where your code changes are happening (see section Main code) you need to follow the following process:
- Create a branch for what you are doing eg. feature/my-new-feature or fix/problem-xyz-solved
- Do your work and commit and push your branch
- Create a merge request and fill in a human understandable description
- Motivate other maintainers to approve your changes and get the code merged
Using Vagrant to develop Ansible code
Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the "works on my machine" excuse a relic of the past.
Documentation
PSI Ansible Vagrant is a preconfigured environment allowing an easy and fast development of PSI related Ansible based configuration mangement.
System requirements are either Virtualbox on Linux/Windows or Mac or libvirt on Linux.
Components and Functions
The following software or solutions are chosen to provide RHEL-8 in compliance with the PSI Linux support policy
| Component | Function | URL |
|---|---|---|
| Red Hat Satellite 6 | system deployment, update and oversight | satint.psi.ch |
| Red Hat Ansible | configuration management | docs.ansible.com |
| Red Hat Ansible Tower (AWX) | configuration management center | rhel-8-awx.psi.ch |
| Koji | RPM package building solution | (tbd..) |
Tools and Functions
The following tools are chosen for code and collaboration
| Tool | Function | URL |
|---|---|---|
| GitLab | Git code revision system and code collaboration | git.psi.ch/linux/engineering/home |
| Slack | instant messaging, ChatOps | controls-ha.slack.com/rhel-8-maintainers |
| Zoom | video conferencing | psich.zoom.us |