Files
Controls-docs/rhel8-guides-beta/developer_guide.md
T
2021-08-04 16:19:52 +02:00

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

Main code

PSI RHEL-8 configuration management consists of mainly two things

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:

  1. Create a branch for what you are doing eg. feature/my-new-feature or fix/problem-xyz-solved
  2. Do your work and commit and push your branch
  3. Create a merge request and fill in a human understandable description
  4. 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