You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/development/AlmaLinux-Build-System.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: 'AlmaLinux Build System'
3
3
---
4
4
5
-
###### last updated: 2024-09-10
5
+
###### last updated: 2024-10-28
6
6
7
7
# AlmaLinux Build System
8
8
@@ -22,6 +22,18 @@ AlmaLinux OS source code including [modified packages](/development/Modified-pac
22
22
23
23
AlmaLinux OS Team and community work on these repositories to submit changes, fix bugs, and introduce new features. The AlmaLinux Build System is then used to pull the latest changes from these repositories and build the updated packages.
* The Build System [Master Service](https://github.com/AlmaLinux/albs-web-server) provides an API that UI and CLI tools use to build, test, sign and release the packages.
30
+
* The sources to build the AlmaLinux OS packages are taken from the AlmaLinux [git server](https://git.almalinux.org/), which are either synchronized directly from the CentOS git server, or updated manually by the AlmaLinux packagers. All the package sources that are used to build AlmaLinux OS packages are notarized commit by commit, and this information is stored in our [immudb](/documentation/sbom-guide) instance.
31
+
* The [Build Node](https://github.com/AlmaLinux/albs-node) continuously asks the Master Service for new tasks to build packages from the provided git references. The built packages will be marked as verified only if the git references used to build the packages have been notarized. Built packages and build logs (or artifacts) are stored in the Artifact Storage (PULP), which only keeps notarized artifacts, this is, trusted and verified artifacts.
32
+
*[Test System](https://github.com/AlmaLinux/alts) receives Test Tasks to test built packages from Artifact Storage. The Test System tests packages via Test Nodes (eg. Docker or OpenNebula with different architectures) and store test artifacts (test logs) in Artifact Storage.
33
+
*[Sign Server](https://github.com/AlmaLinux/albs-sign-node) receives sign tasks to sign packages with the corresponding PGP key. The Sign Server retrieves the unsigned packages, verifies that the packages are notarized, and signs them. Signed packages are then notarized again, storing this information in immudb and then saving the signed packages in the Artifact Storage.
34
+
* Release System receives release tasks to upload signed packages to public repositories.
35
+
* Each step involved in the build process is notarized and stored in immudb using a unique hash (immudb hash). This process ensures that traceability is guaranteed and that the information generated throughout the build process and stored in immudb can be used later on to generate SBOM documents.
36
+
25
37
## More guides and details
26
38
27
39
If you are interested in learning how to build AlmaLinux OS packages, please check the [Packaging guidelines](/development/Packaging) and [Building packages guide](/documentation/building-packages-guide).
*[Build System project's documentation and issue tracker](https://github.com/AlmaLinux/build-system)
26
+
*[Build System project's issue tracker](https://github.com/AlmaLinux/build-system/issues)
27
27
*[Build System project's milestones](https://github.com/AlmaLinux/build-system/milestones)
28
28
*[Build System Web-Server](https://github.com/AlmaLinux/albs-web-server)
29
29
*[Build System Build Node](https://github.com/AlmaLinux/albs-node)
@@ -32,16 +32,25 @@ Meetings are held regularly, including a daily standup. If you would like to joi
32
32
*[Build System Sign Node](https://github.com/AlmaLinux/albs-sign-node)
33
33
*[Build System Sign File](https://github.com/AlmaLinux/albs-sign-file)
34
34
*[Build System Tests Cacher](https://github.com/AlmaLinux/alma-tests-cacher)
35
+
* Documentation:
36
+
* About AlmaLinux Build System and its structure - [AlmaLinux Build System](/development/AlmaLinux-Build-System).
37
+
* About SBOM - [SBOM guide](/documentation/sbom-guide).
38
+
* How to contribute to AlmaLinux Build System - [Contribute to AlmaLinux Build System](/Contribute-to-AlmaLinux-Build-System).
35
39
36
40
### Help wanted:
37
41
38
-
* Python and JavaScript Developers are needed to improve UI/UX.
39
-
* Add the ability to run test VMs in different clouds (AWS, Azure, etc.).
40
-
* Add the ability to use external repositories for testing scenarios (e.g. LTP for kernel, CentOS tests for different packages, openQA, etc.).
41
-
* Add OpenStack backend driver support.
42
-
* Add Azure backend driver support.
43
-
* Improve the ability to delete a build.
44
-
* Add Kubevirt backend support.
42
+
* Help on keeping our Build System SIG documentation up to date (READMEs in repos, wiki, docs, SIG wiki page, etc).
43
+
* Testing (experience with pytest), we need help to:
44
+
* Increase our test coverage in repos that already have tests.
45
+
* Add tests to those that don't have tests at all.
46
+
* Design and implement integration/e2e tests that involve different services.
47
+
* Familiar with Ansible? Help us in testing and improving our current ansible roles to deploy the AlmaLinux Build System.
48
+
* Interested in supply-chain security and SBOM? Help us in defining the next steps toward providing and expanding the current SBOM data that AlmaLinux OS is generating.
0 commit comments