diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5261a5aa3f..3a6e9d5f75 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -278,14 +278,9 @@ jobs: sudo apt update sudo apt install -y yamllint yq - - name: YAML Lint + - name: Check YAML run: | - find . "(" -iname "*.yaml" -or -iname "*.yml" ")" -exec yamllint --strict {} \+ - - - name: Check YAML definitions with yq - # yq will catch issues that yamllint will not, like duplicate anchros - run: | - find . "(" -iname "*.yaml" -or -iname "*.yml" ")" -exec yq . {} \+ > /dev/null + tools/yaml-lint.sh cross-arch-integration-test: strategy: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 188a2fd521..bf6c13be19 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -115,6 +115,36 @@ fail: - build-config.yml +"generate-build-config: [eln-11, aarch64]": + stage: gen + extends: .terraform + variables: + RUNNER: aws/fedora-42-aarch64 + INTERNAL_NETWORK: "true" + script: + - sudo ./test/scripts/setup-osbuild-repo + - sudo ./test/scripts/install-dependencies + - ./test/scripts/generate-build-config --distro eln-11 --arch aarch64 build-config.yml + artifacts: + paths: + - build-config.yml + + +"generate-build-config: [eln-11, x86_64]": + stage: gen + extends: .terraform + variables: + RUNNER: aws/fedora-42-x86_64 + INTERNAL_NETWORK: "true" + script: + - sudo ./test/scripts/setup-osbuild-repo + - sudo ./test/scripts/install-dependencies + - ./test/scripts/generate-build-config --distro eln-11 --arch x86_64 build-config.yml + artifacts: + paths: + - build-config.yml + + "generate-build-config: [fedora-42, aarch64]": stage: gen extends: .terraform @@ -743,6 +773,28 @@ fail: - "generate-build-config: [centos-9, x86_64]" +"image-build-trigger: [eln-11, aarch64]": + stage: build + trigger: + include: + - artifact: build-config.yml + job: "generate-build-config: [eln-11, aarch64]" + strategy: depend + needs: + - "generate-build-config: [eln-11, aarch64]" + + +"image-build-trigger: [eln-11, x86_64]": + stage: build + trigger: + include: + - artifact: build-config.yml + job: "generate-build-config: [eln-11, x86_64]" + strategy: depend + needs: + - "generate-build-config: [eln-11, x86_64]" + + "image-build-trigger: [fedora-42, aarch64]": stage: build trigger: @@ -2177,6 +2229,46 @@ fail: done +"generate-manifests: [eln-11, ppc64le]": + stage: gen + extends: .terraform + variables: + RUNNER: aws/fedora-42-x86_64 + INTERNAL_NETWORK: "true" + script: + - sudo ./test/scripts/setup-osbuild-repo + - sudo ./test/scripts/install-dependencies + - echo "GOPROXY=$GOPROXY" + - go run ./cmd/gen-manifests --arches ppc64le --distros eln-11 --workers 10 --metadata=false --output ./manifests + - for manifest in ./manifests/*; do + if osbuild --inspect $manifest > output; then + echo "$manifest OK"; + else + cat output; + fi; + done + + +"generate-manifests: [eln-11, s390x]": + stage: gen + extends: .terraform + variables: + RUNNER: aws/fedora-42-x86_64 + INTERNAL_NETWORK: "true" + script: + - sudo ./test/scripts/setup-osbuild-repo + - sudo ./test/scripts/install-dependencies + - echo "GOPROXY=$GOPROXY" + - go run ./cmd/gen-manifests --arches s390x --distros eln-11 --workers 10 --metadata=false --output ./manifests + - for manifest in ./manifests/*; do + if osbuild --inspect $manifest > output; then + echo "$manifest OK"; + else + cat output; + fi; + done + + "generate-manifests: [fedora-42, ppc64le]": stage: gen extends: .terraform diff --git a/data/distrodefs/eln-11/_shared.yaml b/data/distrodefs/eln-11/_shared.yaml new file mode 100644 index 0000000000..07ddbc47ac --- /dev/null +++ b/data/distrodefs/eln-11/_shared.yaml @@ -0,0 +1,556 @@ +--- +.shared: + distro_build_pkgset: &distro_build_pkgset + include: + - "dnf" + - "dosfstools" + - "e2fsprogs" + - "glibc" + - "lvm2" + - "policycoreutils" + - "python3-iniparse" + - "qemu-img" + - "selinux-policy-targeted" + - "systemd" + - "tar" + - "xfsprogs" + - "xz" + conditions: + "x86_64 specific packages for build pkgsset": + when: + arch: "x86_64" + append: + include: + - "grub2-pc" + "ppc64le specific packages for build pkgsset": + when: + arch: "ppc64le" + append: + include: + - "grub2-ppc64le" + - "grub2-ppc64le-modules" + + disk_sizes: + default_required_partition_sizes: &default_required_dir_sizes + "/": "1 GiB" + "/usr": "2 GiB" + + platforms: + x86_64_uefi_platform: &x86_64_uefi_platform + arch: "x86_64" + bootloader: "grub2" + uefi_vendor: "{{.DistroVendor}}" + qcow2_compat: "1.1" + packages: &x86_64_uefi_platform_packages + uefi: + - "dracut-config-generic" + - "efibootmgr" + - "grub2" + - "grub2-efi-x64" + - "shim-x64" + x86_64_bios_platform: &x86_64_bios_platform + <<: *x86_64_uefi_platform + bios_platform: "i386-pc" + uefi_vendor: "{{.DistroVendor}}" + packages: &x86_64_bios_platform_packages + <<: *x86_64_uefi_platform_packages + bios: + - "dracut-config-generic" + - "grub2-pc" + build_packages: + bios: + - "grub2-pc" + x86_64_installer_platform: &x86_64_installer_platform + <<: *x86_64_bios_platform + image_format: "raw" + packages: + <<: *x86_64_bios_platform_packages + booting: + - "biosdevname" + firmware: + - "amd-gpu-firmware" + - "amd-ucode-firmware" + - "atheros-firmware" + - "brcmfmac-firmware" + - "intel-gpu-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "libertas-firmware" + - "linux-firmware" + - "mt7xxx-firmware" + - "nvidia-gpu-firmware" + - "nxpwireless-firmware" + - "realtek-firmware" + - "tiwilink-firmware" + aarch64_platform: &aarch64_platform + arch: "aarch64" + bootloader: "grub2" + uefi_vendor: "{{.DistroVendor}}" + image_format: "qcow2" + qcow2_compat: "1.1" + packages: &aarch64_uefi_platform_packages + uefi: + - "dracut-config-generic" + - "efibootmgr" + - "grub2" + - "grub2-efi-aa64" + - "grub2-tools" + - "shim-aa64" + aarch64_installer_platform: &aarch64_installer_platform + <<: *aarch64_platform + packages: + <<: *aarch64_uefi_platform_packages + booting: + - "grub2-efi-aa64-cdboot" + firmware: + - "amd-gpu-firmware" + - "amd-ucode-firmware" + - "atheros-firmware" + - "brcmfmac-firmware" + - "intel-gpu-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "libertas-firmware" + - "linux-firmware" + - "mt7xxx-firmware" + - "nvidia-gpu-firmware" + - "nxpwireless-firmware" + - "realtek-firmware" + - "tiwilink-firmware" + ppc64le_bios_platform: &ppc64le_bios_platform + arch: "ppc64le" + bootloader: "grub2" + bios_platform: "powerpc-ieee1275" + image_format: "qcow2" + qcow2_compat: "1.1" + packages: &ppc64le_bios_platform_packages + bios: + - "dracut-config-generic" + - "powerpc-utils" + - "grub2" + - "grub2-ppc64le" + - "grub2-ppc64le-modules" + build_packages: + bios: + - "grub2-ppc64le" + - "grub2-ppc64le-modules" + ppc64le_installer_platform: &ppc64le_installer_platform + <<: *ppc64le_bios_platform + image_format: "qcow2" + packages: + <<: *ppc64le_bios_platform_packages + booting: + - "lsvpd" + - "ppc64-diag" + - "grub2-tools" + - "grub2-tools-minimal" + - "grub2-tools-extra" + firmware: + - "amd-gpu-firmware" + - "amd-ucode-firmware" + - "atheros-firmware" + - "brcmfmac-firmware" + - "intel-gpu-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "libertas-firmware" + - "linux-firmware" + - "mt7xxx-firmware" + - "nvidia-gpu-firmware" + - "nxpwireless-firmware" + - "realtek-firmware" + - "tiwilink-firmware" + s390x_zipl_platform: &s390x_zipl_platform + arch: "s390x" + # XXX: merge zipl_support/bootloader + bootloader: "zipl" + zipl_support: true + image_format: "qcow2" + qcow2_compat: "1.1" + packages: + zipl: + - "dracut-config-generic" + - "s390utils-base" + - "s390utils-core" + build_packages: + zipl: + - "s390utils-base" + s390x_installer_platform: &s390x_installer_platform + arch: "s390x" + image_format: "qcow2" + qcow2_compat: "1.1" + packages: + booting: + - "dracut-config-generic" + - "s390utils-base" + - "s390utils-core" + build_packages: + booting: + - "s390utils-base" + bootloader: "zipl" + + partitioning: + ids: + - &prep_partition_dosid "41" + guids: + - &bios_boot_partition_guid "21686148-6449-6E6F-744E-656564454649" + - &efi_system_partition_guid "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" + - &filesystem_data_guid "0FC63DAF-8483-4772-8E79-3D69D8477DE4" + - &lvm_partition_guid "E6D6D379-F507-44C2-A23C-238F2A3DF928" + - &root_partition_x86_64_guid "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" + + default_partition_tables: &default_partition_tables + x86_64: + type: "gpt" + partitions: + - size: "1 MiB" + bootable: true + type: *bios_boot_partition_guid + - &default_partition_table_part_efi + size: "200 MiB" + type: *efi_system_partition_guid + payload_type: "filesystem" + payload: + type: vfat + mountpoint: "/boot/efi" + label: "ESP" + fstab_options: "defaults,uid=0,gid=0,umask=077,shortname=winnt" + fstab_freq: 0 + fstab_passno: 2 + - &default_partition_table_part_root + size: "2 GiB" + type: *filesystem_data_guid + payload_type: "filesystem" + payload: &default_partition_table_part_root_payload + type: "xfs" + label: "root" + mountpoint: "/" + fstab_options: "defaults" + fstab_freq: 0 + fstab_passno: 0 + aarch64: + type: "gpt" + partitions: + - *default_partition_table_part_efi + - *default_partition_table_part_root + ppc64le: + type: "dos" + partitions: + - size: "4 MiB" + bootable: true + type: *prep_partition_dosid + - &default_partition_table_part_root_ppc64le + size: "2 GiB" + payload_type: "filesystem" + payload: + <<: *default_partition_table_part_root_payload + label: "" + s390x: + type: "dos" + partitions: + - <<: *default_partition_table_part_root_ppc64le + bootable: true + + azure_common_grub2_config: &azure_common_grub2_config + disable_recovery: true + disable_submenu: true + distributor: "$(sed 's, release .*$,,g' /etc/system-release)" + serial: "serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" + timeout: 10 + timeout_style: "countdown" + + azure_image_config_base: &azure_image_config_base + keyboard: + keymap: "us" + "x11-keymap": + layouts: ["us"] + update_default_kernel: true + default_kernel: "kernel-core" + sysconfig: + networking: true + no_zero_conf: true + enabled_services: + - "firewalld" + - "nm-cloud-setup.service" + - "nm-cloud-setup.timer" + - "sshd" + - "waagent" + sshd_config: + config: + ClientAliveInterval: 180 + modprobe: + - filename: "blacklist-amdgpu.conf" + commands: + - command: blacklist + modulename: "amdgpu" + - filename: "blacklist-intel-cstate.conf" + commands: + - command: blacklist + modulename: "intel_cstate" + - filename: "blacklist-floppy.conf" + commands: + - command: blacklist + modulename: "floppy" + - filename: "blacklist-nouveau.conf" + commands: + - command: blacklist + modulename: "nouveau" + - command: blacklist + modulename: "lbm-nouveau" + - filename: "blacklist-skylake-edac.conf" + commands: + - command: blacklist + modulename: "skx_edac" + - filename: "blacklist-intel_uncore.conf" + commands: + - command: blacklist + modulename: "intel_uncore" + - filename: "blacklist-acpi_cpufreq.conf" + commands: + - command: blacklist + modulename: "acpi_cpufreq" + pwquality: + config: + minlen: 6 + minclass: 3 + dcredit: 0 + ucredit: 0 + lcredit: 0 + ocredit: 0 + waagent_config: + config: + "ResourceDisk.Format": false + "ResourceDisk.EnableSwap": false + grub2_config: + disable_recovery: true + disable_submenu: true + distributor: "$(sed 's, release .*$,,g' /etc/system-release)" + terminal: ["serial", "console"] + serial: "serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" + timeout: 10 + timeout_style: "countdown" + systemd_dropin: + - unit: "nm-cloud-setup.service" + dropin: "10-rh-enable-for-azure.conf" + config: + service: + environment: + - key: "NM_CLOUD_SETUP_AZURE" + value: "yes" + default_target: "multi-user.target" + network_manager: + path: "/etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf" + settings: + keyfile: + "unmanaged-devices": + - "driver:mlx4_core" + - "driver:mlx5_core" + conditions: + "rhel needs the rhel release rpm gpg key": + when: + distro_name: "rhel" + shallow_merge: + gpgkey_files: + - "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" + "x86_64 specific kernel commandline for rhel-10.2+": + when: + arch: "x86_64" + version_greater_or_equal: "10.2" + shallow_merge: + kernel_options: + # common + - "ro" + # x86 + - "console=tty1" + - "console=ttyS0" + - "earlyprintk=ttyS0" + - "rootdelay=300" + "x86_64 specific kernel commandline for rhel-10.1": + when: + arch: "x86_64" + version_equal: "10.1" + shallow_merge: + kernel_options: + # common + - "ro" + - "nvme_core.io_timeout=240" + # x86 + - "console=tty1" + - "console=ttyS0" + - "earlyprintk=ttyS0" + - "rootdelay=300" + "x86_64 specific kernel commandline for rhel-10.0": + when: + arch: "x86_64" + version_equal: "10.0" + shallow_merge: + kernel_options: + # common + - "ro" + - "loglevel=3" + - "nvme_core.io_timeout=240" + # x86 + - "console=tty1" + - "console=ttyS0" + - "earlyprintk=ttyS0" + - "rootdelay=300" + "aarch64 specific kernel commandline for rhel-10.2+": + when: + arch: "aarch64" + version_greater_or_equal: "10.2" + shallow_merge: + kernel_options: + # common + - "ro" + # aarch64 + - "console=ttyAMA0" + "aarch64 specific kernel commandline for rhel-10.1": + when: + arch: "aarch64" + version_equal: "10.1" + shallow_merge: + kernel_options: + # common + - "ro" + - "nvme_core.io_timeout=240" + # aarch64 + - "console=ttyAMA0" + "aarch64 specific kernel commandline for rhel-10.0": + when: + arch: "aarch64" + version_equal: "10.0" + shallow_merge: + kernel_options: + # common + - "ro" + - "loglevel=3" + - "nvme_core.io_timeout=240" + # aarch64 + - "console=ttyAMA0" + "x86_64 grub2 config terminal=serial": + when: + arch: "x86_64" + shallow_merge: + grub2_config: + <<: *azure_common_grub2_config + terminal: ["serial"] + terminal_input: ["serial"] + terminal_output: ["serial"] + "aarch64 grub2 config terminal=console": + when: + arch: "aarch64" + shallow_merge: + grub2_config: + <<: *azure_common_grub2_config + terminal: ["console"] + azure_base_pkgset: &azure_base_pkgset + include: + - "@Server" + - "bzip2" + - "cloud-init" + - "cloud-utils-growpart" + - "efibootmgr" + - "hyperv-daemons" + - "langpacks-en" + - "lvm2" + - "NetworkManager" + - "NetworkManager-cloud-setup" + - "nvme-cli" + - "patch" + - "rsync" + - "selinux-policy-targeted" + - "system-reinstall-bootc" + - "uuid" + - "WALinuxAgent" + - "dnf5-plugins" + exclude: + - "aic94xx-firmware" + - "alsa-firmware" + - "alsa-lib" + - "alsa-sof-firmware" + - "alsa-tools-firmware" + - "biosdevname" + - "bolt" + - "buildah" + - "cockpit-podman" + - "containernetworking-plugins" + - "dnf-plugin-spacewalk" + - "dracut-config-rescue" + - "glibc-all-langpacks" + - "iprutils" + - "ivtv-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "libertas-sd8686-firmware" + - "libertas-sd8787-firmware" + - "libertas-usb8388-firmware" + - "microcode_ctl" + - "NetworkManager-config-server" + - "plymouth" + - "podman" + - "python3-dnf-plugin-spacewalk" + - "python3-hwdata" + - "python3-rhnlib" + - "rhn-check" + - "rhn-client-tools" + - "rhn-setup" + - "rhnlib" + - "rhnsd" + - "usb_modeswitch" + conditions: + "add insights client on rhel": + when: + distro_name: "rhel" + append: + include: + - "insights-client" + "x86_64 alone supports rngd": + when: + arch: "x86_64" + append: + include: + - "rng-tools" + "rhel-10.2+ gets azure-vm-utils and excludes initscripts-rename-device": + when: + version_greater_or_equal: "10.2" + append: + include: + - "azure-vm-utils" + exclude: + - "initscripts-rename-device" + supported_options_lists: + # Common options supported by all disk image types. + # This includes everything that is not specific to installers. + supported_options_disk: &supported_options_disk + - "distro" + - "packages" + - "modules" + - "groups" + - "enabled_modules" + - "containers" + - "customizations.cacerts" + - "customizations.directories" + - "customizations.disk" + - "customizations.dnf" + - "customizations.files" + - "customizations.filesystem" + - "customizations.partitioning_mode" + - "customizations.fips" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.hostname" + - "customizations.kernel" + - "customizations.locale" + - "customizations.openscap" + - "customizations.repositories" + - "customizations.rpm" + - "customizations.services" + - "customizations.timezone" + - "customizations.rhsm" + - "customizations.sshd" diff --git a/data/distrodefs/eln-11/archive.yaml b/data/distrodefs/eln-11/archive.yaml new file mode 100644 index 0000000000..5361464a64 --- /dev/null +++ b/data/distrodefs/eln-11/archive.yaml @@ -0,0 +1,44 @@ +image_types: + tar: + filename: "root.tar.xz" + mime_type: "application/x-tar" + image_func: "tar" + exports: ["archive"] + package_sets: + os: + - include: + - "policycoreutils" + - "selinux-policy-targeted" + exclude: + - "rng-tools" + platforms: + - arch: "x86_64" + - arch: "aarch64" + - arch: "ppc64le" + - arch: "s390x" + blueprint: + supported_options: + # We've never tested many options or customizations with this image type + # and we also never restricted any, but it uses the OS pipeline, so it + # should support most standard/basic customizations + - "distro" + - "packages" + - "modules" + - "groups" + - "containers" + - "enabled_modules" + - "customizations.cacerts" + - "customizations.directories" + - "customizations.dnf" + - "customizations.files" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.hostname" + - "customizations.kernel.name" + - "customizations.locale" + - "customizations.repositories" + - "customizations.rpm" + - "customizations.services" + - "customizations.timezone" diff --git a/data/distrodefs/eln-11/container.yaml b/data/distrodefs/eln-11/container.yaml new file mode 100644 index 0000000000..dcbd29e375 --- /dev/null +++ b/data/distrodefs/eln-11/container.yaml @@ -0,0 +1,100 @@ +.common: + # supported options for container types + supported_options_container: &supported_options_container + - "distro" + - "packages" + - "modules" + - "groups" + - "enabled_modules" + - "containers" + - "customizations.directories" + - "customizations.files" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.hostname" + - "customizations.locale" + - "customizations.repositories" + - "customizations.services" + - "customizations.timezone" + +image_types: + container: &container + filename: "container.tar" + mime_type: "application/x-tar" + image_func: "container" + bootable: false + exports: ["container"] + required_partition_sizes: *default_required_dir_sizes + platforms: + - arch: "x86_64" + - arch: "aarch64" + - arch: "ppc64le" + - arch: "s390x" + image_config: + no_selinux: true + exclude_docs: true + locale: "C.UTF-8" + timezone: "Etc/UTC" + package_sets: + os: + - include: + - "bash" + - "coreutils-single" + - "crypto-policies-scripts" + - "curl-minimal" + - "findutils" + - "gdb-gdbserver" + - "glibc-minimal-langpack" + - "gzip" + - "dnf5-plugins" + - "redhat-release" + - "tar" + - "tzdata" + - "util-linux" + - "vim-minimal" + - "virt-what" + - "which" + - "yum" + exclude: + - "chrony" + - "coreutils" + - "coreutils-common" + - "libbrotli" + - "libcurl" + - "libpsl" + - "libssh" + - "libssh-config" + - "libxkbcommon" + - "publicsuffix-list-dafsa" + - "rpm-plugin-audit" + - "xkeyboard-config" + blueprint: + supported_options: *supported_options_container + + container-minimal: + <<: *container + filename: "container-minimal.tar" + package_sets: + os: + - include: + - "bash" + - "coreutils-single" + - "redhat-release" + - "rpm" + - "microdnf" + exclude: + - "coreutils" + - "coreutils-common" + - "libbrotli" + - "libcurl" + - "libpsl" + - "libsemanage" + - "libssh" + - "libssh-config" + - "libxcrypt" + - "publicsuffix-list-dafsa" + - "rpm-plugin-audit" + - "shadow-utils" + - "tzdata" diff --git a/data/distrodefs/eln-11/disk.yaml b/data/distrodefs/eln-11/disk.yaml new file mode 100644 index 0000000000..121c4d7ec2 --- /dev/null +++ b/data/distrodefs/eln-11/disk.yaml @@ -0,0 +1,657 @@ +image_types: + qcow2: &qcow2 + name_aliases: ["guest-image"] + filename: "disk.qcow2" + mime_type: "application/x-qemu-disk" + # note that unlike fedora rhel does not use the environment.KVM + # for unknown reasons + bootable: true + default_size: "10 GiB" + image_func: "disk" + exports: ["qcow2"] + required_partition_sizes: *default_required_dir_sizes + platforms: + - <<: *x86_64_bios_platform + image_format: "qcow2" + - <<: *aarch64_platform + image_format: "qcow2" + - <<: *ppc64le_bios_platform + image_format: "qcow2" + - <<: *s390x_zipl_platform + image_format: "qcow2" + image_config: &qcow2_image_config + default_target: "multi-user.target" + kernel_options: ["console=tty0", "console=ttyS0,115200n8"] + conditions: + "tweak the rhsm config on rhel": + when: + distro_name: "rhel" + shallow_merge: + rhsm_config: + "no-subscription": + dnf_plugin: + product_id: + enabled: false + subscription_manager: + enabled: false + partition_table: + <<: *default_partition_tables + package_sets: + os: + - include: + - "@core" + - "chrony" + - "cloud-init" + - "cloud-utils-growpart" + - "cockpit-system" + - "cockpit-ws" + - "dnf5-plugins" + - "dosfstools" + - "nfs-utils" + - "oddjob" + - "oddjob-mkhomedir" + - "psmisc" + - "python3-jsonschema" + - "qemu-guest-agent" + - "redhat-release" + # - "redhat-release-eula" + - "rsync" + - "system-reinstall-bootc" + - "tar" + - "tuned" + - "tcpdump" + exclude: + - "aic94xx-firmware" + - "alsa-firmware" + - "alsa-lib" + - "alsa-tools-firmware" + - "biosdevname" + - "dnf-plugin-spacewalk" + - "dracut-config-rescue" + - "fedora-release" + - "fedora-repos" + - "firewalld" + - "iprutils" + - "ivtv-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "langpacks-*" + - "langpacks-en" + - "libertas-sd8787-firmware" + - "plymouth" + - "rng-tools" + - "udisks2" + conditions: + "add insights pkgs on rhel": + when: + distro_name: "rhel" + append: + include: + - "insights-client" + - "subscription-manager-cockpit" + blueprint: + supported_options: *supported_options_disk + + "vagrant-libvirt": &vagrant_libvirt + <<: *qcow2 + # we have to reset the aliases otherwise this type + # will inherit the name aliases causing a conflict + name_aliases: [] + filename: "vagrant-libvirt.box" + mime_type: "application/x-tar" + bootable: true + default_size: "10 GiB" + image_func: "disk" + exports: ["archive"] + required_partition_sizes: *default_required_dir_sizes + platforms: + - <<: *x86_64_bios_platform + image_format: "vagrant_libvirt" + - <<: *aarch64_platform + image_format: "vagrant_libvirt" + image_config: + <<: *qcow2_image_config + users: + - name: "vagrant" + # yamllint disable rule:line-length + key: | + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN1YdxBpNlzxDqfJyw/QKow1F+wvG9hXGoqiysfJOn5Y vagrant insecure public key + # yamllint enable rule:line-length + files: + - path: "/etc/sudoers.d/vagrant" + user: "root" + group: "root" + mode: 440 + data: | + vagrant ALL=(ALL) NOPASSWD: ALL + + "vagrant-virtualbox": + <<: *vagrant_libvirt + filename: "vagrant-virtualbox.box" + platforms: + - <<: *x86_64_bios_platform + image_format: "vagrant_virtualbox" + blueprint: + supported_options: *supported_options_disk + + oci: + <<: *qcow2 + # we have to reset the aliases otherwise this type + # will inherit the name aliases causing a conflict + name_aliases: [] + platforms: + - <<: *x86_64_bios_platform + image_format: "qcow2" + image_config: + <<: *qcow2_image_config + kernel_options: + - "console=tty0" + - "console=ttyS0,115200n8" + - "netroot=iscsi" + - "rd.iscsi.firmware=1" + cloud_init: + - filename: "00-rhel-default-user.cfg" + config: + system_info: + default_user: + name: "opc" + blueprint: + supported_options: *supported_options_disk + + vhd: &vhd + <<: *qcow2 + # we have to reset the aliases otherwise this type + # will inherit the name aliases causing a conflict + name_aliases: [] + filename: "disk.vhd" + mime_type: "application/x-vhd" + default_size: "4 GiB" + exports: ["vpc"] + # note that unlike fedora no "environment.Azure" is used here for + # unknown reasons + platforms: + - <<: *x86_64_bios_platform + image_format: "vhd" + - <<: *aarch64_platform + image_format: "vhd" + # based on https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/deploying_rhel_9_on_microsoft_azure/assembly_deploying-a-rhel-image-as-a-virtual-machine-on-microsoft-azure_cloud-content-azure#making-configuration-changes_configure-the-image-azure + image_config: &image_config_vhd + <<: *azure_image_config_base + time_synchronization: + refclocks: + - driver: + name: "PHC" + path: "/dev/ptp_hyperv" + poll: 3 + dpoll: -2 + offset: 0.0 + cloud_init: + - filename: "10-azure-kvp.cfg" + config: + reporting: + logging: + type: "log" + telemetry: + type: "hyperv" + - filename: "91-azure_datasource.cfg" + config: + datasource: + azure: + apply_network_config: false + datasource_list: + - "Azure" + partition_table: + <<: *default_partition_tables + package_sets: + os: + - *azure_base_pkgset + blueprint: + supported_options: *supported_options_disk + + "azure": &azure + <<: *vhd + exports: ["xz"] + compression: "xz" + filename: "disk.vhd.xz" + partition_table: + x86_64: + type: "gpt" + size: "64 GiB" + partitions: + - &azure_rhui_part_boot_efi + size: "500 MiB" + type: *efi_system_partition_guid + payload_type: "filesystem" + payload: + type: "vfat" + mountpoint: "/boot/efi" + fstab_options: "defaults,uid=0,gid=0,umask=077,shortname=winnt" + fstab_freq: 0 + fstab_passno: 2 + # NB: we currently don't support /boot on LVM + - &azure_rhui_part_boot + size: "1 GiB" + type: *filesystem_data_guid + payload_type: "filesystem" + payload: + type: "xfs" + mountpoint: "/boot" + fstab_options: "defaults" + fstab_freq: 0 + fstab_passno: 0 + - size: "2 MiB" + bootable: true + type: *bios_boot_partition_guid + - &azure_rhui_part_lvm + type: *lvm_partition_guid + payload_type: "lvm" + payload: + name: "rootvg" + description: "built with lvm2 and osbuild" + logical_volumes: + - size: "1 GiB" + name: "homelv" + payload_type: "filesystem" + payload: + type: "xfs" + label: "home" + mountpoint: "/home" + fstab_options: "defaults" + - size: "2 GiB" + name: "rootlv" + payload_type: "filesystem" + payload: + type: "xfs" + label: "root" + mountpoint: "/" + fstab_options: "defaults" + - size: "2 GiB" + name: "tmplv" + payload_type: "filesystem" + payload: + type: "xfs" + label: "tmp" + mountpoint: "/tmp" + fstab_options: "defaults" + - size: "10 GiB" + name: "usrlv" + payload_type: "filesystem" + payload: + type: "xfs" + label: "usr" + mountpoint: "/usr" + fstab_options: "defaults" + - size: "10 GiB" + name: "varlv" + payload_type: "filesystem" + payload: + type: "xfs" + label: "var" + mountpoint: "/var" + fstab_options: "defaults" + aarch64: + type: "gpt" + size: "64 GiB" + partitions: + - *azure_rhui_part_boot_efi + # NB: we currently don't support /boot on LVM + - *azure_rhui_part_boot + - *azure_rhui_part_lvm + blueprint: + supported_options: *supported_options_disk + + vmdk: &vmdk + name_aliases: ["vshpere"] + filename: "disk.vmdk" + mime_type: "application/x-vmdk" + bootable: true + default_size: "4 GiB" + image_func: "disk" + exports: ["vmdk"] + required_partition_sizes: *default_required_dir_sizes + platforms: + - <<: *x86_64_bios_platform + image_format: "vmdk" + image_config: + kernel_options: + - "ro" + partition_table: + <<: *default_partition_tables + package_sets: + os: + - include: + - "@core" + - "chrony" + - "cloud-init" + - "firewalld" + - "langpacks-en" + - "open-vm-tools" + - "tuned" + exclude: + - "dracut-config-rescue" + - "rng-tools" + blueprint: + supported_options: *supported_options_disk + + ova: + <<: *vmdk + name_aliases: ["vsphere-ova"] + filename: "image.ova" + mime_type: "application/ovf" + exports: ["archive"] + platforms: + - <<: *x86_64_bios_platform + image_format: "ova" + blueprint: + supported_options: *supported_options_disk + + ami: &ami + name_aliases: ['aws'] + filename: "image.raw" + mime_type: "application/octet-stream" + image_func: "disk" + exports: ["image"] + bootable: true + default_size: "10 GiB" + required_partition_sizes: *default_required_dir_sizes + platforms: + - <<: *x86_64_bios_platform + image_format: "raw" + - <<: *aarch64_platform + image_format: "raw" + image_config: &ami_image_config + time_synchronization: + servers: + - hostname: "169.254.169.123" + prefer: true + iburst: true + minpoll: 4 + maxpoll: 4 + # empty string will remove any occurrences of the option + # from the configuration + leapsectz: "" + keyboard: + keymap: "us" + "x11-keymap": + layouts: ["us"] + enabled_services: + - "sshd" + - "NetworkManager" + - "nm-cloud-setup.service" + - "nm-cloud-setup.timer" + - "cloud-init-network" + - "cloud-config" + - "cloud-final" + - "cloud-init-local" + - "reboot.target" + - "tuned" + default_target: "multi-user.target" + update_default_kernel: true + default_kernel: "kernel" + sysconfig: + networking: true + no_zero_conf: true + systemd_logind: + - filename: "00-getty-fixes.conf" + config: + login: + nautovts: 0 + cloud_init: + - filename: "00-rhel-default-user.cfg" + config: + system_info: + default_user: + name: "ec2-user" + modprobe: + - filename: "blacklist-nouveau.conf" + commands: + - command: blacklist + modulename: "nouveau" + - filename: "blacklist-amdgpu.conf" + commands: + - command: blacklist + modulename: "amdgpu" + # https://issues.redhat.com/browse/RHEL-71926 + - filename: "blacklist-i2c_piix4.conf" + commands: + - command: blacklist + modulename: "i2c_piix4" + systemd_dropin: + # RHBZ#1822863 + - unit: "nm-cloud-setup.service" + dropin: "10-rh-enable-for-ec2.conf" + config: + service: + environment: + - key: "NM_CLOUD_SETUP_EC2" + value: "yes" + sshd_config: + config: + PasswordAuthentication: false + kernel_options: + - "console=tty0" + - "console=ttyS0,115200n8" + - "nvme_core.io_timeout=4294967295" + conditions: &ami_image_config_cond + "we need dracut conf with nvme/xen on x86": + when: + arch: "x86_64" + shallow_merge: + dracut_conf: + - filename: "ec2.conf" + config: + add_drivers: + - "nvme" + - "xen-blkfront" + partition_table: + <<: *default_partition_tables + package_sets: + os: + - &ami_pkgset + include: + - "@core" + - "chrony" + - "cloud-init" + - "cloud-utils-growpart" + - "dhcpcd" + - "dnf5-plugins" + - "dracut-config-generic" + - "kdump-utils" + - "langpacks-en" + - "NetworkManager-cloud-setup" + - "redhat-release" + # - "redhat-release-eula" + - "rsync" + - "system-reinstall-bootc" + - "tuned" + - "tar" + exclude: + - "aic94xx-firmware" + - "alsa-firmware" + - "alsa-tools-firmware" + - "biosdevname" + - "firewalld" + - "iprutils" + - "ivtv-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "libertas-sd8686-firmware" + - "libertas-sd8787-firmware" + - "libertas-usb8388-firmware" + - "plymouth" + # RHBZ#2064087 + - "dracut-config-rescue" + # RHBZ#2075815 + - "qemu-guest-agent" + conditions: + "add insights client on rhel": + when: + distro_name: "rhel" + append: + include: + - "insights-client" + blueprint: + supported_options: *supported_options_disk + + # RHEL internal-only x86_64 EC2 image type + ec2: &ec2 + <<: *ami + # we have to reset the aliases otherwise this type + # will inherit the name aliases causing a conflict + name_aliases: [] + exports: ["xz"] + filename: "image.raw.xz" + compression: "xz" + blueprint: + supported_options: *supported_options_disk + + gce: + # this image type is set to `gcp` in image-builder-crc + # & `osbuild-composer`, so set the alias here + name_aliases: ["gcp"] + filename: "image.tar.gz" + mime_type: "application/gzip" + image_func: "disk" + exports: ["archive"] + bootable: true + default_size: "20 GiB" + required_partition_sizes: *default_required_dir_sizes + platforms: + - <<: *x86_64_uefi_platform + image_format: "gce" + image_config: + kernel_options: ["biosdevname=0", "scsi_mod.use_blk_mq=Y", "console=ttyS0,38400n8d"] + time_synchronization: + servers: + - hostname: "metadata.google.internal" + firewall: + default_zone: "trusted" + enabled_services: + - "sshd" + - "rngd" + - "dnf-automatic.timer" + disabled_services: + - "sshd-keygen@" + - "reboot.target" + default_target: "multi-user.target" + keyboard: + keymap: "us" + dnf_config: + options: + config: + main: + ipresolve: "4" + dnf_automatic_config: + config: + commands: + apply_updates: true + upgrade_type: "security" + yum_repos: + - filename: "google-cloud.repo" + repos: + - id: "google-compute-engine" + name: "Google Compute Engine" + baseurl: + - "https://packages.cloud.google.com/yum/repos/google-compute-engine-el10-x86-64-stable" + enabled: true + gpgcheck: true + repo_gpgcheck: false + gpgkey: + - "https://packages.cloud.google.com/yum/doc/rpm-package-key-v10.gpg" + sshd_config: + config: + PasswordAuthentication: false + ClientAliveInterval: 420 + PermitRootLogin: false + update_default_kernel: true + default_kernel: "kernel-core" + # XXX: ensure the "old" behavior is preserved (that is + # likely a bug) where for GCE the sysconfig network + # options are not set because the merge of imageConfig + # is shallow and the previous setup was changing the + # kernel without also changing the network options. + sysconfig: {} + modprobe: + - filename: "blacklist-floppy.conf" + commands: + - command: blacklist + modulename: "floppy" + gcp_guest_agent_config: + config_scope: "distro" + config: + "InstanceSetup": + set_boto_config: false + partition_table: + # TODO: the base partition table still contains the BIOS boot + # partition, but the image is UEFI-only + <<: *default_partition_tables + package_sets: + os: + - include: + - "@core" + - "langpacks-en" # not in Google's KS + - "acpid" + - "dnf-automatic" + - "net-tools" + - "python3" + - "rng-tools" + - "tar" + - "vim" + # GCE guest tools + # - "google-compute-engine" + # - "google-osconfig-agent" + # - "gce-disk-expand" + # Not explicitly included in GCP kickstart, but present on the image + # for time synchronization + - "chrony" + # - "timedatex" + # EFI + - "grub2-tools" + - "grub2-tools-minimal" + # Performance tuning + - "tuned" + exclude: + - "alsa-utils" + - "b43-fwcutter" + - "dmraid" + - "dracut-config-rescue" + - "eject" + - "gpm" + - "irqbalance" + - "microcode_ctl" + - "smartmontools" + - "aic94xx-firmware" + - "atmel-firmware" + - "b43-openfwwf" + - "bfa-firmware" + - "ipw2100-firmware" + - "ipw2200-firmware" + - "ivtv-firmware" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "kernel-firmware" + - "libertas-usb8388-firmware" + - "ql2100-firmware" + - "ql2200-firmware" + - "ql23xx-firmware" + - "ql2400-firmware" + - "ql2500-firmware" + - "rt61pci-firmware" + - "rt73usb-firmware" + - "xorg-x11-drv-ati-firmware" + - "zd1211-firmware" + # RHBZ#2075815 + - "qemu-guest-agent" + conditions: + "add insights client on rhel": + when: + distro_name: "rhel" + append: + include: + - "insights-client" + blueprint: + supported_options: *supported_options_disk diff --git a/data/distrodefs/eln-11/installer.yaml b/data/distrodefs/eln-11/installer.yaml new file mode 100644 index 0000000000..e2fe43b069 --- /dev/null +++ b/data/distrodefs/eln-11/installer.yaml @@ -0,0 +1,550 @@ +.common: + default_iso_config: &default_iso_config + rootfs_type: "squashfs" + conditions: + "x86_64 uses grub2": + when: + arch: "x86_64" + shallow_merge: + boot_type: "grub2" + "ppc64le uses grub2-ppc64le": + when: + arch: "ppc64le" + shallow_merge: + boot_type: "grub2-ppc64le" + "s390x uses s390-iso": + when: + arch: "s390x" + shallow_merge: + boot_type: "s390-iso" + + default_installer_config: &default_installer_config + enabled_anaconda_modules: + - "org.fedoraproject.Anaconda.Modules.Network" + - "org.fedoraproject.Anaconda.Modules.Payloads" + - "org.fedoraproject.Anaconda.Modules.Runtime" + - "org.fedoraproject.Anaconda.Modules.Storage" + additional_dracut_modules: + - "nvdimm" # non-volatile DIMM firmware (provides nfit, cuse, and nd_e820) + - "net-lib" + additional_drivers: + - "ipmi_devintf" + - "ipmi_msghandler" + default_menu: 1 + lorax_template_package: lorax-templates-rhel + lorax_templates: + - path: 80-rhel/runtime-postinstall.tmpl + - path: 80-rhel/runtime-cleanup.tmpl + after_dracut: true + lorax_logos_package: redhat-logos + lorax_release_package: redhat-release + install_weak_deps: true + + anaconda_boot_pkgset: &anaconda_boot_pkgset + conditions: + "x86 specific packages for the anaconda boot pkgset": + when: + arch: "x86_64" + append: + include: + # eficommon + - "efibootmgr" + # XXX: de-dup? + # grub-common + - "grub2-tools" + - "grub2-tools-extra" + - "grub2-tools-minimal" + # arch specific + - "grub2-efi-x64" + - "grub2-efi-x64-cdboot" + - "grub2-pc" + - "grub2-pc-modules" + - "shim-x64" + - "syslinux" + - "syslinux-nonlinux" + "aarch64 specific packages for the anaconda boot pkgset": + when: + arch: "aarch64" + append: + include: + # eficommon + - "efibootmgr" + # XXX: de-dup? + # grub-common + - "grub2-tools" + - "grub2-tools-extra" + - "grub2-tools-minimal" + # arch specific + - "grub2-efi-aa64-cdboot" + - "grub2-efi-aa64" + - "shim-aa64" + + installer_pkgset: &installer_pkgset + include: + - "anaconda-dracut" + - "curl" + - "dracut-config-generic" + - "dracut-network" + - "hostname" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "kernel" + - "less" + - "nfs-utils" + - "openssh-clients" + - "ostree" + - "plymouth" + - "prefixdevname" + - "rng-tools" + - "rpcbind" + - "selinux-policy-targeted" + - "systemd" + - "tar" + - "xfsprogs" + - "xz" + # Extra packages that are required by the dracut stage of all installers. + # These are weak deps of other packages in the list above, but lets be + # explicit about what we need and not rely on the weak deps. Relying + # on hard-dependencies for other modules is OK for now. + # + # TODO: add these dynamically based on the modules enabled by each + # pipeline. + - "mdadm" + - "nss-softokn" + +image_types: + "network-installer": + filename: "netinst.iso" + mime_type: "application/x-iso9660-image" + bootable: true + boot_iso: true + image_func: "network-installer" + # We don't know the variant of the OS pipeline being installed + iso_label: "Unknown" + exports: ["bootiso"] + required_partition_sizes: *default_required_dir_sizes + installer_config: *default_installer_config + iso_config: *default_iso_config + image_config: + locale: "en_US.UTF-8" + platforms: + - *x86_64_installer_platform + - *aarch64_installer_platform + - *ppc64le_installer_platform + - *s390x_installer_platform + platforms_override: + conditions: + "RHEL 10.1+ adds FIPS menu": + when: + version_greater_or_equal: "10.1" + override: + - <<: *x86_64_installer_platform + fips_menu: true + - <<: *aarch64_installer_platform + fips_menu: true + - <<: *ppc64le_installer_platform + fips_menu: true + # s390x iso has no boot menu + - <<: *s390x_installer_platform + package_sets: + installer: + - include: + - "anaconda" + - "anaconda-widgets" + - "kdump-anaconda-addon" + - "anaconda-install-img-deps" + # - "redhat-release-eula" + - "device-mapper-multipath" + - "dnf" + - "rpm-ostree" + - "ostree" + - "pigz" + - "kernel" + - "kernel-modules" + - "kernel-modules-extra" + - "grubby" + - "glibc-all-langpacks" + - "plymouth" + - "anaconda-dracut" + - "dracut-network" + - "dracut-config-generic" + - "initscripts" + - "cryptsetup" + - "rpcbind" + - "kbd" + - "kbd-misc" + - "tar" + - "xz" + - "curl" + - "bzip2" + - "rsvg-pixbuf-loader" + - "rsyslog" + - "xfsprogs" + - "dosfstools" + - "device-mapper-persistent-data" + - "xfsdump" + - "udisks2" + - "udisks2-iscsi" + - "hostname" + - "libblockdev-lvm-dbus" + - "volume_key" + - "nss-tools" + - "selinux-policy-targeted" + - "audit" + - "ethtool" + - "openssh-server" + - "nfs-utils" + - "openssh-clients" + - "net-tools" + - "ipcalc" + - "nmap-ncat" + - "prefixdevname" + - "pciutils" + - "usbutils" + - "ipmitool" + - "mt-st" + - "smartmontools" + - "hdparm" + - "rdma-core" + - "rng-tools" + - "nvme-cli" + - "default-fonts-core-sans" + - "default-fonts-other-sans" + - "google-noto-sans-cjk-fonts" + - "gdb-gdbserver" + - "python3-pyatspi" + - "nano" + - "vim-minimal" + - "strace" + - "lsof" + - "xz" + - "less" + - "wget" + - "rsync" + - "bind-utils" + # - "ftp" + - "mtr" + - "spice-vdagent" + - "hexedit" + - "sg3_utils" + - "perl-interpreter" + - "restore" + blueprint: + supported_options: + - "distro" + - "customizations.fips" + - "customizations.locale" + + "image-installer": + filename: "installer.iso" + mime_type: "application/x-iso9660-image" + bootable: true + boot_iso: true + image_func: "image_installer" + # We don't know the variant of the OS pipeline being installed + iso_label: "Unknown" + exports: ["bootiso"] + required_partition_sizes: *default_required_dir_sizes + installer_config: *default_installer_config + iso_config: *default_iso_config + platforms: + - *x86_64_installer_platform + - *aarch64_platform + platforms_override: + conditions: + "RHEL 10.1+ adds FIPS menu": + when: + version_greater_or_equal: "10.1" + override: + - <<: *x86_64_installer_platform + fips_menu: true + - <<: *aarch64_platform + fips_menu: true + package_sets: + os: + - *distro_build_pkgset + - include: + - "@core" + - "chrony" + - "cockpit-system" + - "cockpit-ws" + - "dnf5-plugins" + - "dosfstools" + - "firewalld" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "lvm2" + - "net-tools" + - "nfs-utils" + - "oddjob" + - "oddjob-mkhomedir" + - "policycoreutils" + - "psmisc" + - "python3-jsonschema" + - "qemu-guest-agent" + - "redhat-release" + # - "redhat-release-eula" + - "rsync" + - "tar" + - "tcpdump" + - "tuned" + exclude: + - "dracut-config-rescue" + conditions: + "add subscription-manager-cockpit on rhel": + when: + distro_name: "rhel" + append: + include: + - "subscription-manager-cockpit" + + installer: + - *installer_pkgset + - *anaconda_boot_pkgset + - include: + - "@hardware-support" + - "alsa-firmware" + - "alsa-tools-firmware" + - "anaconda" + - "anaconda-dracut" + - "anaconda-install-img-deps" + - "anaconda-widgets" + - "audit" + - "bind-utils" + - "bzip2" + - "cryptsetup" + - "curl" + - "dbus-x11" + - "default-fonts-core-sans" + - "default-fonts-other-sans" + - "dejavu-sans-fonts" + - "dejavu-sans-mono-fonts" + - "device-mapper-persistent-data" + - "dmidecode" + - "dnf" + - "dracut-config-generic" + - "dracut-network" + - "efibootmgr" + - "ethtool" + - "fcoe-utils" + # - "ftp" + - "gdb-gdbserver" + - "glibc-all-langpacks" + - "gnome-kiosk" + - "google-noto-sans-cjk-ttc-fonts" + - "grub2-tools" + - "grub2-tools-extra" + - "grub2-tools-minimal" + - "grubby" + - "gsettings-desktop-schemas" + - "hdparm" + - "hexedit" + - "hostname" + - "initscripts" + - "ipmitool" + - "iwlegacy-firmware" + - "iwlwifi-dvm-firmware" + - "iwlwifi-mvm-firmware" + - "jomolhari-fonts" + - "kbd" + - "kbd-misc" + - "kdump-anaconda-addon" + - "kernel" + - "less" + - "libblockdev-lvm-dbus" + - "libibverbs" + - "librsvg2" + - "linux-firmware" + - "lldpad" + - "lsof" + - "madan-fonts" + - "mtr" + - "mt-st" + - "net-tools" + - "nfs-utils" + - "nmap-ncat" + - "nm-connection-editor" + - "nss-tools" + - "openssh-clients" + - "openssh-server" + # the package is not yet available on c10s / el10 + # "oscap-anaconda-addon" + - "ostree" + - "pciutils" + - "perl-interpreter" + - "pigz" + - "plymouth" + - "prefixdevname" + - "python3-pyatspi" + - "rdma-core" + # - "redhat-release-eula" + - "rng-tools" + - "rpcbind" + - "rpm-ostree" + - "rsync" + - "rsyslog" + - "selinux-policy-targeted" + - "sg3_utils" + - "sil-padauk-fonts" + - "smartmontools" + - "spice-vdagent" + - "strace" + - "systemd" + - "tar" + - "udisks2" + - "udisks2-iscsi" + - "usbutils" + - "vim-minimal" + - "volume_key" + - "wget" + - "xfsdump" + - "xfsprogs" + - "xz" + conditions: + "x86_64 specific pkgs for image installer": + when: + arch: "x86_64" + append: + include: + - "biosdevname" + - "dmidecode" + - "grub2-tools-efi" + - "memtest86+" + "aarch64 specific pkgs for image installer": + when: + arch: "aarch64" + append: + include: + - "dmidecode" + blueprint: + supported_options: + - "distro" + - "packages" + - "modules" + - "groups" + - "enabled_modules" + - "containers" + - "customizations.installer" + - "customizations.cacerts" + - "customizations.dnf" + - "customizations.directories" + - "customizations.files" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.fips" + - "customizations.timezone" + - "customizations.hostname" + - "customizations.kernel.name" + - "customizations.locale" + - "customizations.openscap" + - "customizations.repositories" + - "customizations.rpm" + - "customizations.services" + - "customizations.rhsm" + - "customizations.kernel.append" + + "bootc-rpm-installer": + # Note that this image type is partial and only used by + # bootc-image-builder not by the "images" library directly. We + # still keep the config here so that there is a single place for + # all imagetype configs. + installer_config: *default_installer_config + iso_config: *default_iso_config + package_sets: + installer: + - include: + - "@hardware-support" + - alsa-firmware + - alsa-tools-firmware + - anaconda + - anaconda-dracut + - anaconda-install-img-deps + - anaconda-widgets + - audit + - bind-utils + - bzip2 + - cryptsetup + - curl + - dbus-x11 + - dejavu-sans-fonts + - dejavu-sans-mono-fonts + - device-mapper-persistent-data + - dmidecode + - dnf + - dracut-config-generic + - dracut-network + - efibootmgr + - ethtool + - fcoe-utils + # - ftp + - gdb-gdbserver + - glibc-all-langpacks + - gnome-kiosk + - google-noto-sans-cjk-ttc-fonts + - grub2-tools + - grub2-tools-extra + - grub2-tools-minimal + - grubby + - gsettings-desktop-schemas + - hdparm + - hexedit + - hostname + - initscripts + - ipmitool + - jomolhari-fonts + - kbd + - kbd-misc + - kdump-anaconda-addon + - kernel + - less + - libblockdev-lvm-dbus + - libibverbs + - librsvg2 + - linux-firmware + - lldpad + - lsof + - madan-fonts + - mt-st + - mtr + - net-tools + - nfs-utils + - nm-connection-editor + - nmap-ncat + - nss-tools + - openssh-clients + - openssh-server + - ostree + - pciutils + - perl-interpreter + - pigz + - plymouth + - prefixdevname + - python3-pyatspi + - rdma-core + - rng-tools + - rpcbind + - rpm-ostree + - rsync + - rsyslog + - selinux-policy-targeted + - sg3_utils + - sil-padauk-fonts + - smartmontools + - spice-vdagent + - strace + - systemd + - tar + - udisks2 + - udisks2-iscsi + - usbutils + - vim-minimal + - volume_key + - wget + - xfsdump + - xfsprogs + - xrdb + - xz diff --git a/data/distrodefs/eln-11/network.yaml b/data/distrodefs/eln-11/network.yaml new file mode 100644 index 0000000000..9b82d4908e --- /dev/null +++ b/data/distrodefs/eln-11/network.yaml @@ -0,0 +1,53 @@ +.common: + # options supported by PXE image type + # Includes everything except disk, filesystem, and partitioning_mode + supported_options_pxe: &supported_options_pxe + - "distro" + - "packages" + - "modules" + - "groups" + - "enabled_modules" + - "containers" + - "customizations.cacerts" + - "customizations.directories" + - "customizations.files" + - "customizations.fips" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.hostname" + - "customizations.kernel" + - "customizations.locale" + - "customizations.openscap" + - "customizations.repositories" + - "customizations.rpm" + - "customizations.services" + - "customizations.timezone" + - "customizations.rhsm" + +image_types: + "pxe-tar-xz": + filename: "pxe.tar.xz" + compression: "xz" + mime_type: "application/x-tar" + image_func: "pxe_tar" + exports: ["xz"] + bootable: true + package_sets: + os: + - include: + - "bash" + - "coreutils" + - "dracut-live" + - "dracut-network" + - "dracut-config-generic" + # gawk provides /usr/bin/awk which is a runtime dependency of + # dracut's net-lib module. Without it, dracut fails to build the + # initramfs with network support. + - "gawk" + platforms: + - *x86_64_bios_platform + - *aarch64_platform + blueprint: + supported_options: *supported_options_pxe diff --git a/data/distrodefs/eln-11/wsl.yaml b/data/distrodefs/eln-11/wsl.yaml new file mode 100644 index 0000000000..3c68671d34 --- /dev/null +++ b/data/distrodefs/eln-11/wsl.yaml @@ -0,0 +1,168 @@ +.common: + wsl_config: &wsl_config + config: + boot_systemd: true + distribution_config: &wsl_distribution_config + shortcut: + enabled: true + icon: /usr/share/pixmaps/fedora-logo.ico + oobe: &wsl_distribution_oobe_config + default_uid: 1000 + +image_types: + wsl: + filename: "image.wsl" + mime_type: "application/x-tar" + image_func: "tar" + exports: ["xz"] + compression: "xz" + platforms: + - arch: "x86_64" + - arch: "aarch64" + image_config: + no_selinux: true + conditions: + "wsl config for rhel": + when: + distro_name: "rhel" + shallow_merge: + wsl: + <<: *wsl_config + distribution_config: + <<: *wsl_distribution_config + oobe: + <<: *wsl_distribution_oobe_config + default_name: RedHatEnterpriseLinux-%s + "wsl config for almalinux": + when: + distro_name: "almalinux" + shallow_merge: + wsl: &wsl_distribution_config_almalinux + <<: *wsl_config + distribution_config: + <<: *wsl_distribution_config + oobe: + <<: *wsl_distribution_oobe_config + default_name: AlmaLinux-%s + "wsl config for rocky": + when: + distro_name: "rocky" + shallow_merge: + wsl: + <<: *wsl_config + distribution_config: + <<: *wsl_distribution_config + oobe: + <<: *wsl_distribution_oobe_config + default_name: Rocky-%s + "wsl config for almalinuxkitten": + when: + distro_name: "almalinux_kitten" + shallow_merge: + wsl: + <<: *wsl_distribution_config_almalinux + "cloud-init config for non-centos": + when: + not_distro_name: "centos" + shallow_merge: + cloud_init: + - filename: "99_wsl.cfg" + config: + datasource_list: + - "WSL" + - "None" + network: + config: "disabled" + + package_sets: + os: + - include: + - "alternatives" + - "audit-libs" + - "basesystem" + - "bash" + - "ca-certificates" + - "coreutils-single" + - "crypto-policies-scripts" + - "curl-minimal" + - "dejavu-sans-fonts" + - "dnf" + - "filesystem" + - "findutils" + - "gdb-gdbserver" + # Differs from official UBI, as we don't include CRB repos + # - "gdbm" + - "glibc-minimal-langpack" + - "gmp" + - "gnupg2" + - "gobject-introspection" + - "hostname" + - "langpacks-en" + - "libcurl-minimal" + - "openssh-server" + - "openssl" + - "pam" + - "passwd" + - "procps-ng" + - "python3" + - "python3-inotify" + - "rootfiles" + - "rpm" + - "sed" + - "setup" + - "shadow-utils" + - "sudo" + - "systemd" + - "tar" + - "tpm2-tss" + - "tzdata" + - "util-linux" + - "vim-minimal" + - "yum" + exclude: + - "gawk-all-langpacks" + - "glibc-gconv-extra" + - "glibc-langpack-en" + - "openssl-pkcs11" + - "python-unversioned-command" + # - "redhat-release-eula" + - "rpm-plugin-systemd-inhibit" + conditions: + "subscription-manager, cloud-init, and redhat-* on rhel-likes except centos": + when: + not_distro_name: "centos" + append: + include: + - "subscription-manager" + - "cloud-init" + - "redhat-logos" + # - "redhat-release" + "wsl-setup, and centos-* on centos": + when: + distro_name: "centos" + append: + include: + - "wsl-setup" + - "centos-logos" + - "centos-release" + blueprint: + supported_options: + - "distro" + - "packages" + - "modules" + - "groups" + - "enabled_modules" + - "containers" + - "customizations.dnf" + - "customizations.directories" + - "customizations.files" + - "customizations.firewall" + - "customizations.user" + - "customizations.sshkey" + - "customizations.group" + - "customizations.hostname" + - "customizations.locale" + - "customizations.repositories" + - "customizations.services" + - "customizations.timezone" + - "customizations.rhsm" diff --git a/data/distrodefs/eln.yaml b/data/distrodefs/eln.yaml new file mode 100644 index 0000000000..9e26823d5f --- /dev/null +++ b/data/distrodefs/eln.yaml @@ -0,0 +1,62 @@ +--- +distros: + - &eln11 + name: "eln-{{.MajorVersion}}" + match: 'eln-[1-9][0-9]+' + distro_like: eln + vendor: "fedora" + product: "Fedora ELN" + os_version: 11 + release_version: 11 + module_platform_id: "platform:eln11" + default_fs_type: "xfs" + defs_path: "eln-11" + iso_label_tmpl: "Fedora-ELN-{{.Distro.MajorVersion}}-0-BaseOS-{{.Arch}}" + runner: + name: "org.osbuild.rhel{{.MajorVersion}}" + build_packages: &rhel10_runner_build_packages + - "glibc" # ldconfig + - "systemd" # systemd-tmpfiles and systemd-sysusers + - "python3" # osbuild + oscap_profiles_allowlist: &oscap_profile_allowlist_eln_11 + - "xccdf_org.ssgproject.content_profile_anssi_bp28_enhanced" + - "xccdf_org.ssgproject.content_profile_anssi_bp28_high" + - "xccdf_org.ssgproject.content_profile_anssi_bp28_intermediary" + - "xccdf_org.ssgproject.content_profile_anssi_bp28_minimal" + - "xccdf_org.ssgproject.content_profile_bsi" + - "xccdf_org.ssgproject.content_profile_cis" + - "xccdf_org.ssgproject.content_profile_cis_server_l1" + - "xccdf_org.ssgproject.content_profile_cis_workstation_l1" + - "xccdf_org.ssgproject.content_profile_cis_workstation_l2" + - "xccdf_org.ssgproject.content_profile_e8" + - "xccdf_org.ssgproject.content_profile_hipaa" + - "xccdf_org.ssgproject.content_profile_ism_o" + - "xccdf_org.ssgproject.content_profile_ism_o_secret" + - "xccdf_org.ssgproject.content_profile_ism_o_top_secret" + - "xccdf_org.ssgproject.content_profile_ospp" + - "xccdf_org.ssgproject.content_profile_pci-dss" + - "xccdf_org.ssgproject.content_profile_stig" + - "xccdf_org.ssgproject.content_profile_stig_gui" + bootstrap_containers: + x86_64: "quay.io/fedora/eln-toolbox:latest" + aarch64: "quay.io/fedora/eln-toolbox:latest" + ppc64le: "quay.io/fedora/eln-toolbox:latest" + s390x: "quay.io/fedora/eln-toolbox:latest" + image_config: + default: + default_kernel: "kernel" + default_oscap_datastream: "/usr/share/xml/scap/ssg/content/ssg-rhel10-ds.xml" + install_weak_deps: true + locale: "C.UTF-8" + permissive_rhc: true + sysconfig: + networking: true + no_zero_conf: true + timezone: "UTC" + update_default_kernel: true + conditions: + "centos oscap datastream path": + when: + distro_name: "centos" + shallow_merge: + default_oscap_datastream: "/usr/share/xml/scap/ssg/content/ssg-cs10-ds.xml" diff --git a/data/repositories/eln-11.json b/data/repositories/eln-11.json new file mode 100644 index 0000000000..676da08dbe --- /dev/null +++ b/data/repositories/eln-11.json @@ -0,0 +1,58 @@ +{ + "aarch64": [ + { + "name": "baseos", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-baseos-1&arch=aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-appstream-1&arch=aarch64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "ppc64le": [ + { + "name": "baseos", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-baseos-1&arch=ppc64le", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-appstream-1&arch=ppc64le", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "s390x": [ + { + "name": "baseos", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-baseos-1&arch=s390x", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-appstream-1&arch=s390x", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "x86_64": [ + { + "name": "baseos", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-baseos-1&arch=x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": false + }, + { + "name": "appstream", + "metalink": "https://mirrors.fedoraproject.org/metalink?repo=eln-appstream-1&arch=x86_64", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": false + } + ] +} diff --git a/pkg/distro/defs/loader.go b/pkg/distro/defs/loader.go index 65b13a1f64..6eaf80c895 100644 --- a/pkg/distro/defs/loader.go +++ b/pkg/distro/defs/loader.go @@ -294,8 +294,8 @@ func loadImageTypeConfigs(d *DistroYAML) ([]imageTypesYAML, error) { return nil, err } - commonPath := filepath.Join(d.DefsPath, "_common.yaml") - commonContent, _ := fs.ReadFile(dataFS(), commonPath) + sharedPath := filepath.Join(d.DefsPath, "_shared.yaml") + sharedContent, _ := fs.ReadFile(dataFS(), sharedPath) configs := make([]imageTypesYAML, 0, len(files)) for _, fileName := range files { @@ -306,8 +306,8 @@ func loadImageTypeConfigs(d *DistroYAML) ([]imageTypesYAML, error) { defer f.Close() var reader io.Reader = f - if len(commonContent) > 0 { - reader = io.MultiReader(bytes.NewReader(commonContent), f) + if len(sharedContent) > 0 { + reader = io.MultiReader(bytes.NewReader(sharedContent), f) } var toplevel imageTypesYAML @@ -399,6 +399,7 @@ func mergeImageTypeConfigs(d *DistroYAML, configs []imageTypesYAML) error { type imageTypesYAML struct { ImageTypes map[string]ImageTypeYAML `yaml:"image_types"` Common map[string]any `yaml:".common,omitempty"` + Shared map[string]any `yaml:".shared,omitempty"` } type distroImageConfig struct { diff --git a/pkg/distro/defs/loader_test.go b/pkg/distro/defs/loader_test.go index 32200cb09c..103118f454 100644 --- a/pkg/distro/defs/loader_test.go +++ b/pkg/distro/defs/loader_test.go @@ -1360,8 +1360,8 @@ image_types: } func TestLoadImageTypesMergesMultipleYAMLFiles(t *testing.T) { - common := ` -.common: + shared := ` +.shared: shared_pkgset: &shared_pkgset include: - qemu-guest-agent @@ -1402,7 +1402,7 @@ image_types: - "initial-setup-gui" ` baseDir := makeFakeDistrosWithImageYAMLFiles(t, "", map[string]string{ - "_common.yaml": common, + "_shared.yaml": shared, "cloud.yaml": fakeImageTypesYaml1, "iot.yaml": fakeImageTypesYaml2, }) @@ -1461,8 +1461,8 @@ image_types: } func TestLoadImageTypesPrependsCommonYAML(t *testing.T) { - common := ` -.common: + shared := ` +.shared: cloud_core_pkgset: &cloud_core_pkgset include: - qemu-guest-agent @@ -1484,7 +1484,7 @@ image_types: - "fwupd-efi" ` baseDir := makeFakeDistrosWithImageYAMLFiles(t, "", map[string]string{ - "_common.yaml": common, + "_shared.yaml": shared, "main.yaml": cloud, }) restore := defs.MockDataFS(baseDir) diff --git a/pkg/distro/generic/imagetype.go b/pkg/distro/generic/imagetype.go index d23ac42bff..06d3711fab 100644 --- a/pkg/distro/generic/imagetype.go +++ b/pkg/distro/generic/imagetype.go @@ -341,7 +341,7 @@ func (t *imageType) checkOptions(bp *blueprint.Blueprint, options distro.ImageOp d := t.Arch().Distro() switch idLike := d.IDLike(); idLike { - case manifest.DISTRO_FEDORA, manifest.DISTRO_EL7, manifest.DISTRO_EL10: + case manifest.DISTRO_FEDORA, manifest.DISTRO_ELN, manifest.DISTRO_EL7, manifest.DISTRO_EL10: // no specific options checkers case manifest.DISTRO_EL8: if err := checkOptionsRhel8(t, bp); err != nil { diff --git a/pkg/manifest/manifest.go b/pkg/manifest/manifest.go index 33b7b02c4f..04ae3556bc 100644 --- a/pkg/manifest/manifest.go +++ b/pkg/manifest/manifest.go @@ -34,6 +34,7 @@ const ( DISTRO_EL8 DISTRO_EL7 DISTRO_FEDORA + DISTRO_ELN _distro_count ) @@ -44,6 +45,7 @@ var distroNames = map[Distro]string{ DISTRO_EL8: "rhel-8", DISTRO_EL7: "rhel-7", DISTRO_FEDORA: "fedora", + DISTRO_ELN: "eln", } func (d Distro) String() string { diff --git a/test/config-list.json b/test/config-list.json index e9ea2928c6..a4233916be 100644 --- a/test/config-list.json +++ b/test/config-list.json @@ -7,7 +7,8 @@ "rhel-9*", "rhel-8*", "centos*", - "fedora*" + "fedora*", + "eln*" ], "image-types": [ "ami", @@ -38,7 +39,8 @@ "rhel-9.6", "rhel-10.0", "centos*", - "fedora*" + "fedora*", + "eln*" ], "image-types": [ "ami", @@ -65,7 +67,8 @@ "rhel-8.8", "rhel-8.10", "rhel-9.*", - "rhel-10.*" + "rhel-10.*", + "eln*" ], "image-types": [ "ec2-sap" @@ -181,7 +184,8 @@ "rhel-9*", "rhel-10*", "centos-*", - "fedora-*" + "fedora-*", + "eln*" ], "image-types": [ "ami", @@ -225,7 +229,8 @@ "arches": [], "distros": [ "rhel-*", - "centos-*" + "centos-*", + "eln-*" ], "image-types": [ "network-installer", @@ -515,7 +520,8 @@ "centos-9", "fedora*", "rhel-10*", - "rhel-9*" + "rhel-9*", + "eln*" ] } }, @@ -570,7 +576,8 @@ "centos-9", "fedora*", "rhel-10*", - "rhel-9*" + "rhel-9*", + "eln*" ] } }, @@ -725,7 +732,8 @@ "rhel-9.8", "rhel-9.9", "rhel-10*", - "centos-*" + "centos-*", + "eln*" ], "arches": [], "image-types": [ @@ -851,7 +859,8 @@ "rhel-10*", "rhel-9*", "rhel-8*", - "centos*" + "centos*", + "eln*" ], "image-types": [ "network-installer" diff --git a/test/data/manifest-checksums/centos_10-aarch64-ami-file_customizations b/test/data/manifest-checksums/centos_10-aarch64-ami-file_customizations index 42b4eb1675..ffea3319d5 100644 --- a/test/data/manifest-checksums/centos_10-aarch64-ami-file_customizations +++ b/test/data/manifest-checksums/centos_10-aarch64-ami-file_customizations @@ -1 +1 @@ -0680a61d42866e355bd4ba76c4b82a68889ccc0d +2dfb1fc5a8929be31ee64a76c75e91bea3b15b0f diff --git a/test/data/manifest-checksums/centos_10-x86_64-ami-file_customizations b/test/data/manifest-checksums/centos_10-x86_64-ami-file_customizations index 7c3acb8df4..52b51b5859 100644 --- a/test/data/manifest-checksums/centos_10-x86_64-ami-file_customizations +++ b/test/data/manifest-checksums/centos_10-x86_64-ami-file_customizations @@ -1 +1 @@ -81ab2828accf98c51c59bc28f9b4f23cdec3ed61 +3e5b904a4bdf79b716c14a3b026ae777c65f0f59 diff --git a/test/data/manifest-checksums/centos_9-aarch64-ami-file_customizations b/test/data/manifest-checksums/centos_9-aarch64-ami-file_customizations index 1b072b28c6..dbfd8686ca 100644 --- a/test/data/manifest-checksums/centos_9-aarch64-ami-file_customizations +++ b/test/data/manifest-checksums/centos_9-aarch64-ami-file_customizations @@ -1 +1 @@ -6e27d0bc0a5c655574cb541fe66e2e8619949227 +b76ea805cb030328d4cc696a38d71cd855da0d60 diff --git a/test/data/manifest-checksums/centos_9-x86_64-ami-file_customizations b/test/data/manifest-checksums/centos_9-x86_64-ami-file_customizations index e088634846..64305c3863 100644 --- a/test/data/manifest-checksums/centos_9-x86_64-ami-file_customizations +++ b/test/data/manifest-checksums/centos_9-x86_64-ami-file_customizations @@ -1 +1 @@ -e07389c8c4403d70d0d320d39f4636b852088d9c +44cd30083e41911a27d827af2348fd6a3371b95c diff --git a/test/data/manifest-checksums/eln_11-aarch64-ami-all_customizations b/test/data/manifest-checksums/eln_11-aarch64-ami-all_customizations new file mode 100644 index 0000000000..6b7494001a --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ami-all_customizations @@ -0,0 +1 @@ +b58f823e6695101dea25790332fc64e001092a70 diff --git a/test/data/manifest-checksums/eln_11-aarch64-ami-empty b/test/data/manifest-checksums/eln_11-aarch64-ami-empty new file mode 100644 index 0000000000..4a77dcc286 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ami-empty @@ -0,0 +1 @@ +b981c468e86b81b15ca731dd2351b9801135f6e7 diff --git a/test/data/manifest-checksums/eln_11-aarch64-ami-file_customizations b/test/data/manifest-checksums/eln_11-aarch64-ami-file_customizations new file mode 100644 index 0000000000..fdce8deea2 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ami-file_customizations @@ -0,0 +1 @@ +a4e97546feb700dac0077e8825bd1b9387c2fa40 diff --git a/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_lvm b/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_lvm new file mode 100644 index 0000000000..8ddfac189b --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_lvm @@ -0,0 +1 @@ +129d65403bf378793f4bdf76924f40ecfd76d7a0 diff --git a/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_plain b/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_plain new file mode 100644 index 0000000000..9028c0ba7b --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ami-partitioning_plain @@ -0,0 +1 @@ +7b2b9755c3f505829da67d73393ae94438aee9ee diff --git a/test/data/manifest-checksums/eln_11-aarch64-azure-empty b/test/data/manifest-checksums/eln_11-aarch64-azure-empty new file mode 100644 index 0000000000..d85efea049 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-azure-empty @@ -0,0 +1 @@ +55715a84b2d86f3ca65476e020713ddfc1b8e685 diff --git a/test/data/manifest-checksums/eln_11-aarch64-container-empty b/test/data/manifest-checksums/eln_11-aarch64-container-empty new file mode 100644 index 0000000000..c9198e3963 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-container-empty @@ -0,0 +1 @@ +ab684d9188caf4d670c03859c6235cd20c452183 diff --git a/test/data/manifest-checksums/eln_11-aarch64-container_minimal-empty b/test/data/manifest-checksums/eln_11-aarch64-container_minimal-empty new file mode 100644 index 0000000000..3a1d237fdf --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-container_minimal-empty @@ -0,0 +1 @@ +c0996405aa1d838f4431019a56464240a5aef459 diff --git a/test/data/manifest-checksums/eln_11-aarch64-ec2-empty b/test/data/manifest-checksums/eln_11-aarch64-ec2-empty new file mode 100644 index 0000000000..60060085d5 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-ec2-empty @@ -0,0 +1 @@ +b187c48016547431d594221b3c2ba8c80303d651 diff --git a/test/data/manifest-checksums/eln_11-aarch64-image_installer-empty b/test/data/manifest-checksums/eln_11-aarch64-image_installer-empty new file mode 100644 index 0000000000..3c33e41269 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-image_installer-empty @@ -0,0 +1 @@ +de46da3d86ebbdf37cc1100eaddebfd8dc5f652e diff --git a/test/data/manifest-checksums/eln_11-aarch64-image_installer-unattended_iso b/test/data/manifest-checksums/eln_11-aarch64-image_installer-unattended_iso new file mode 100644 index 0000000000..4c0753d3ed --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-image_installer-unattended_iso @@ -0,0 +1 @@ +91fb4d64b6474fdeb0b224b6b7237ca97f8b9bcd diff --git a/test/data/manifest-checksums/eln_11-aarch64-network_installer-empty b/test/data/manifest-checksums/eln_11-aarch64-network_installer-empty new file mode 100644 index 0000000000..519698b230 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-network_installer-empty @@ -0,0 +1 @@ +67bdfb7e33bce6b2b76b24dc62e614134b56abba diff --git a/test/data/manifest-checksums/eln_11-aarch64-network_installer-locale b/test/data/manifest-checksums/eln_11-aarch64-network_installer-locale new file mode 100644 index 0000000000..5bd16264a0 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-network_installer-locale @@ -0,0 +1 @@ +85f7b183fbb628171bde057dbb8612159020e145 diff --git a/test/data/manifest-checksums/eln_11-aarch64-pxe_tar_xz-empty b/test/data/manifest-checksums/eln_11-aarch64-pxe_tar_xz-empty new file mode 100644 index 0000000000..cb24e916ab --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-pxe_tar_xz-empty @@ -0,0 +1 @@ +ee553c8d2f59b3191c165f779d421804efd09f52 diff --git a/test/data/manifest-checksums/eln_11-aarch64-qcow2-empty b/test/data/manifest-checksums/eln_11-aarch64-qcow2-empty new file mode 100644 index 0000000000..ed2b465238 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-qcow2-empty @@ -0,0 +1 @@ +bae40dde2b57eb350a0ef8d0832bccd2597f67e9 diff --git a/test/data/manifest-checksums/eln_11-aarch64-tar-empty b/test/data/manifest-checksums/eln_11-aarch64-tar-empty new file mode 100644 index 0000000000..dc2da33ebe --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-tar-empty @@ -0,0 +1 @@ +07a4dfa2a71fb9b0c03dff06125438de34997556 diff --git a/test/data/manifest-checksums/eln_11-aarch64-vagrant_libvirt-empty b/test/data/manifest-checksums/eln_11-aarch64-vagrant_libvirt-empty new file mode 100644 index 0000000000..ed877f2bd0 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-vagrant_libvirt-empty @@ -0,0 +1 @@ +6318e2193d30fec1ecc30419105e758707a373be diff --git a/test/data/manifest-checksums/eln_11-aarch64-vhd-empty b/test/data/manifest-checksums/eln_11-aarch64-vhd-empty new file mode 100644 index 0000000000..610f15da86 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-vhd-empty @@ -0,0 +1 @@ +b8c8d53a471fde0613c53f86cb8b5f8711746024 diff --git a/test/data/manifest-checksums/eln_11-aarch64-wsl-empty b/test/data/manifest-checksums/eln_11-aarch64-wsl-empty new file mode 100644 index 0000000000..a4b0fe2155 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-aarch64-wsl-empty @@ -0,0 +1 @@ +708d6c47213528c5688dc544fc06dfe700e29f58 diff --git a/test/data/manifest-checksums/eln_11-ppc64le-container-empty b/test/data/manifest-checksums/eln_11-ppc64le-container-empty new file mode 100644 index 0000000000..5922a3606b --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-container-empty @@ -0,0 +1 @@ +efde1c5ccf579aef4b6411fabddd32deee72b4f0 diff --git a/test/data/manifest-checksums/eln_11-ppc64le-container_minimal-empty b/test/data/manifest-checksums/eln_11-ppc64le-container_minimal-empty new file mode 100644 index 0000000000..a9faf82890 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-container_minimal-empty @@ -0,0 +1 @@ +b44cd82148795076b2ad3fc14c928c92e4b3751e diff --git a/test/data/manifest-checksums/eln_11-ppc64le-network_installer-empty b/test/data/manifest-checksums/eln_11-ppc64le-network_installer-empty new file mode 100644 index 0000000000..8546027673 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-network_installer-empty @@ -0,0 +1 @@ +86e97f1234b1052f935b12140b825d8dec5f8255 diff --git a/test/data/manifest-checksums/eln_11-ppc64le-network_installer-locale b/test/data/manifest-checksums/eln_11-ppc64le-network_installer-locale new file mode 100644 index 0000000000..fdc16e35b7 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-network_installer-locale @@ -0,0 +1 @@ +c40dae50d8049ccd2660f67979fec1e3d3ecbe59 diff --git a/test/data/manifest-checksums/eln_11-ppc64le-qcow2-empty b/test/data/manifest-checksums/eln_11-ppc64le-qcow2-empty new file mode 100644 index 0000000000..d5a6122fed --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-qcow2-empty @@ -0,0 +1 @@ +a61a3369c1efbc0934455a8e1c1ec7e109746529 diff --git a/test/data/manifest-checksums/eln_11-ppc64le-tar-empty b/test/data/manifest-checksums/eln_11-ppc64le-tar-empty new file mode 100644 index 0000000000..69d28432dd --- /dev/null +++ b/test/data/manifest-checksums/eln_11-ppc64le-tar-empty @@ -0,0 +1 @@ +70901f66573c580e8278de48ce593363329c9de8 diff --git a/test/data/manifest-checksums/eln_11-s390x-container-empty b/test/data/manifest-checksums/eln_11-s390x-container-empty new file mode 100644 index 0000000000..6cd555b936 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-container-empty @@ -0,0 +1 @@ +5a1abe9b858939719c2493a0af967faf93440442 diff --git a/test/data/manifest-checksums/eln_11-s390x-container_minimal-empty b/test/data/manifest-checksums/eln_11-s390x-container_minimal-empty new file mode 100644 index 0000000000..fa83b156b6 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-container_minimal-empty @@ -0,0 +1 @@ +e00e6ed843cf833bafffa332081f940f042277c9 diff --git a/test/data/manifest-checksums/eln_11-s390x-network_installer-empty b/test/data/manifest-checksums/eln_11-s390x-network_installer-empty new file mode 100644 index 0000000000..ae46332ecc --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-network_installer-empty @@ -0,0 +1 @@ +9d747c411af0844c8e204cab38fed7693078c3a5 diff --git a/test/data/manifest-checksums/eln_11-s390x-network_installer-locale b/test/data/manifest-checksums/eln_11-s390x-network_installer-locale new file mode 100644 index 0000000000..ee77ecc803 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-network_installer-locale @@ -0,0 +1 @@ +9e5eef3234f71ed3228074dc81df7f0469aacfe8 diff --git a/test/data/manifest-checksums/eln_11-s390x-qcow2-empty b/test/data/manifest-checksums/eln_11-s390x-qcow2-empty new file mode 100644 index 0000000000..5b8ff8cffe --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-qcow2-empty @@ -0,0 +1 @@ +33f1bbb4c1c76426377fbd4cfc1df6d06a01dbad diff --git a/test/data/manifest-checksums/eln_11-s390x-tar-empty b/test/data/manifest-checksums/eln_11-s390x-tar-empty new file mode 100644 index 0000000000..136cdd933c --- /dev/null +++ b/test/data/manifest-checksums/eln_11-s390x-tar-empty @@ -0,0 +1 @@ +8c195caf0adb00d7622663709b7c5f47a0386bcf diff --git a/test/data/manifest-checksums/eln_11-x86_64-ami-all_customizations b/test/data/manifest-checksums/eln_11-x86_64-ami-all_customizations new file mode 100644 index 0000000000..c80f50baf2 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ami-all_customizations @@ -0,0 +1 @@ +b86561f274f78b3017197c5e9c87bc2d0cde08ee diff --git a/test/data/manifest-checksums/eln_11-x86_64-ami-empty b/test/data/manifest-checksums/eln_11-x86_64-ami-empty new file mode 100644 index 0000000000..a9c530846b --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ami-empty @@ -0,0 +1 @@ +d29a86e6aacf403efc05c68ba1910999a6f43b8f diff --git a/test/data/manifest-checksums/eln_11-x86_64-ami-file_customizations b/test/data/manifest-checksums/eln_11-x86_64-ami-file_customizations new file mode 100644 index 0000000000..99746af70c --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ami-file_customizations @@ -0,0 +1 @@ +aec8679ae683ed9d167914e0d34252eb3580b9bc diff --git a/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_lvm b/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_lvm new file mode 100644 index 0000000000..4fa247cd2a --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_lvm @@ -0,0 +1 @@ +126270bffbe17b324cc2e1de5c565879b04d6e51 diff --git a/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_plain b/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_plain new file mode 100644 index 0000000000..e9687e28bb --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ami-partitioning_plain @@ -0,0 +1 @@ +aac64ebc22cd737e380961d29b4f82c397303988 diff --git a/test/data/manifest-checksums/eln_11-x86_64-azure-empty b/test/data/manifest-checksums/eln_11-x86_64-azure-empty new file mode 100644 index 0000000000..19e61dce74 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-azure-empty @@ -0,0 +1 @@ +9e93b04439df55befa7304b11bcf6048e3e63ab8 diff --git a/test/data/manifest-checksums/eln_11-x86_64-container-empty b/test/data/manifest-checksums/eln_11-x86_64-container-empty new file mode 100644 index 0000000000..960c6a7e6b --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-container-empty @@ -0,0 +1 @@ +e4540489f9ea4339b0e76ba0e9d9ed28138d5120 diff --git a/test/data/manifest-checksums/eln_11-x86_64-container_minimal-empty b/test/data/manifest-checksums/eln_11-x86_64-container_minimal-empty new file mode 100644 index 0000000000..5848443aac --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-container_minimal-empty @@ -0,0 +1 @@ +ac31511590b4f2542ca2968763cc90b733b0256f diff --git a/test/data/manifest-checksums/eln_11-x86_64-ec2-empty b/test/data/manifest-checksums/eln_11-x86_64-ec2-empty new file mode 100644 index 0000000000..2c623847aa --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ec2-empty @@ -0,0 +1 @@ +8b8b2b6be1deaabc87c856a3d1caa70551556045 diff --git a/test/data/manifest-checksums/eln_11-x86_64-gce-empty b/test/data/manifest-checksums/eln_11-x86_64-gce-empty new file mode 100644 index 0000000000..536f248f96 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-gce-empty @@ -0,0 +1 @@ +4a20480dbcf8f20bc42b89cae739d8a65d1c866f diff --git a/test/data/manifest-checksums/eln_11-x86_64-image_installer-empty b/test/data/manifest-checksums/eln_11-x86_64-image_installer-empty new file mode 100644 index 0000000000..35e020584c --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-image_installer-empty @@ -0,0 +1 @@ +888080740c9046dd89d78f1de2b399a6f976fccc diff --git a/test/data/manifest-checksums/eln_11-x86_64-image_installer-unattended_iso b/test/data/manifest-checksums/eln_11-x86_64-image_installer-unattended_iso new file mode 100644 index 0000000000..3a1220c0e6 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-image_installer-unattended_iso @@ -0,0 +1 @@ +72270aec6680b86a5d82f88e559eb023624d8549 diff --git a/test/data/manifest-checksums/eln_11-x86_64-network_installer-empty b/test/data/manifest-checksums/eln_11-x86_64-network_installer-empty new file mode 100644 index 0000000000..3395c90513 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-network_installer-empty @@ -0,0 +1 @@ +69deea16cdb9fa1c735c52a04a5190b7401d82b6 diff --git a/test/data/manifest-checksums/eln_11-x86_64-network_installer-locale b/test/data/manifest-checksums/eln_11-x86_64-network_installer-locale new file mode 100644 index 0000000000..3627acc33e --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-network_installer-locale @@ -0,0 +1 @@ +8c98e4650011abf60ec85a6ff272f5deada2a800 diff --git a/test/data/manifest-checksums/eln_11-x86_64-oci-empty b/test/data/manifest-checksums/eln_11-x86_64-oci-empty new file mode 100644 index 0000000000..b202974210 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-oci-empty @@ -0,0 +1 @@ +ec29b9cd9e64d0c0737a7e3f63b760a7e7fb590a diff --git a/test/data/manifest-checksums/eln_11-x86_64-ova-empty b/test/data/manifest-checksums/eln_11-x86_64-ova-empty new file mode 100644 index 0000000000..9bef652a08 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-ova-empty @@ -0,0 +1 @@ +7b7b97264d40da4642611f19dfecd5dc7a95f84f diff --git a/test/data/manifest-checksums/eln_11-x86_64-pxe_tar_xz-empty b/test/data/manifest-checksums/eln_11-x86_64-pxe_tar_xz-empty new file mode 100644 index 0000000000..1b3b052a09 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-pxe_tar_xz-empty @@ -0,0 +1 @@ +3434dc7cf241f351585d3c513eb5e52246ed1519 diff --git a/test/data/manifest-checksums/eln_11-x86_64-qcow2-empty b/test/data/manifest-checksums/eln_11-x86_64-qcow2-empty new file mode 100644 index 0000000000..6e9b26953e --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-qcow2-empty @@ -0,0 +1 @@ +eee39b90b23fdef41dfcd5ce42bf9f723521ee20 diff --git a/test/data/manifest-checksums/eln_11-x86_64-tar-empty b/test/data/manifest-checksums/eln_11-x86_64-tar-empty new file mode 100644 index 0000000000..2e4d08db87 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-tar-empty @@ -0,0 +1 @@ +b691d16d8f97a01d774eada347ae85266d49b05b diff --git a/test/data/manifest-checksums/eln_11-x86_64-vagrant_libvirt-empty b/test/data/manifest-checksums/eln_11-x86_64-vagrant_libvirt-empty new file mode 100644 index 0000000000..fe86ef25b3 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-vagrant_libvirt-empty @@ -0,0 +1 @@ +1085811d835c3db201f2f9f7a23e6b829bebfa96 diff --git a/test/data/manifest-checksums/eln_11-x86_64-vagrant_virtualbox-empty b/test/data/manifest-checksums/eln_11-x86_64-vagrant_virtualbox-empty new file mode 100644 index 0000000000..f483784be0 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-vagrant_virtualbox-empty @@ -0,0 +1 @@ +7cdc37b4393c49d2c48747ab2a3cadb1b4c7b3ee diff --git a/test/data/manifest-checksums/eln_11-x86_64-vhd-empty b/test/data/manifest-checksums/eln_11-x86_64-vhd-empty new file mode 100644 index 0000000000..f2f2d5c75a --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-vhd-empty @@ -0,0 +1 @@ +444b96efa9e0fd9da6e68d345996d268ba0d3794 diff --git a/test/data/manifest-checksums/eln_11-x86_64-vmdk-empty b/test/data/manifest-checksums/eln_11-x86_64-vmdk-empty new file mode 100644 index 0000000000..8b7931da50 --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-vmdk-empty @@ -0,0 +1 @@ +fff8871b24a7f06cc1658a7100c427ed4d06ce44 diff --git a/test/data/manifest-checksums/eln_11-x86_64-wsl-empty b/test/data/manifest-checksums/eln_11-x86_64-wsl-empty new file mode 100644 index 0000000000..1175df1c1d --- /dev/null +++ b/test/data/manifest-checksums/eln_11-x86_64-wsl-empty @@ -0,0 +1 @@ +8bae8d8a59db4296ba3d712757582e82c00897f0 diff --git a/test/data/manifest-checksums/fedora_42-aarch64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_42-aarch64-generic_ami-file_customizations index ba05fa86dd..8b70ea3c0a 100644 --- a/test/data/manifest-checksums/fedora_42-aarch64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_42-aarch64-generic_ami-file_customizations @@ -1 +1 @@ -bd45140b77efdce03233eced65b01ac9b63fda81 +51bc953bc48b495a5a59995266d2647760c6f660 diff --git a/test/data/manifest-checksums/fedora_42-x86_64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_42-x86_64-generic_ami-file_customizations index dc5fa6b360..c1170ff6f0 100644 --- a/test/data/manifest-checksums/fedora_42-x86_64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_42-x86_64-generic_ami-file_customizations @@ -1 +1 @@ -3893af99eeaa462baa1eff96fb746b48cbf45f3e +3cb0975e987f4b55472ea7fd845aef95babfccf6 diff --git a/test/data/manifest-checksums/fedora_43-aarch64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_43-aarch64-generic_ami-file_customizations index a26a2cdce3..9c912198ce 100644 --- a/test/data/manifest-checksums/fedora_43-aarch64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_43-aarch64-generic_ami-file_customizations @@ -1 +1 @@ -f1a7ac23c8de740182e68d0d78f203775714238b +96737ccc61717bd9d800d75a718aaf9cc0a42328 diff --git a/test/data/manifest-checksums/fedora_43-x86_64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_43-x86_64-generic_ami-file_customizations index 809b9bd0aa..e6dd1d4d01 100644 --- a/test/data/manifest-checksums/fedora_43-x86_64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_43-x86_64-generic_ami-file_customizations @@ -1 +1 @@ -7a450ad77dc9b5c7a7e2dd274a996a3e97d8fbee +351f551488ccb939fbc70cac937845c03086642d diff --git a/test/data/manifest-checksums/fedora_44-aarch64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_44-aarch64-generic_ami-file_customizations index 4e5d904d4d..5f077854ad 100644 --- a/test/data/manifest-checksums/fedora_44-aarch64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_44-aarch64-generic_ami-file_customizations @@ -1 +1 @@ -2b68991431dd2112950c60f04c7470b82410636d +b786deb44720559aa837669b904eaf0d5a61f323 diff --git a/test/data/manifest-checksums/fedora_44-x86_64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_44-x86_64-generic_ami-file_customizations index 8023603e57..97943bfa27 100644 --- a/test/data/manifest-checksums/fedora_44-x86_64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_44-x86_64-generic_ami-file_customizations @@ -1 +1 @@ -7f59f7f57473d3e15b6affdbba63a80b10096a0d +fae5b0af428f1deb0fb406202382c69764981669 diff --git a/test/data/manifest-checksums/fedora_45-aarch64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_45-aarch64-generic_ami-file_customizations index 6d868e9802..2024e20c5b 100644 --- a/test/data/manifest-checksums/fedora_45-aarch64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_45-aarch64-generic_ami-file_customizations @@ -1 +1 @@ -7563cd16a70755ea070a9ea022ffaa0bdb9632aa +8e6f22154707fa9dcbd0c7566e45ebe188dddc6e diff --git a/test/data/manifest-checksums/fedora_45-x86_64-generic_ami-file_customizations b/test/data/manifest-checksums/fedora_45-x86_64-generic_ami-file_customizations index 5ab645a0d1..6442991d7b 100644 --- a/test/data/manifest-checksums/fedora_45-x86_64-generic_ami-file_customizations +++ b/test/data/manifest-checksums/fedora_45-x86_64-generic_ami-file_customizations @@ -1 +1 @@ -15ed1feec2d7a5dc0ecb396cfc43da41ee1db377 +b8a7045bd4ae0e5b2cf916633c98bf65f8f22a87 diff --git a/test/data/manifest-checksums/rhel_10.0-aarch64-ami-file_customizations b/test/data/manifest-checksums/rhel_10.0-aarch64-ami-file_customizations index e0c6f462f1..cd1990bf55 100644 --- a/test/data/manifest-checksums/rhel_10.0-aarch64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_10.0-aarch64-ami-file_customizations @@ -1 +1 @@ -34fbcf1c9a769ff6c40d90efb6df4dfa552e7726 +4d5feecdb442aff2d2b3dccfc7c821e6c7433872 diff --git a/test/data/manifest-checksums/rhel_10.0-x86_64-ami-file_customizations b/test/data/manifest-checksums/rhel_10.0-x86_64-ami-file_customizations index 270f44f17a..0dee93c8cc 100644 --- a/test/data/manifest-checksums/rhel_10.0-x86_64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_10.0-x86_64-ami-file_customizations @@ -1 +1 @@ -e1cfad0a2b4028f131425b4d1c48961332761c34 +d23041224e5f650ff09a17c89705674f4f38598e diff --git a/test/data/manifest-checksums/rhel_8.10-aarch64-ami-file_customizations b/test/data/manifest-checksums/rhel_8.10-aarch64-ami-file_customizations index 9d9335a744..77acd4d5d4 100644 --- a/test/data/manifest-checksums/rhel_8.10-aarch64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_8.10-aarch64-ami-file_customizations @@ -1 +1 @@ -d170e10aba1292ddf9af32f131dd7cba06b51177 +19b28429f57ca62645d124cf291f7252a541ab5b diff --git a/test/data/manifest-checksums/rhel_8.10-x86_64-ami-file_customizations b/test/data/manifest-checksums/rhel_8.10-x86_64-ami-file_customizations index 871f269e72..b4ff842da0 100644 --- a/test/data/manifest-checksums/rhel_8.10-x86_64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_8.10-x86_64-ami-file_customizations @@ -1 +1 @@ -33d32b742f1750b248cf106036fb8e47bdf1cc8d +b261d347d1d84c91de402d0fed7d8dc8c195cbb1 diff --git a/test/data/manifest-checksums/rhel_9.6-aarch64-ami-file_customizations b/test/data/manifest-checksums/rhel_9.6-aarch64-ami-file_customizations index 094166282e..34e3d54491 100644 --- a/test/data/manifest-checksums/rhel_9.6-aarch64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_9.6-aarch64-ami-file_customizations @@ -1 +1 @@ -ec5988c432269db73093ab4c45e8043c194c1565 +13d97744234f6e52ca9c5a2da07e028d3b511cf4 diff --git a/test/data/manifest-checksums/rhel_9.6-x86_64-ami-file_customizations b/test/data/manifest-checksums/rhel_9.6-x86_64-ami-file_customizations index 430106d38f..2406e14a1f 100644 --- a/test/data/manifest-checksums/rhel_9.6-x86_64-ami-file_customizations +++ b/test/data/manifest-checksums/rhel_9.6-x86_64-ami-file_customizations @@ -1 +1 @@ -08e05275f5711a704306d4b89193d558cc79ace6 +e63f1de0ff32e342f775115cd2c29ed956c9400b diff --git a/test/data/repositories/eln-11.json b/test/data/repositories/eln-11.json new file mode 100644 index 0000000000..2f51cb8eef --- /dev/null +++ b/test/data/repositories/eln-11.json @@ -0,0 +1,58 @@ +{ + "aarch64": [ + { + "name": "baseos", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-aarch64-baseos-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-aarch64-appstream-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "ppc64le": [ + { + "name": "baseos", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-ppc64le-baseos-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-ppc64le-appstream-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "s390x": [ + { + "name": "baseos", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-s390x-baseos-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + }, + { + "name": "appstream", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-s390x-appstream-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": true + } + ], + "x86_64": [ + { + "name": "baseos", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-x86_64-baseos-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": false + }, + { + "name": "appstream", + "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/eln/eln-x86_64-appstream-20260510", + "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGiIvJgBEAD3LK442lirRR/SSY884GtAlFjC4VbtOW82pks44Nu/7sbWQObo\nA9kyCs69j/lCFKsq12yU+yk0rOSNHQT1aKwe64GOi9MokcOYK1gq0DtBvakl25o1\npnBok+zuBUfwTQAsNTbevw1t5rdBJKusnuPPHjTnVdjVS9HU4QhZunI/7Y9QleX2\noXkN2VFi0mhF2y8gU4Tve0xxSTjfgYM6ObV3W9vMusxmAabvCfdcVPpy9iEZxyjw\nNL4Svkw3bt50plmnRuWRXA+P6R3SK/1XKBW/9jVr4bgs6d763VfVCMbKLpQvuWIX\n6/UUOEc9LDziEjxjNBPFfLq+N7kN8235B26fuj+3XM2OqLtRv4/bl0Mryn13VrJl\nhvdLSlmkjROlzywrGvZ/geqyqaSuEZMnWN6znxV/qt8+tEHJXNFO882wHOLTq+5F\n6Bm/aJvdGxSffIFQyylcEzGaNgsH7AvkZPMqk2nMJ3y1KQx+LxdLM5hwGSexdaQ0\nwyW5DMH1Xn49J0nNE/IPWgBlRVAz146CNHMy0kR0J9dAUxg+1GeGKYnZ+q9mvs07\n82rFUqgJLq1gIBEVxYVh8eaO4u1wxWb+/LSx6OjZ7yFmZjN3c6V67Fwql/0EONic\nQgI/2FyxLeYmQr19Cl3EY7b50Ql95RT5OqtAnqcYrzsjuv4n489F/ObRjwARAQAB\ntDFGZWRvcmEgKDQ1KSA8ZmVkb3JhLTQ1LXByaW1hcnlAZmVkb3JhcHJvamVjdC5v\ncmc+iQJSBBMBCAA8FiEET1CmEUzVxpdqfxF5ZVpLAvV3hh4FAmiIvJgCGw8FCwkI\nBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEGVaSwL1d4YeErcQAMnCTVRF+W1A\nW2kE9vQrqEXFj7wPXIH1uiwUAKtpLffjoD8SFekU6AqhrvMS1JgS0NsTwwvqbZXe\nZl7eTgMZ8XPxhufZ272pUaIDMlREnvoLEHb/HTbcSP8bBdCEzc5FwSNgwZEYRTC/\nOVhJ1isF54fd3JC9741feCgPOMG94dj1VX7FlZuq1AQsXKvI9H3GEm6DiqHg4nVR\nWprMP7/sKqrgNSWx4s0zC/4WpALOgLXJO8qZOtul9SzcPmt4E56jjJ7TNX3uQcgu\n0zKFdzb92tJ6WLpVsFk5AgBoZFSi7xZEh+nQzu/PwMorxNyw2WvKR5+avWQCY/WO\npmPIBAL4IevB/sGyrDVdh1ZNMTMIf3Pz3jkn2BGMOAo4ohP+5P4hFzt/4nOm5fL6\nDpJxlCcWaFjMuZgdJY9IHqRcwtnX4nGnrv0cbYAjt59cnHuzqzW84KWJcDEy+3v6\njAhHn6UM27CGCN99hfh7zhj+fMcOOyugCwxbjke123uNC80J1WADB0KF99en1p1f\n1VHBOfS3IS8ezmlWFrllrG0Rxl1a9LDkQJivH5mV0HNmYvRPlWky/mP7q66TRHKs\nJfD7idqM7pdf6u4vYpGq/MlbGgK4xCm7geaoLWDN5zExgrgZFzgtieIEa2M1uumj\nBRh9EFo/y5xhwu9mVgCJmLCLW/ByEYJE\n=7kLn\n-----END PGP PUBLIC KEY BLOCK-----\n", + "check_gpg": false + } + ] +} diff --git a/tools/yaml-lint.sh b/tools/yaml-lint.sh new file mode 100755 index 0000000000..7a2dc36469 --- /dev/null +++ b/tools/yaml-lint.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -euo pipefail + +while IFS= read -r -d '' dir; do + while IFS= read -r -d '' file; do + echo "-- $file --" + + if [ -f "$dir/_shared.yaml" ] && [[ $(basename "$file") != "_shared.yaml" ]]; then + cat "$dir/_shared.yaml" "$file" | yamllint - + cat "$dir/_shared.yaml" "$file" | yq '.' > /dev/null + else + cat "$file" | yamllint - + cat "$file" | yq '.' > /dev/null + fi + done < <(find "$dir" -maxdepth 1 -type f '(' -iname '*.yaml' -or -iname '*.yml' ')' -print0 2>/dev/null) +done < <(find . -type d -not -path './.git/*' -print0)