From 437dc47f3ac0cd361992c7f706599404a89d0ef2 Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Wed, 4 Aug 2021 16:11:07 +0200 Subject: [PATCH] migrated old developer guide --- _toc.yml | 1 + rhel8-developer-guide/index.md | 69 ++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 rhel8-developer-guide/index.md diff --git a/_toc.yml b/_toc.yml index 85985c07..ff78371b 100644 --- a/_toc.yml +++ b/_toc.yml @@ -19,4 +19,5 @@ - part: RHEL8 Beta Guide chapters: - file: rhel8-beta/index + - file: rhel8-developer-guide/index \ No newline at end of file diff --git a/rhel8-developer-guide/index.md b/rhel8-developer-guide/index.md new file mode 100644 index 00000000..c6bbd4e5 --- /dev/null +++ b/rhel8-developer-guide/index.md @@ -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.
+*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) \ No newline at end of file