From b1b92be47b1b20fe33b4df7fb99f7953277a04b3 Mon Sep 17 00:00:00 2001 From: DarkFeather Date: Wed, 22 Feb 2023 22:45:48 -0600 Subject: [PATCH] Updating README; changing service from oneshot to simple; restoring .gitignore of src/** --- .gitignore | 5 +---- README | 2 -- README.md | 15 +++++++++++++++ maat.service | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/.gitignore b/.gitignore index 1de66d1..3c65e10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,5 @@ # Testing outputs -src/HelloWorld -src/HelloWorld/** -src/ascii-invaders -src/ascii-invaders/** +src/ pkg/ testing.log diff --git a/README b/README deleted file mode 100644 index b717d2f..0000000 --- a/README +++ /dev/null @@ -1,2 +0,0 @@ -AniNIX::Maat \\ Quality Assurance and Reporting Framework -This package allows automation around code packaging and deployment. It will pull from both AniNIX::Foundation and ArchLinux AUR. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d5e4421 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +Continuous integration and continuous delivery (CI/CD) are integral to current DevOps mentality -- a step further is GitOps, wherein developers only need to interact with Git and their artifacts are magically available downstream. AniNIX/Maat is intended to provide this for AniNIX and [ArchLinux AUR](https://wiki.archlinux.org/title/Arch_User_Repository) packages. + +# Etymology +Maat is named for [the Egyptian goddess of truth and order](https://en.wikipedia.org/wiki/Maat) -- Maat was deeply tied into the idea of honorable contribution to community and the flow of the Nile, from which came the lifeblood of Egypt. Truth is reflected in the Maat service's use of testing and GPG signing prior to delivering packages, and the communal aspect is that Maat is how we deliver AniNIX and AUR packages for the world to use. + +# Relevant Files and Software + +Maat runs as a [systemd.timer](https://man.archlinux.org/man/systemd.timer.5) nightly, invoking our build script. Adhoc builds can be requested from admins. Output gets published on the [landing page](https://maat.aninix.net) from our build pipeline -- there you can download packages, view build logs, see testing status, etc. + +Our CI/CD pipeline attempts to pull directly from Git sources, either from the AniNIX or the curated AUR, build those packages, and make the available to systems downstream. The `/usr/local/etc/Maat/aur.list` file allows the admin to control which AUR packages are pulled and built -- output files from builds can help identify issues like missing public GPG keys or dependency issues. + +Maat also consumes a GPG key. The admin will need to set up this key and publish it. You will need to add [our GPG key](https://aninix.net/AniNIX/ShadowArch/src/branch/main/EtcFiles/aninix.gpg) to use the AniNIX's CI/CD. + +# Available Clients +As Maat is a pipeline for ArchLinux systems, the primary client is [Pacman](https://wiki.archlinux.org/title/Pacman). You can see how to subscribe your host to Maat in [this configuration snippet](https://aninix.net/AniNIX/Ubiqtorate/src/branch/main/roles/ShadowArch/files/pacman.conf#L103). diff --git a/maat.service b/maat.service index 49c0a55..beb3a15 100644 --- a/maat.service +++ b/maat.service @@ -6,7 +6,7 @@ ConditionPathExists=|!/srv/maat/pkg/.lock ExecStartPre=/usr/sbin/mkdir /srv/maat/pkg/.lock ExecStart=/usr/local/bin/maat ExecStopPost=/usr/sbin/rmdir /srv/maat/pkg/.lock -Type=oneshot +Type=simple RemainAfterExit=no User=root Group=root