Merge branch 'devel' into 'main'
Sync into Main See merge request release-engineering/public/toolkit!47
This commit is contained in:
commit
190e1b4b22
47
.github/workflows/mix-empanadas.yml
vendored
Normal file
47
.github/workflows/mix-empanadas.yml
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
name: Build empanada container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
buildx:
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
# https://github.com/docker/setup-buildx-action
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
install: true
|
||||
|
||||
- name: Login to ghcr
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
|
||||
context: ./iso/empanadas
|
||||
file: ./iso/empanadas/Containerfile
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ghcr.io/neilhanlon/sig-core-toolkit:latest
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
@ -28,9 +28,11 @@ How to Run
|
||||
There are two ways to run through the tests:
|
||||
|
||||
* By running `/bin/bash runtests.sh`
|
||||
* Runs all tests
|
||||
* Runs all core tests
|
||||
* By running `/bin/bash stacktests.sh`
|
||||
* Runs all stack tests (eg, lamp, ipa)
|
||||
* By running `/bin/bash monotests.sh`
|
||||
* Runs all tests one by one to help identify failures as they happen
|
||||
* Supposed to runs all tests one by one to help identify failures as they happen (not functional)
|
||||
|
||||
Adding Tests
|
||||
------------
|
||||
@ -316,6 +318,9 @@ Current Tree
|
||||
│ │ ├── 00-install-lsof.sh
|
||||
│ │ ├── 10-test-lsof.sh
|
||||
│ │ └── README.md
|
||||
│ ├── pkg_mdadm
|
||||
│ │ ├── 00-install-mdadm.sh
|
||||
│ │ └── 01-test-mdadm.sh
|
||||
│ ├── pkg_network
|
||||
│ │ ├── 00-install-packages.sh
|
||||
│ │ ├── 10-tracepath.sh
|
||||
@ -348,6 +353,13 @@ Current Tree
|
||||
│ │ ├── 30-postfix-sasl.sh
|
||||
│ │ ├── 40-postfix-tls.sh
|
||||
│ │ └── README.md
|
||||
│ ├── pkg_postgresql
|
||||
│ │ ├── 00-install-postgresql.sh
|
||||
│ │ ├── 01-configure-postgresql.sh
|
||||
│ │ ├── 10-create-db.sh
|
||||
│ │ ├── 11-create-user.sh
|
||||
│ │ ├── 20-drop-db.sh
|
||||
│ │ └── 21-drop-user.sh
|
||||
│ ├── pkg_python
|
||||
│ │ ├── 00-install-python.sh
|
||||
│ │ ├── 10-test-python3.sh
|
||||
@ -423,6 +435,11 @@ Current Tree
|
||||
│ ├── pkg_telnet
|
||||
│ │ ├── 00-install-telnet.sh
|
||||
│ │ └── 10-test-telnet.sh
|
||||
│ ├── pkg_tftp-server
|
||||
│ │ ├── 00-install-tftp.sh
|
||||
│ │ ├── 01-configure-tftp.sh
|
||||
│ │ ├── 10-get-test.sh
|
||||
│ │ └── 11-put-test.sh
|
||||
│ ├── pkg_vsftpd
|
||||
│ │ ├── 00-install-vsftpd.sh
|
||||
│ │ ├── 10-anonymous-vsftpd.sh
|
||||
@ -447,20 +464,21 @@ Current Tree
|
||||
├── README.md
|
||||
├── runtests.sh
|
||||
├── skip.list
|
||||
└── stacks
|
||||
├── ipa
|
||||
│ ├── 00-ipa-pregame.sh
|
||||
│ ├── 10-install-ipa.sh
|
||||
│ ├── 11-configure-ipa.sh
|
||||
│ ├── 12-verify-ipa.sh
|
||||
│ ├── 20-ipa-user.sh
|
||||
│ ├── 21-ipa-service.sh
|
||||
│ ├── 22-ipa-dns.sh
|
||||
│ ├── 23-ipa-sudo.sh
|
||||
│ ├── 50-cleanup-ipa.sh
|
||||
│ └── README.md
|
||||
└── lamp
|
||||
├── 00-install-lamp.sh
|
||||
├── 01-verification.sh
|
||||
└── 10-test-lamp.sh
|
||||
├── stacks
|
||||
│ ├── ipa
|
||||
│ │ ├── 00-ipa-pregame.sh
|
||||
│ │ ├── 10-install-ipa.sh
|
||||
│ │ ├── 11-configure-ipa.sh
|
||||
│ │ ├── 12-verify-ipa.sh
|
||||
│ │ ├── 20-ipa-user.sh
|
||||
│ │ ├── 21-ipa-service.sh
|
||||
│ │ ├── 22-ipa-dns.sh
|
||||
│ │ ├── 23-ipa-sudo.sh
|
||||
│ │ ├── 50-cleanup-ipa.sh
|
||||
│ │ └── README.md
|
||||
│ └── lamp
|
||||
│ ├── 00-install-lamp.sh
|
||||
│ ├── 01-verification.sh
|
||||
│ └── 10-test-lamp.sh
|
||||
└── stacks.sh
|
||||
```
|
||||
|
@ -11,5 +11,5 @@ export readonly RELEASE_NAME=rocky
|
||||
# A 0 means it was successful. It can be changed to 1 on failure.
|
||||
export IPAINSTALLED=0
|
||||
|
||||
LOGFILE="./log/$(date +'%m-%d-%Y')-tests.log"
|
||||
LOGFILE="$(pwd)/log/$(date +'%m-%d-%Y')-tests.log"
|
||||
export LOGFILE
|
||||
|
@ -2,4 +2,4 @@
|
||||
r_log "archive" "Installing appropriate archive formats"
|
||||
|
||||
# We might need expect for zmore - does anyone actually use zmore?
|
||||
p_installPackageNormal bzip2 diffutils gzip less ncompress tar unzip util-linux-ng zip lzop
|
||||
p_installPackageNormal bzip2 diffutils gzip less tar unzip util-linux-ng zip lzop
|
||||
|
@ -89,8 +89,12 @@ gzip $FILE $FILE.1 || r_checkExitStatus 1
|
||||
r_log "archive" "Verify that .Z files can be handled"
|
||||
gunzip $FILE.gz
|
||||
ls -l /var/tmp >> $FILE
|
||||
compress $FILE || r_checkExitStatus 1
|
||||
gunzip $FILE.Z || r_checkExitStatus 1
|
||||
if [ "$RL_VER" -eq 8 ]; then
|
||||
compress $FILE || r_checkExitStatus 1
|
||||
gunzip $FILE.Z || r_checkExitStatus 1
|
||||
else
|
||||
r_log "archive" "Skipping for 9"
|
||||
fi
|
||||
|
||||
# handle some zip files
|
||||
r_log "archive" "Verify that .zip files can be handled"
|
||||
|
@ -9,7 +9,7 @@ fi
|
||||
|
||||
COUNTS="$(grep -c rockylinux.org $FIREPATH)"
|
||||
|
||||
if [ "$COUNTS" -eq 2 ]; then
|
||||
if [ "$COUNTS" -ge 2 ]; then
|
||||
r_checkExitStatus 0
|
||||
else
|
||||
r_checkExitStatus 1
|
||||
|
@ -2,7 +2,7 @@
|
||||
r_log "httpd" "Verify httpd branding"
|
||||
|
||||
r_log "httpd" "Token"
|
||||
curl -sI http://localhost/ | grep -i "Server:\ Apache.*\ (Rocky)" > /dev/null 2>&1
|
||||
curl -sI http://localhost/ | grep -i "Server:\ Apache.*\ (Rocky Linux)" > /dev/null 2>&1
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "httpd" "index"
|
||||
|
@ -1,3 +1,8 @@
|
||||
#!/bin/bash
|
||||
r_log "lsb" "Install LSB package"
|
||||
if [ "$RL_VER" -ge 8 ]; then
|
||||
r_log "lsb" "redhat-lsb is not in EL9"
|
||||
exit $PASS
|
||||
fi
|
||||
|
||||
p_installPackageNormal redhat-lsb
|
||||
|
@ -1,5 +1,10 @@
|
||||
#!/bin/bash
|
||||
r_log "lsb" "Test LSB branding"
|
||||
if [ "$RL_VER" -ge 8 ]; then
|
||||
r_log "lsb" "redhat-lsb is not in EL9"
|
||||
exit $PASS
|
||||
fi
|
||||
|
||||
lsb_release -i | grep -q "Rocky"
|
||||
r_checkExitStatus $?
|
||||
lsb_release -d | grep -q "Rocky"
|
||||
|
3
func/core/pkg_mdadm/00-install-mdadm.sh
Executable file
3
func/core/pkg_mdadm/00-install-mdadm.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
r_log "mdadm" "Install mdadm"
|
||||
p_installPackageNormal mdadm
|
13
func/core/pkg_mdadm/01-test-mdadm.sh
Executable file
13
func/core/pkg_mdadm/01-test-mdadm.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
r_log "mdadm" "Check that mdadm will operate and return the right exit codes"
|
||||
[ ${EUID} -eq 0 ] || { r_log "mdadm" "Not running as root. Skipping." ; exit "$PASS"; }
|
||||
MDADM=$(which mdadm)
|
||||
|
||||
[ -z "${MDADM}" ] && { r_log "mdadm" "which reported the binary but it doesn't exist, why?"; exit "$FAIL"; }
|
||||
|
||||
${MDADM} --detail --scan &> /dev/null
|
||||
ret_val=$?
|
||||
|
||||
[ "$ret_val" -eq 0 ] || { r_log "mdadm" "There was a non-zero exit. This is likely fatal."; exit "$FAIL"; }
|
||||
|
||||
r_checkExitStatus $ret_val
|
@ -1,3 +1,7 @@
|
||||
#!/bin/bash
|
||||
r_log "network" "Install necessary network packages and utilities"
|
||||
p_installPackageNormal traceroute iputils iproute mtr arpwatch psmisc net-tools which iptraf
|
||||
pkgs=(traceroute iputils iproute mtr psmisc net-tools which iptraf)
|
||||
if [ "$RL_VER" -eq 8 ]; then
|
||||
pkgs+=( arpwatch )
|
||||
fi
|
||||
p_installPackageNormal "${pkgs[@]}"
|
||||
|
3
func/core/pkg_postgresql/00-install-postgresql.sh
Executable file
3
func/core/pkg_postgresql/00-install-postgresql.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Installing postgresql"
|
||||
p_installPackageNormal postgresql-server postgresql
|
5
func/core/pkg_postgresql/01-configure-postgresql.sh
Executable file
5
func/core/pkg_postgresql/01-configure-postgresql.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Initialize postgresql"
|
||||
postgresql-setup --initdb
|
||||
m_serviceCycler postgresql cycle
|
||||
sleep 15
|
4
func/core/pkg_postgresql/10-create-db.sh
Executable file
4
func/core/pkg_postgresql/10-create-db.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Creating db"
|
||||
su - postgres -c 'createdb pg_test'
|
||||
r_checkExitStatus $?
|
4
func/core/pkg_postgresql/11-create-user.sh
Executable file
4
func/core/pkg_postgresql/11-create-user.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Creating user"
|
||||
su - postgres -c 'createuser -S -R -D testuser' > /dev/null 2>&1
|
||||
r_checkExitStatus $?
|
4
func/core/pkg_postgresql/20-drop-db.sh
Executable file
4
func/core/pkg_postgresql/20-drop-db.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Dropping database"
|
||||
su - postgres -c 'dropdb pg_test' > /dev/null 2>&1
|
||||
r_checkExitStatus $?
|
4
func/core/pkg_postgresql/21-drop-user.sh
Executable file
4
func/core/pkg_postgresql/21-drop-user.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
r_log "postgresql" "Dropping user"
|
||||
su - postgres -c 'dropuser testuser' > /dev/null 2>&1
|
||||
r_checkExitStatus $?
|
@ -4,8 +4,8 @@ if [ "$RL_VER" -eq 8 ]; then
|
||||
file /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial > /dev/null 2>&1 && \
|
||||
file /etc/pki/rpm-gpg/RPM-GPG-KEY-rockytesting > /dev/null 2>&1
|
||||
else
|
||||
file "/etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-${RL_VER}" > /ev/null 2>&1 && \
|
||||
file "/etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-${RL_VER}-Testing" > /ev/null 2>&1
|
||||
file "/etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-${RL_VER}" > /dev/null 2>&1 && \
|
||||
file "/etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-${RL_VER}-Testing" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
r_checkExitStatus $?
|
||||
|
@ -4,10 +4,10 @@ r_log "rocky" "Check /etc/os-release stuff"
|
||||
r_log "rocky" "Verify support directives"
|
||||
for s in NAME=\"Rocky\ Linux\" \
|
||||
ID=\"rocky\" \
|
||||
ROCKY_SUPPORT_PRODUCT=\"Rocky\ Linux\" \
|
||||
ROCKY_SUPPORT_PRODUCT_VERSION=\"$RL_VER\"; do
|
||||
ROCKY_SUPPORT_PRODUCT=\"Rocky-Linux-$RL_VER\" \
|
||||
ROCKY_SUPPORT_PRODUCT_VERSION=\"$RL_VER\..*\"; do
|
||||
if ! grep -q "$s" /etc/os-release; then
|
||||
r_log "rocky" "Missing string in /etc/os-release"
|
||||
r_log "rocky" "Missing string ($s) in /etc/os-release"
|
||||
r_checkExitStatus 1
|
||||
fi
|
||||
done
|
||||
|
@ -110,6 +110,6 @@ r_log "shadow" "Test sg"
|
||||
sg onyxuser "touch /var/tmp/onyxsg"
|
||||
r_checkExitStatus $?
|
||||
r_log "shadow" "Verify sg worked"
|
||||
stat --format="%U" /var/tmp/onyxsg | grep -q onyxuser
|
||||
stat --format="%G" /var/tmp/onyxsg | grep -q onyxuser
|
||||
r_checkExitStatus $?
|
||||
rm /var/tmp/onyxsg
|
||||
|
3
func/core/pkg_tftp-server/00-install-tftp.sh
Executable file
3
func/core/pkg_tftp-server/00-install-tftp.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
r_log "tftp" "Installing packages"
|
||||
p_installPackageNormal tftp-server tftp
|
23
func/core/pkg_tftp-server/01-configure-tftp.sh
Executable file
23
func/core/pkg_tftp-server/01-configure-tftp.sh
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
r_log "tftp" "Configure tftp"
|
||||
|
||||
if [ "$RL_VER" -eq 8 ]; then
|
||||
cat <<EOF > /etc/xinetd.d/tftp
|
||||
service tftp
|
||||
{
|
||||
socket_type = dgram
|
||||
protocol = udp
|
||||
wait = yes
|
||||
user = root
|
||||
server = /usr/sbin/in.tftpd
|
||||
server_args = -s /var/lib/tftpboot
|
||||
disable = no
|
||||
per_source = 11
|
||||
cps = 100 2
|
||||
flags = IPv4
|
||||
}
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
m_serviceCycler tftp.socket start
|
10
func/core/pkg_tftp-server/10-get-test.sh
Executable file
10
func/core/pkg_tftp-server/10-get-test.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
r_log "tftp" "Getting a file from tftp"
|
||||
|
||||
chmod 777 /var/lib/tftpboot
|
||||
echo "rocky func" > /var/lib/tftpboot/tftptest
|
||||
tftp 127.0.0.1 -c get tftptest
|
||||
|
||||
grep -q "rocky func" tftptest
|
||||
r_checkExitStatus
|
||||
/bin/rm tftptest
|
14
func/core/pkg_tftp-server/11-put-test.sh
Executable file
14
func/core/pkg_tftp-server/11-put-test.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
r_log "tftp" "Testing anon write"
|
||||
TFTPDIR=/var/lib/tftpboot
|
||||
setsebool tftp_anon_write 1
|
||||
chmod 777 $TFTPDIR
|
||||
echo "rocky func" > puttest
|
||||
touch $TFTPDIR > $TFTPDIR/puttest
|
||||
chmod 666 $TFTPDIR/puttest
|
||||
tftp 127.0.0.1 -c put puttest
|
||||
sleep 2
|
||||
grep -q 'rocky func' $TFTPDIR/puttest
|
||||
r_checkExitStatus $?
|
||||
/bin/rm puttest
|
||||
/bin/rm $TFTPDIR/puttest
|
@ -10,9 +10,12 @@
|
||||
# -> Must be a URL to bugs.rl.o, a github issue number, or a code, such as:
|
||||
# * NEEDINFO
|
||||
# * NOTREADY
|
||||
# * NOPKG
|
||||
8|./core/pkg_archive/26-zmore.sh|nazunalika|NEEDINFO
|
||||
8|./core/pkg_nfs/12-prepare-autofs.sh|nazunalika|NEEDINFO
|
||||
8|./core/pkg_diffutils/00-install-diff.sh|nazunalika|NOTREADY
|
||||
8|./core/pkg_snmp/12-test-snmp-3.sh|nazunalika|NOTWORKING
|
||||
8|./core/pkg_samba/00-install-samba.sh|nazunalika|NOTWORKING
|
||||
8|./core/pkg_samba/10-test-samba.sh|nazunalika|NOTWORKING
|
||||
9|./core/pkg_archive/27-znew.sh|nazunalika|NOPKG
|
||||
9|./core/pkg_network/30-test-arpwatch.sh|nazunalika|NOPKG
|
||||
|
59
func/stacks.sh
Normal file
59
func/stacks.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# Release Engineering Core Functionality Testing
|
||||
# Louis Abel <label@rockylinux.org> @nazunalika
|
||||
|
||||
################################################################################
|
||||
# Settings and variables
|
||||
|
||||
# Exits on any non-zero exit status - Disabled for now.
|
||||
#set -e
|
||||
# Undefined variables will cause an exit
|
||||
set -u
|
||||
|
||||
COMMON_EXPORTS='./common/exports.sh'
|
||||
COMMON_IMPORTS='./common/imports.sh'
|
||||
SELINUX=$(getenforce)
|
||||
|
||||
# End
|
||||
################################################################################
|
||||
|
||||
# shellcheck source=/dev/null disable=SC2015
|
||||
[ -f $COMMON_EXPORTS ] && source $COMMON_EXPORTS || { echo -e "\n[-] $(date): Variables cannot be sourced."; exit 1; }
|
||||
# shellcheck source=/dev/null disable=SC2015
|
||||
[ -f $COMMON_IMPORTS ] && source $COMMON_IMPORTS || { echo -e "\n[-] $(date): Functions cannot be sourced."; exit 1; }
|
||||
# Init log
|
||||
# shellcheck disable=SC2015
|
||||
[ -e "$LOGFILE" ] && m_recycleLog || touch "$LOGFILE"
|
||||
# SELinux check
|
||||
if [ "$SELINUX" != "Enforcing" ]; then
|
||||
echo -e "\n[-] $(date): SELinux is not enforcing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
r_log "internal" "Starting Release Engineering Core Tests"
|
||||
|
||||
################################################################################
|
||||
# Script Work
|
||||
|
||||
# Skip tests in a list - some tests are already -x, so it won't be an issue
|
||||
if [ -e skip.list ]; then
|
||||
r_log "internal" "Disabling tests"
|
||||
# shellcheck disable=SC2162
|
||||
grep -E "^${RL_VER}" skip.list | while read line; do
|
||||
# shellcheck disable=SC2086
|
||||
testFile="$(echo $line | cut -d '|' -f 2)"
|
||||
r_log "internal" "SKIP ${testFile}"
|
||||
chmod -x "${testFile}"
|
||||
done
|
||||
r_log "internal" "WARNING: Tests above were disabled."
|
||||
fi
|
||||
|
||||
# TODO: should we let $1 judge what directory is ran?
|
||||
# TODO: get some stacks and lib in there
|
||||
|
||||
#r_processor <(/usr/bin/find ./core -type f | sort -t'/')
|
||||
#r_processor <(/usr/bin/find ./lib -type f | sort -t'/')
|
||||
r_processor <(/usr/bin/find ./stacks -type f | sort -t'/')
|
||||
|
||||
r_log "internal" "Core Tests completed"
|
||||
exit 0
|
@ -9,5 +9,6 @@ fi
|
||||
# going to be the same thing or not so this check is there just in case.
|
||||
if [ "$RL_VER" -eq 8 ]; then
|
||||
p_enableModule idm:DL1/{client,common,dns,server}
|
||||
p_installPackageNormal ipa-server ipa-server-dns
|
||||
fi
|
||||
|
||||
p_installPackageNormal ipa-server ipa-server-dns
|
||||
|
@ -4,8 +4,77 @@ if m_getArch aarch64 | grep -qE 'aarch64'; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$IPAINSTALLED" -eq 1 ]; then
|
||||
if [ "$IPAINSTALLED" -eq 1 ]; then
|
||||
r_log "ipa" "IPA was not successfully installed. Aborting."
|
||||
r_checkExitStatus 1
|
||||
fi
|
||||
|
||||
kdestroy &> /dev/null
|
||||
klist 2>&1 | grep -E "(No credentials|Credentials cache .* not found)" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit admin
|
||||
sleep 1
|
||||
expect "Password for admin@RLIPA.LOCAL:"
|
||||
send -h "b1U3OnyX!\r"
|
||||
sleep 5
|
||||
close
|
||||
EOF
|
||||
|
||||
klist | grep "admin@RLIPA.LOCAL" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Test adding a user"
|
||||
userDetails="$(ipa user-add --first=test --last=user --random ipatestuser)"
|
||||
echo "$userDetails" | grep -q 'Added user "ipatestuser"'
|
||||
r_checkExitStatus $?
|
||||
|
||||
echo "$userDetails" | grep -q 'First name: test'
|
||||
r_checkExitStatus $?
|
||||
echo "$userDetails" | grep -q 'Last name: user'
|
||||
r_checkExitStatus $?
|
||||
echo "$userDetails" | grep -q 'Full name: test user'
|
||||
r_checkExitStatus $?
|
||||
echo "$userDetails" | grep -q 'Home directory: /home/ipatestuser'
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Changing password of the user"
|
||||
kdestroy &> /dev/null
|
||||
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit ipatestuser
|
||||
sleep 1
|
||||
expect "Password for ipatestuser@RLIPA.LOCAL: "
|
||||
send -h -- "$(echo "$userDetails" | awk '$0 ~ /Random password/ {print $3}')\r"
|
||||
sleep 1
|
||||
expect "Enter new password: "
|
||||
send -h -- "gr@YAm3thy5st!\r"
|
||||
sleep 1
|
||||
expect "Enter it again: "
|
||||
send -h -- "gr@YAm3thy5st!\r"
|
||||
sleep 5
|
||||
close
|
||||
EOF
|
||||
|
||||
r_log "ipa" "Re-doing a kinit"
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit ipatestuser
|
||||
sleep 1
|
||||
expect "Password for ipatestuser@C6IPA.LOCAL:"
|
||||
send -h "gr@YAm3thy5st!\r"
|
||||
sleep 1
|
||||
close
|
||||
EOF
|
||||
|
||||
klist | grep "ipatestuser@RLIPA.LOCAL" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
kdestroy &> /dev/null
|
||||
|
||||
r_log "ipa" "Testing for user in getent"
|
||||
getent passwd ipatestuser &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
if m_getArch aarch64 | grep -qE 'aarch64'; then
|
||||
r_log "ipa -bash" "Skipping for aarch64"
|
||||
r_log "ipa" "Skipping for aarch64"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -9,3 +9,61 @@ if [ "$IPAINSTALLED" -eq 1 ]; then
|
||||
r_checkExitStatus 1
|
||||
fi
|
||||
|
||||
kdestroy &> /dev/null
|
||||
klist 2>&1 | grep -E "(No credentials|Credentials cache .* not found)" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit admin
|
||||
sleep 1
|
||||
expect "Password for admin@RLIPA.LOCAL:"
|
||||
send -h "b1U3OnyX!\r"
|
||||
sleep 5
|
||||
close
|
||||
EOF
|
||||
|
||||
klist | grep "admin@RLIPA.LOCAL" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Adding test service"
|
||||
ipa service-add testservice/rltest.rlipa.local &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Getting keytab for service"
|
||||
ipa-getkeytab -s rltest.rlipa.local -p testservice/rltest.rlipa.local -k /tmp/testservice.keytab &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Getting a certificate for service"
|
||||
ipa-getcert request -K testservice/rltest.rlipa.local -D rltest.rlipa.local -f /etc/pki/tls/certs/testservice.crt -k /etc/pki/tls/private/testservice.key &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
while true; do
|
||||
entry="$(ipa-getcert list -r | sed -n '/Request ID/,/auto-renew: yes/p')"
|
||||
if [[ $entry =~ "status:" ]] && [[ $entry =~ "CA_REJECTED" ]]; then
|
||||
r_checkExitStatus 1
|
||||
break
|
||||
fi
|
||||
if [[ $entry =~ "" ]]; then
|
||||
r_checkExitStatus 0
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
while ! stat /etc/pki/tls/certs/testservice.crt &> /dev/null; do
|
||||
sync
|
||||
sleep 1
|
||||
done
|
||||
|
||||
r_log "ipa" "Verifying keytab"
|
||||
klist -k /tmp/testservice.keytab | grep "testservice/rltest.rlipa.local" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Verifying key matches the certificate"
|
||||
diff <(openssl x509 -in /etc/pki/tls/certs/testservice.crt -noout -modulus 2>&1 ) <(openssl rsa -in /etc/pki/tls/private/testservice.key -noout -modulus 2>&1 )
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Verifying the certificate against our CA"
|
||||
openssl verify -CAfile /etc/ipa/ca.crt /etc/pki/tls/certs/testservice.crt | grep "/etc/pki/tls/certs/testservice.crt: OK" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
@ -9,3 +9,46 @@ if [ "$IPAINSTALLED" -eq 1 ]; then
|
||||
r_checkExitStatus 1
|
||||
fi
|
||||
|
||||
kdestroy &> /dev/null
|
||||
klist 2>&1 | grep -qE "(No credentials|Credentials cache .* not found)" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit admin
|
||||
sleep 1
|
||||
expect "Password for admin@RLIPA.LOCAL:"
|
||||
send -h "b1U3OnyX!\r"
|
||||
sleep 5
|
||||
close
|
||||
EOF
|
||||
|
||||
klist | grep "admin@RLIPA.LOCAL" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Adding testzone subdomain"
|
||||
ipa dnszone-add --name-server=rltest.rlipa.local. --admin-email=hostmaster.testzone.rlipa.local. testzone.rlipa.local &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
sleep 5
|
||||
|
||||
r_log "ipa" "Get SOA from testzone subdomain"
|
||||
dig @localhost SOA testzone.rlipa.local | grep -q "status: NOERROR" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Adding a CNAME record to the primary domain"
|
||||
ipa dnsrecord-add rlipa.local testrecord --cname-hostname=rltest &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
sleep 5
|
||||
|
||||
r_log "ipa" "Retrieving CNAME record"
|
||||
dig @localhost CNAME testrecord.rlipa.local | grep -q "status: NOERROR" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
r_log "ipa" "Adding a CNAME to subdomain"
|
||||
ipa dnsrecord-add testzone.rlipa.local testrecord --cname-hostname=rltest.rlipa.local. &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
sleep 5
|
||||
|
||||
r_log "ipa" "Testing can retrieve record from subdomain"
|
||||
dig @localhost CNAME testrecord.testzone.rlipa.local | grep -q "status: NOERROR" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
@ -9,3 +9,19 @@ if [ "$IPAINSTALLED" -eq 1 ]; then
|
||||
r_checkExitStatus 1
|
||||
fi
|
||||
|
||||
kdestroy &> /dev/null
|
||||
klist 2>&1 | grep -E "(No credentials|Credentials cache .* not found)" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
||||
expect -f - <<EOF
|
||||
set send_human {.1 .3 1 .05 2}
|
||||
spawn kinit admin
|
||||
sleep 1
|
||||
expect "Password for admin@RLIPA.LOCAL:"
|
||||
send -h "b1U3OnyX!\r"
|
||||
sleep 5
|
||||
close
|
||||
EOF
|
||||
|
||||
klist | grep "admin@RLIPA.LOCAL" &> /dev/null
|
||||
r_checkExitStatus $?
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
if m_getArch aarch64 | grep -qE 'aarch64'; then
|
||||
r_log "ipa -bash" "Skipping for aarch64"
|
||||
r_log "ipa" "Skipping for aarch64"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
66
iso/empanadas/Containerfile
Normal file
66
iso/empanadas/Containerfile
Normal file
@ -0,0 +1,66 @@
|
||||
FROM quay.io/centos/centos:stream9
|
||||
|
||||
ADD images/get_arch /get_arch
|
||||
|
||||
ENV TINI_VERSION v0.19.0
|
||||
RUN curl -o /tini -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-$(/get_arch)"
|
||||
RUN chmod +x /tini
|
||||
|
||||
RUN rm -rf /etc/yum.repos.d/*.repo
|
||||
ADD images/epelkey.gpg /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
|
||||
ADD images/rhel.repo /etc/yum.repos.d/rhel.repo
|
||||
|
||||
RUN dnf update -y && dnf install -y \
|
||||
bash \
|
||||
bzip2 \
|
||||
cpio \
|
||||
diffutils \
|
||||
findutils \
|
||||
gawk \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
git \
|
||||
grep \
|
||||
gzip \
|
||||
info \
|
||||
make \
|
||||
patch \
|
||||
python3 \
|
||||
redhat-rpm-config \
|
||||
rpm-build \
|
||||
scl-utils-build \
|
||||
sed \
|
||||
shadow-utils \
|
||||
tar \
|
||||
unzip \
|
||||
util-linux \
|
||||
which \
|
||||
xz \
|
||||
dnf-plugins-core \
|
||||
createrepo_c \
|
||||
rpm-sign \
|
||||
sudo \
|
||||
mock \
|
||||
python-pip \
|
||||
genisoimage \
|
||||
isomd5sum \
|
||||
lorax \
|
||||
lorax-templates-rhel \
|
||||
lorax-templates-generic
|
||||
|
||||
RUN sed -i '/libreport-rhel-anaconda-bugzilla/ s/^/#/' /usr/share/lorax/templates.d/80-rhel/runtime-install.tmpl
|
||||
|
||||
RUN ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
|
||||
RUN dnf clean all
|
||||
RUN rm -rf /etc/yum.repos.d/*.repo
|
||||
RUN useradd -o -d /var/peridot -u 1002 peridotbuilder && usermod -a -G mock peridotbuilder
|
||||
RUN chown peridotbuilder:mock /etc/yum.conf && chown -R peridotbuilder:mock /etc/dnf && chown -R peridotbuilder:mock /etc/rpm && chown -R peridotbuilder:mock /etc/yum.repos.d
|
||||
|
||||
RUN pip install 'git+https://git.rockylinux.org/release-engineering/public/toolkit.git@feature/iso-kube#egg=empanadas&subdirectory=iso/empanadas'
|
||||
|
||||
RUN pip install awscli
|
||||
|
||||
ENV USER=1002
|
||||
USER 1002
|
||||
|
||||
ENTRYPOINT ["/tini", "--"]
|
@ -1,5 +1,19 @@
|
||||
# iso
|
||||
|
||||
|
||||
## Setup / Install
|
||||
|
||||
1. Install [Poetry](https://python-poetry.org/docs/)
|
||||
2. Setup: `poetry install`
|
||||
3. Have fun
|
||||
|
||||
|
||||
## Updating dependencies
|
||||
|
||||
Dependencies can be manipulated via the pyproject.toml file or with the poetry add/remove commands.
|
||||
|
||||
Changes to the poetry.lock should be commited if dependencies are added or updated.
|
||||
|
||||
## TODO
|
||||
|
||||
Verbose mode should exist to output everything that's being called or ran.
|
||||
@ -52,5 +66,6 @@ r.check_valid_arch()
|
||||
|
||||
### script names and permissions
|
||||
|
||||
* Callable scripts should *not* end in `.py`
|
||||
* They should have at least `775` or `+x` permissions
|
||||
* Callable scripts should always end in `.py` and live in the empanadas/scripts folder
|
||||
* Poetry will handle the installation of these executables with setuptools for distribution, and they can be invoked by name using `poetry run script-name`, too.
|
||||
* Configure the script and function to be executed in pyproject.toml (TODO: dynamically load scripts from this directory as well as standardize on the script input/outputs)
|
14
iso/empanadas/build-container.sh
Normal file
14
iso/empanadas/build-container.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
MANIFEST_NAME="peridotempanadas"
|
||||
BUILD_PATH="."
|
||||
REGISTRY="docker.io"
|
||||
USER="neilresf"
|
||||
IMAGE_TAG="v0.1.0"
|
||||
IMAGE_NAME="peridotempanadas"
|
||||
|
||||
podman buildx build \
|
||||
--platform linux/amd64,linux/arm64,linux/s390x,linux/ppc64le \
|
||||
--tag "${REGISTRY}/${USER}/${IMAGE_NAME}:${IMAGE_TAG}" \
|
||||
$PWD
|
||||
|
1
iso/empanadas/empanadas/__init__.py
Normal file
1
iso/empanadas/empanadas/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
__version__ = '0.1.0'
|
@ -6,6 +6,7 @@ import glob
|
||||
import rpm
|
||||
import yaml
|
||||
import logging
|
||||
import hashlib
|
||||
|
||||
# These are a bunch of colors we may use in terminal output
|
||||
class Color:
|
||||
@ -25,6 +26,7 @@ rldict = {}
|
||||
sigdict = {}
|
||||
config = {
|
||||
"rlmacro": rpm.expandMacro('%rhel'),
|
||||
"dist": 'el' + rpm.expandMacro('%rhel'),
|
||||
"arch": platform.machine(),
|
||||
"date_stamp": time.strftime("%Y%m%d.%H%M%S", time.localtime()),
|
||||
"compose_root": "/mnt/compose",
|
||||
@ -33,16 +35,31 @@ config = {
|
||||
"category_stub": "mirror/pub/rocky",
|
||||
"sig_category_stub": "mirror/pub/sig",
|
||||
"repo_base_url": "https://yumrepofs.build.resf.org/v1/projects",
|
||||
"container": "centos:stream9"
|
||||
"mock_work_root": "/builddir",
|
||||
"container": "centos:stream9",
|
||||
"distname": "Rocky Linux",
|
||||
"shortname": "Rocky",
|
||||
"translators": {
|
||||
"x86_64": "amd64",
|
||||
"aarch64": "arm64",
|
||||
"ppc64le": "ppc64le",
|
||||
"s390x": "s390x"
|
||||
},
|
||||
"aws_region": "us-east-2",
|
||||
"bucket": "resf-empanadas",
|
||||
"bucket_url": "https://resf-empanadas.s3.us-east-2.amazonaws.com"
|
||||
}
|
||||
|
||||
# Importing the config from yaml
|
||||
for conf in glob.iglob('configs/*.yaml'):
|
||||
import importlib_resources
|
||||
_rootdir = importlib_resources.files("empanadas")
|
||||
|
||||
for conf in glob.iglob(f"{_rootdir}/configs/*.yaml"):
|
||||
with open(conf, 'r', encoding="utf-8") as file:
|
||||
rldict.update(yaml.safe_load(file))
|
||||
|
||||
# Import all SIG configs from yaml
|
||||
for conf in glob.iglob('sig/*.yaml'):
|
||||
for conf in glob.iglob(f"{_rootdir}/sig/*.yaml"):
|
||||
with open(conf, 'r', encoding="utf-8") as file:
|
||||
sigdict.update(yaml.safe_load(file))
|
||||
|
@ -1,16 +1,17 @@
|
||||
---
|
||||
'8':
|
||||
fullname: 'Rocky Linux 8'
|
||||
revision: '8.6'
|
||||
rclvl: 'RC2'
|
||||
major: '8'
|
||||
minor: '6'
|
||||
profile: '8'
|
||||
bugurl: 'https://bugs.rockylinux.org'
|
||||
allowed_arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
provide_multilib: False
|
||||
project_id: ''
|
||||
required_packages:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
repo_symlinks:
|
||||
devel: 'Devel'
|
||||
NFV: 'nfv'
|
||||
@ -53,6 +54,48 @@
|
||||
- dvd1
|
||||
- minimal
|
||||
- boot
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_packages:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
structure:
|
||||
packages: 'os/Packages'
|
||||
repodata: 'os/repodata'
|
||||
iso_map:
|
||||
xorrisofs: False
|
||||
iso_level: False
|
||||
hosts:
|
||||
x86_64: ''
|
||||
aarch64: ''
|
||||
images:
|
||||
dvd:
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
lorax_variants:
|
||||
- dvd
|
||||
- minimal
|
||||
- BaseOS
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_pkgs:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
repoclosure_map:
|
||||
arches:
|
||||
x86_64: '--arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
||||
@ -80,10 +123,15 @@
|
||||
- AppStream
|
||||
extra_files:
|
||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r8/'
|
||||
branch: 'r8'
|
||||
gpg:
|
||||
stable: 'SOURCES/RPM-GPG-KEY-rockyofficial'
|
||||
testing: 'SOURCES/RPM-GPG-KEY-rockytesting'
|
||||
list:
|
||||
- 'SOURCES/COMMUNITY-CHARTER'
|
||||
- 'SOURCES/EULA'
|
||||
- 'SOURCES/LICENSE'
|
||||
- 'SOURCES/RPM-GPG-KEY-rockyofficial'
|
||||
- 'SOURCES/RPM-GPG-KEY-rockytesting'
|
||||
...
|
123
iso/empanadas/empanadas/configs/el9-beta.yaml
Normal file
123
iso/empanadas/empanadas/configs/el9-beta.yaml
Normal file
@ -0,0 +1,123 @@
|
||||
---
|
||||
'9-beta':
|
||||
fullname: 'Rocky Linux 9.1'
|
||||
revision: '9.1'
|
||||
rclvl: 'BETA1'
|
||||
major: '9'
|
||||
minor: '1'
|
||||
profile: '9-beta'
|
||||
bugurl: 'https://bugs.rockylinux.org'
|
||||
checksum: 'sha256'
|
||||
allowed_arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
- ppc64le
|
||||
- s390x
|
||||
provide_multilib: True
|
||||
project_id: ''
|
||||
repo_symlinks:
|
||||
NFV: 'nfv'
|
||||
renames:
|
||||
all: 'devel'
|
||||
all_repos:
|
||||
- 'all'
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
- 'CRB'
|
||||
- 'HighAvailability'
|
||||
- 'ResilientStorage'
|
||||
- 'RT'
|
||||
- 'NFV'
|
||||
- 'SAP'
|
||||
- 'SAPHANA'
|
||||
- 'extras'
|
||||
- 'plus'
|
||||
structure:
|
||||
packages: 'os/Packages'
|
||||
repodata: 'os/repodata'
|
||||
iso_map:
|
||||
xorrisofs: True
|
||||
iso_level: False
|
||||
images:
|
||||
dvd:
|
||||
disc: True
|
||||
variant: 'AppStream'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
minimal:
|
||||
disc: True
|
||||
isoskip: True
|
||||
repos:
|
||||
- 'minimal'
|
||||
variant: 'minimal'
|
||||
BaseOS:
|
||||
disc: False
|
||||
isoskip: True
|
||||
variant: 'BaseOS'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
lorax:
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_pkgs:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
- 'xorriso'
|
||||
repoclosure_map:
|
||||
arches:
|
||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
||||
aarch64: '--forcearch=aarch64 --arch=aarch64 --arch=noarch'
|
||||
ppc64le: '--forcearch=ppc64le --arch=ppc64le --arch=noarch'
|
||||
s390x: '--forcearch=s390x --arch=s390x --arch=noarch'
|
||||
repos:
|
||||
devel: []
|
||||
BaseOS: []
|
||||
AppStream:
|
||||
- BaseOS
|
||||
CRB:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
HighAvailability:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
ResilientStorage:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
RT:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
NFV:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
SAP:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- HighAvailability
|
||||
SAPHANA:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- HighAvailability
|
||||
extra_files:
|
||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/'
|
||||
branch: 'r9'
|
||||
gpg:
|
||||
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||
list:
|
||||
- 'SOURCES/Contributors'
|
||||
- 'SOURCES/COMMUNITY-CHARTER'
|
||||
- 'SOURCES/EULA'
|
||||
- 'SOURCES/LICENSE'
|
||||
- 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||
- 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||
...
|
@ -1,7 +1,13 @@
|
||||
---
|
||||
'9':
|
||||
fullname: 'Rocky Linux 9.0'
|
||||
revision: '9.0'
|
||||
rclvl: 'RC1'
|
||||
major: '9'
|
||||
minor: '0'
|
||||
profile: '9'
|
||||
bugurl: 'https://bugs.rockylinux.org'
|
||||
checksum: 'sha256'
|
||||
allowed_arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
@ -9,15 +15,10 @@
|
||||
- s390x
|
||||
provide_multilib: True
|
||||
project_id: '55b17281-bc54-4929-8aca-a8a11d628738'
|
||||
required_packages:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
repo_symlinks:
|
||||
devel: 'Devel'
|
||||
NFV: 'nfv'
|
||||
renames:
|
||||
all: 'nplb'
|
||||
all: 'devel'
|
||||
all_repos:
|
||||
- 'all'
|
||||
- 'BaseOS'
|
||||
@ -30,39 +31,47 @@
|
||||
- 'SAP'
|
||||
- 'SAPHANA'
|
||||
- 'extras'
|
||||
- 'devel'
|
||||
- 'plus'
|
||||
no_comps_or_groups:
|
||||
- 'all'
|
||||
- 'extras'
|
||||
- 'devel'
|
||||
- 'plus'
|
||||
comps_or_groups:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
- 'CRB'
|
||||
- 'HighAvailability'
|
||||
- 'ResilientStorage'
|
||||
- 'RT'
|
||||
- 'NFV'
|
||||
- 'SAP'
|
||||
- 'SAPHANA'
|
||||
has_modules:
|
||||
- 'AppStream'
|
||||
- 'CRB'
|
||||
structure:
|
||||
packages: 'os/Packages'
|
||||
repodata: 'os/repodata'
|
||||
iso_map:
|
||||
hosts:
|
||||
x86_64: ''
|
||||
aarch64: ''
|
||||
ppc64le: ''
|
||||
s390x: ''
|
||||
xorrisofs: True
|
||||
iso_level: False
|
||||
images:
|
||||
- dvd1
|
||||
- minimal
|
||||
- boot
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
dvd:
|
||||
disc: True
|
||||
variant: 'AppStream'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
minimal:
|
||||
disc: True
|
||||
isoskip: True
|
||||
repos:
|
||||
- 'minimal'
|
||||
variant: 'minimal'
|
||||
BaseOS:
|
||||
disc: False
|
||||
isoskip: True
|
||||
variant: 'BaseOS'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
lorax:
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_pkgs:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
- 'xorriso'
|
||||
repoclosure_map:
|
||||
arches:
|
||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
||||
@ -70,7 +79,7 @@
|
||||
ppc64le: '--forcearch=ppc64le --arch=ppc64le --arch=noarch'
|
||||
s390x: '--forcearch=s390x --arch=s390x --arch=noarch'
|
||||
repos:
|
||||
nplb: []
|
||||
devel: []
|
||||
BaseOS: []
|
||||
AppStream:
|
||||
- BaseOS
|
||||
@ -99,8 +108,13 @@
|
||||
- HighAvailability
|
||||
extra_files:
|
||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/'
|
||||
branch: 'r9'
|
||||
gpg:
|
||||
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||
list:
|
||||
- 'SOURCES/Contributors'
|
||||
- 'SOURCES/COMMUNITY-CHARTER'
|
||||
- 'SOURCES/EULA'
|
||||
- 'SOURCES/LICENSE'
|
123
iso/empanadas/empanadas/configs/el9lh.yaml
Normal file
123
iso/empanadas/empanadas/configs/el9lh.yaml
Normal file
@ -0,0 +1,123 @@
|
||||
---
|
||||
'9-lookahead':
|
||||
fullname: 'Rocky Linux 9.1'
|
||||
revision: '9.1'
|
||||
rclvl: 'LH1'
|
||||
major: '9'
|
||||
minor: '1'
|
||||
profile: '9-lookahead'
|
||||
bugurl: 'https://bugs.rockylinux.org'
|
||||
checksum: 'sha256'
|
||||
allowed_arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
- ppc64le
|
||||
- s390x
|
||||
provide_multilib: True
|
||||
project_id: ''
|
||||
repo_symlinks:
|
||||
NFV: 'nfv'
|
||||
renames:
|
||||
all: 'devel'
|
||||
all_repos:
|
||||
- 'all'
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
- 'CRB'
|
||||
- 'HighAvailability'
|
||||
- 'ResilientStorage'
|
||||
- 'RT'
|
||||
- 'NFV'
|
||||
- 'SAP'
|
||||
- 'SAPHANA'
|
||||
- 'extras'
|
||||
- 'plus'
|
||||
structure:
|
||||
packages: 'os/Packages'
|
||||
repodata: 'os/repodata'
|
||||
iso_map:
|
||||
xorrisofs: True
|
||||
iso_level: False
|
||||
images:
|
||||
dvd:
|
||||
disc: True
|
||||
variant: 'AppStream'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
minimal:
|
||||
disc: True
|
||||
isoskip: True
|
||||
repos:
|
||||
- 'minimal'
|
||||
variant: 'minimal'
|
||||
BaseOS:
|
||||
disc: False
|
||||
isoskip: True
|
||||
variant: 'BaseOS'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
lorax:
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_pkgs:
|
||||
- 'lorax'
|
||||
- 'genisoimage'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
- 'xorriso'
|
||||
repoclosure_map:
|
||||
arches:
|
||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
||||
aarch64: '--forcearch=aarch64 --arch=aarch64 --arch=noarch'
|
||||
ppc64le: '--forcearch=ppc64le --arch=ppc64le --arch=noarch'
|
||||
s390x: '--forcearch=s390x --arch=s390x --arch=noarch'
|
||||
repos:
|
||||
devel: []
|
||||
BaseOS: []
|
||||
AppStream:
|
||||
- BaseOS
|
||||
CRB:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
HighAvailability:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
ResilientStorage:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
RT:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
NFV:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
SAP:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- HighAvailability
|
||||
SAPHANA:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- HighAvailability
|
||||
extra_files:
|
||||
git_repo: 'https://git.rockylinux.org/staging/src/rocky-release.git'
|
||||
git_raw_path: 'https://git.rockylinux.org/staging/src/rocky-release/-/raw/r9/'
|
||||
branch: 'r9lh'
|
||||
gpg:
|
||||
stable: 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||
testing: 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||
list:
|
||||
- 'SOURCES/Contributors'
|
||||
- 'SOURCES/COMMUNITY-CHARTER'
|
||||
- 'SOURCES/EULA'
|
||||
- 'SOURCES/LICENSE'
|
||||
- 'SOURCES/RPM-GPG-KEY-Rocky-9'
|
||||
- 'SOURCES/RPM-GPG-KEY-Rocky-9-Testing'
|
||||
...
|
121
iso/empanadas/empanadas/configs/rln.yaml
Normal file
121
iso/empanadas/empanadas/configs/rln.yaml
Normal file
@ -0,0 +1,121 @@
|
||||
---
|
||||
'rln':
|
||||
fullname: 'Rocky Linux New'
|
||||
revision: '10'
|
||||
rclvl: 'RLN120'
|
||||
major: '10'
|
||||
minor: '0'
|
||||
profile: 'rln'
|
||||
bugurl: 'https://bugs.rockylinux.org'
|
||||
checksum: 'sha256'
|
||||
allowed_arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
- ppc64le
|
||||
- s390x
|
||||
provide_multilib: True
|
||||
project_id: ''
|
||||
repo_symlinks:
|
||||
NFV: 'nfv'
|
||||
renames:
|
||||
all: 'devel'
|
||||
all_repos:
|
||||
- 'all'
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
- 'CRB'
|
||||
- 'HighAvailability'
|
||||
- 'ResilientStorage'
|
||||
- 'RT'
|
||||
- 'NFV'
|
||||
- 'SAP'
|
||||
- 'SAPHANA'
|
||||
- 'extras'
|
||||
- 'plus'
|
||||
structure:
|
||||
packages: 'os/Packages'
|
||||
repodata: 'os/repodata'
|
||||
iso_map:
|
||||
xorrisofs: True
|
||||
iso_level: False
|
||||
images:
|
||||
dvd:
|
||||
discnum: '1'
|
||||
variant: 'AppStream'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
minimal:
|
||||
discnum: '1'
|
||||
isoskip: True
|
||||
repos:
|
||||
- 'minimal'
|
||||
variant: 'minimal'
|
||||
BaseOS:
|
||||
isoskip: True
|
||||
variant: 'BaseOS'
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
lorax:
|
||||
repos:
|
||||
- 'BaseOS'
|
||||
- 'AppStream'
|
||||
variant: 'BaseOS'
|
||||
lorax_removes:
|
||||
- 'libreport-rhel-anaconda-bugzilla'
|
||||
required_pkgs:
|
||||
- 'lorax'
|
||||
- 'isomd5sum'
|
||||
- 'lorax-templates-rhel'
|
||||
- 'lorax-templates-generic'
|
||||
- 'xorriso'
|
||||
repoclosure_map:
|
||||
arches:
|
||||
x86_64: '--forcearch=x86_64 --arch=x86_64 --arch=athlon --arch=i686 --arch=i586 --arch=i486 --arch=i386 --arch=noarch'
|
||||
aarch64: '--forcearch=aarch64 --arch=aarch64 --arch=noarch'
|
||||