migrated old developer guide

This commit is contained in:
2021-08-04 16:11:07 +02:00
parent e0856b1426
commit 437dc47f3a
2 changed files with 70 additions and 0 deletions

View File

@@ -19,4 +19,5 @@
- part: RHEL8 Beta Guide
chapters:
- file: rhel8-beta/index
- file: rhel8-developer-guide/index

View File

@@ -0,0 +1,69 @@
# 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.<br>
*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](https://git.psi.ch/linux/engineering/ansible/inventories/rhel-8-psi-defaults) Ansible Inventory
* [RHEL-8 Ansible Collection](https://git.psi.ch/linux/engineering/ansible/collections/rhel-8)
The supplemental PSI Ansible Roles, which are referrenced from the *RHEL-8 Ansible Collection* are developed in
* [PSI Ansible Roles](https://git.psi.ch/linux/engineering/ansible/roles)
Addition group/section inventories are managed in
* [PSI Ansible Inventories](https://git.psi.ch/linux/engineering/ansible/inventories)
## Adding my code
Depending on where your code changes are happening (see section [Main code](#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](https://vagrantup.com/intro) 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
* https://www.vagrantup.com/docs
* https://www.vagrantup.com/intro/getting-started
[PSI Ansible Vagrant](https://git.psi.ch/linux/engineering/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](satint.psi.ch) |
| Red Hat Ansible | configuration management | [docs.ansible.com](https://docs.ansible.com/ansible/latest/index.html) |
| Red Hat Ansible Tower (AWX) | configuration management center | [rhel-8-awx.psi.ch](https://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](https://git.psi.ch/linux/engineering/home) |
| Slack | instant messaging, ChatOps | [controls-ha.slack.com/rhel-8-maintainers](https://controls-ha.slack.com/archives/G0163S918CB) |
| Zoom | video conferencing | [psich.zoom.us](https://psich.zoom.us/j/2970303190)