Simplify repo structure.

This commit is contained in:
jimmy committed 2022-08-23 20:51:52 -04:00
1 parent fd2484b561
commit 6ab810814d
30 files changed
+689 -32

No files matched your search

+50
View File
@@ -0,0 +1,50 @@
version: '2'
mpp-vars:
efiarch: x64
boot_rpms:
mpp-join:
- mpp-eval: boot_rpms
- - grub2-efi-x64
- grub2-pc
base_rpms:
mpp-join:
- mpp-eval: base_rpms
- - microcode_ctl
pipelines:
- name: build
runner: org.osbuild.centos9
stages:
- type: org.osbuild.rpm
inputs:
packages:
type: org.osbuild.files
origin: org.osbuild.source
mpp-depsolve:
architecture: $arch
module-platform-id: $distro_module_id
baseurl: $distro_baseurl/BaseOS/$arch/os/
repos:
mpp-eval: distro_repos
packages:
mpp-join:
- mpp-eval: build_rpms
- mpp-eval: extra_build_rpms
- - grub2-efi-x64
- grub2-efi-x64-cdboot
- grub2-tools-efi
- grub2-pc
- grub2-pc-modules
- grub2-tools
- shim-x64
options:
gpgkeys:
- mpp-eval: centos_gpg_key
- mpp-eval: redhat_gpg_key
exclude:
docs: true
- type: org.osbuild.selinux
options:
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
labels:
/usr/bin/cp: system_u:object_r:install_exec_t:s0
/usr/bin/tar: system_u:object_r:install_exec_t:s0
+38
View File
@@ -0,0 +1,38 @@
version: '2'
mpp-vars:
distro_name: cs9 # The default
mpp-define-image:
size: $image_size
table:
uuid: $parttab_uuid
label: $partition_label
partitions:
- id: efi
start:
mpp-eval: "0 if partition_label == 'gpt' else 2048"
size: $efipart_size
type:
mpp-eval: "'C12A7328-F81F-11D2-BA4B-00A0C93EC93B' if partition_label == 'gpt' else 'ef'"
uuid: $efipart_uuid
- id: boot
size: $bootpart_size
type:
mpp-eval: "'0FC63DAF-8483-4772-8E79-3D69D8477DE4' if partition_label == 'gpt' else '83'"
uuid: $bootpart_uuid
- id: root
type:
mpp-eval: "'0FC63DAF-8483-4772-8E79-3D69D8477DE4' if partition_label == 'gpt' else '83'"
uuid: $rootpart_uuid
pipelines:
- mpp-import-pipelines:
path: distro/$distro_name.ipp.yml
- mpp-import-pipelines:
path: defaults.ipp.yml
- mpp-import-pipelines:
path: target-$target.ipp.yml
- mpp-import-pipeline:
path: build-$arch.ipp.yml
id: build
runner: org.osbuild.centos9
+293
View File
@@ -0,0 +1,293 @@
version: '2'
mpp-vars:
default_target: qemu
default_image_type: ostree
default_ostree_ref: $distro_name/$arch/$target-$name
default_ostree_os_version: $distro_version
default_osname: centos
default_uefi_vendor: centos
default_kernel_rpm: kernel
default_linux_firmware_rpm: linux-firmware
default_partition_label: gpt
default_extra_rpms: []
default_extra_build_rpms: []
default_extra_repos: []
default_target_repos: []
default_root_password: $6$xoLqEUz0cGGJRx01$H3H/bFm0myJPULNMtbSsOFd/2BnHqHkMD92Sfxd.EKM9hXTWSmELG8cf205l6dktomuTcgKGGtGDgtvHVXSWU.
default_guest_password: $6$xoLqEUz0cGGJRx01$H3H/bFm0myJPULNMtbSsOFd/2BnHqHkMD92Sfxd.EKM9hXTWSmELG8cf205l6dktomuTcgKGGtGDgtvHVXSWU.
default_root_ssh_key: ""
default_ssh_permit_root_login: false
default_image_size: '8589934592'
default_efipart_size: 204800
default_bootpart_size: 614400
default_kernel_loglevel: 4
static_uuids:
mpp-eval: locals().get('static_uuids', True)
default_rootfs_uuid:
mpp-eval: ('76a22bf4-f153-4541-b6c7-0332c0dfaeac' if static_uuids else str(__import__('uuid').uuid4()))
default_bootfs_uuid:
mpp-eval: ('156f0420-627b-4151-ae6f-fda298097515' if static_uuids else str(__import__('uuid').uuid4()))
default_parttab_uuid:
mpp-eval: ('d209c89e-ea5e-4fbd-b161-b461cce297e0' if static_uuids else str(__import__('uuid').uuid4()))
default_efipart_uuid:
mpp-eval: ('68b2905b-df3e-4fb3-80fa-49d1e773aa33' if static_uuids else str(__import__('uuid').uuid4()))
default_bootpart_uuid:
mpp-eval: ('61b2905b-df3e-4fb3-80fa-49d1e773aa32' if static_uuids else str(__import__('uuid').uuid4()))
default_rootpart_uuid:
mpp-eval: ('6264d520-3fb9-423f-8ab8-7a0a8e3d3562' if static_uuids else str(__import__('uuid').uuid4()))
default_use_efi_runtime: true
default_kernel_opts:
- console=tty0
- console=ttyS0
- systemd.log_target=console
- systemd.journald.forward_to_console=1
default_dracut_add_modules:
- base
- bash
- dracut-systemd
- fs-lib
- i18n
- kernel-modules
- kernel-modules-extra
- rootfs-block
- shutdown
- systemd
- systemd-initrd
- terminfo
- udev-rules
- usrmount
default_dracut_omit_modules:
- dm
- lunmask
- mdraid
- memstrack
- nss-softokn
- nvdimm
- resume
- terminfo
default_dracut_filesystems:
- vfat
- ext4
default_dracut_add_drivers: []
default_dracut_install: []
default_ostree_repo_url: http://10.0.2.100/
default_ostree_remote_name: auto-sig
target:
mpp-eval: locals().get('target', default_target)
image_type:
mpp-eval: locals().get('image_type', default_image_type)
kernel_rpm:
mpp-eval: locals().get('kernel_rpm', default_kernel_rpm)
linux_firmware_rpm:
mpp-eval: locals().get('linux_firmware_rpm', default_linux_firmware_rpm)
ostree_ref:
mpp-eval: locals().get('ostree_ref', default_ostree_ref)
ostree_os_version:
mpp-eval: locals().get('ostree_os_version', default_ostree_os_version)
osname:
mpp-eval: locals().get('osname', default_osname)
uefi_vendor:
mpp-eval: locals().get('uefi_vendor', default_uefi_vendor)
partition_label:
mpp-eval: locals().get('partition_label', default_partition_label)
extra_rpms:
mpp-eval: locals().get('extra_rpms', default_extra_rpms)
extra_build_rpms:
mpp-eval: locals().get('extra_build_rpms', default_extra_build_rpms)
extra_repos:
mpp-eval: locals().get('extra_repos', default_extra_repos)
target_repos:
mpp-eval: locals().get('target_repos', default_target_repos)
image_size:
mpp-eval: locals().get('image_size', default_image_size)
rootfs_uuid:
mpp-eval: locals().get('rootfs_uuid', default_rootfs_uuid)
bootfs_uuid:
mpp-eval: locals().get('bootfs_uuid', default_bootfs_uuid)
parttab_uuid:
mpp-eval: locals().get('parttab_uuid', default_parttab_uuid)
rootpart_uuid:
mpp-eval: locals().get('rootpart_uuid', default_rootpart_uuid)
bootpart_uuid:
mpp-eval: locals().get('bootpart_uuid', default_bootpart_uuid)
efipart_uuid:
mpp-eval: locals().get('efipart_uuid', default_efipart_uuid)
kernel_opts:
mpp-eval: locals().get('kernel_opts', default_kernel_opts)
efipart_size:
mpp-eval: locals().get('efipart_size', default_efipart_size)
bootpart_size:
mpp-eval: locals().get('bootpart_size', default_bootpart_size)
dracut_add_modules:
mpp-eval: locals().get('dracut_add_modules', default_dracut_add_modules)
dracut_omit_modules:
mpp-eval: locals().get('dracut_omit_modules', default_dracut_omit_modules)
dracut_filesystems:
mpp-eval: locals().get('dracut_filesystems', default_dracut_filesystems)
dracut_add_drivers:
mpp-eval: locals().get('dracut_add_drivers', default_dracut_add_drivers)
dracut_install:
mpp-eval: locals().get('dracut_install', default_dracut_install)
root_password:
mpp-eval: locals().get('root_password', default_root_password)
root_ssh_key:
mpp-eval: locals().get('root_ssh_key', default_root_ssh_key)
ssh_permit_root_login:
mpp-eval: locals().get('ssh_permit_root_login', default_ssh_permit_root_login)
guest_password:
mpp-eval: locals().get('guest_password', default_guest_password)
ostree_repo_url:
mpp-eval: locals().get('ostree_repo_url', default_ostree_repo_url)
ostree_remote_name:
mpp-eval: locals().get('ostree_remote_name', default_ostree_remote_name)
use_efi_runtime:
mpp-eval: locals().get('use_efi_runtime', default_use_efi_runtime)
kernel_loglevel:
mpp-eval: locals().get('kernel_loglevel', default_kernel_loglevel)
default_target_stages: []
target_stages:
mpp-eval: locals().get('target_stages', default_target_stages)
centos_gpg_key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQINBFzMWxkBEADHrskpBgN9OphmhRkc7P/YrsAGSvvl7kfu+e9KAaU6f5MeAVyn
rIoM43syyGkgFyWgjZM8/rur7EMPY2yt+2q/1ZfLVCRn9856JqTIq0XRpDUe4nKQ
8BlA7wDVZoSDxUZkSuTIyExbDf0cpw89Tcf62Mxmi8jh74vRlPy1PgjWL5494b3X
5fxDidH4bqPZyxTBqPrUFuo+EfUVEqiGF94Ppq6ZUvrBGOVo1V1+Ifm9CGEK597c
aevcGc1RFlgxIgN84UpuDjPR9/zSndwJ7XsXYvZ6HXcKGagRKsfYDWGPkA5cOL/e
f+yObOnC43yPUvpggQ4KaNJ6+SMTZOKikM8yciyBwLqwrjo8FlJgkv8Vfag/2UR7
JINbyqHHoLUhQ2m6HXSwK4YjtwidF9EUkaBZWrrskYR3IRZLXlWqeOi/+ezYOW0m
vufrkcvsh+TKlVVnuwmEPjJ8mwUSpsLdfPJo1DHsd8FS03SCKPaXFdD7ePfEjiYk
nHpQaKE01aWVSLUiygn7F7rYemGqV9Vt7tBw5pz0vqSC72a5E3zFzIIuHx6aANry
Gat3aqU3qtBXOrA/dPkX9cWE+UR5wo/A2UdKJZLlGhM2WRJ3ltmGT48V9CeS6N9Y
m4CKdzvg7EWjlTlFrd/8WJ2KoqOE9leDPeXRPncubJfJ6LLIHyG09h9kKQARAQAB
tDpDZW50T1MgKENlbnRPUyBPZmZpY2lhbCBTaWduaW5nIEtleSkgPHNlY3VyaXR5
QGNlbnRvcy5vcmc+iQI3BBMBAgAhBQJczFsZAhsDBgsJCAcDAgYVCAIJCgsDFgIB
Ah4BAheAAAoJEAW1VbOEg8ZdjOsP/2ygSxH9jqffOU9SKyJDlraL2gIutqZ3B8pl
Gy/Qnb9QD1EJVb4ZxOEhcY2W9VJfIpnf3yBuAto7zvKe/G1nxH4Bt6WTJQCkUjcs
N3qPWsx1VslsAEz7bXGiHym6Ay4xF28bQ9XYIokIQXd0T2rD3/lNGxNtORZ2bKjD
vOzYzvh2idUIY1DgGWJ11gtHFIA9CvHcW+SMPEhkcKZJAO51ayFBqTSSpiorVwTq
a0cB+cgmCQOI4/MY+kIvzoexfG7xhkUqe0wxmph9RQQxlTbNQDCdaxSgwbF2T+gw
byaDvkS4xtR6Soj7BKjKAmcnf5fn4C5Or0KLUqMzBtDMbfQQihn62iZJN6ZZ/4dg
q4HTqyVpyuzMXsFpJ9L/FqH2DJ4exGGpBv00ba/Zauy7GsqOc5PnNBsYaHCply0X
407DRx51t9YwYI/ttValuehq9+gRJpOTTKp6AjZn/a5Yt3h6jDgpNfM/EyLFIY9z
V6CXqQQ/8JRvaik/JsGCf+eeLZOw4koIjZGEAg04iuyNTjhx0e/QHEVcYAqNLhXG
rCTTbCn3NSUO9qxEXC+K/1m1kaXoCGA0UWlVGZ1JSifbbMx0yxq/brpEZPUYm+32
o8XfbocBWljFUJ+6aljTvZ3LQLKTSPW7TFO+GXycAOmCGhlXh2tlc6iTc41PACqy
yy+mHmSv
=kkH7
-----END PGP PUBLIC KEY BLOCK-----
redhat_gpg_key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF
0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF
0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c
u7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh
XGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H
5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW
9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj
/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1
PcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY
HVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF
buhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB
tDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0
LmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK
CRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC
2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf
C/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5
un3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E
0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE
IGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh
8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL
Ght5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki
JUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25
OFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq
dzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw==
=zbHE
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFsy23UBEACUKSphFEIEvNpy68VeW4Dt6qv+mU6am9a2AAl10JANLj1oqWX+
oYk3en1S6cVe2qehSL5DGVa3HMUZkP3dtbD4SgzXzxPodebPcr4+0QNWigkUisri
XGL5SCEcOP30zDhZvg+4mpO2jMi7Kc1DLPzBBkgppcX91wa0L1pQzBcvYMPyV/Dh
KbQHR75WdkP6OA2JXdfC94nxYq+2e0iPqC1hCP3Elh+YnSkOkrawDPmoB1g4+ft/
xsiVGVy/W0ekXmgvYEHt6si6Y8NwXgnTMqxeSXQ9YUgVIbTpsxHQKGy76T5lMlWX
4LCOmEVomBJg1SqF6yi9Vu8TeNThaDqT4/DddYInd0OO69s0kGIXalVgGYiW2HOD
x2q5R1VGCoJxXomz+EbOXY+HpKPOHAjU0DB9MxbU3S248LQ69nIB5uxysy0PSco1
sdZ8sxRNQ9Dw6on0Nowx5m6Thefzs5iK3dnPGBqHTT43DHbnWc2scjQFG+eZhe98
Ell/kb6vpBoY4bG9/wCG9qu7jj9Z+BceCNKeHllbezVLCU/Hswivr7h2dnaEFvPD
O4GqiWiwOF06XaBMVgxA8p2HRw0KtXqOpZk+o+sUvdPjsBw42BB96A1yFX4jgFNA
PyZYnEUdP6OOv9HSjnl7k/iEkvHq/jGYMMojixlvXpGXhnt5jNyc4GSUJQARAQAB
tDNSZWQgSGF0LCBJbmMuIChhdXhpbGlhcnkga2V5KSA8c2VjdXJpdHlAcmVkaGF0
LmNvbT6JAjkEEwECACMFAlsy23UCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIX
gAAKCRD3b2bD1AgnknqOD/9fB2ASuG2aJIiap4kK58R+RmOVM4qgclAnaG57+vjI
nKvyfV3NH/keplGNRxwqHekfPCqvkpABwhdGEXIE8ILqnPewIMr6PZNZWNJynZ9i
eSMzVuCG7jDoGyQ5/6B0f6xeBtTeBDiRl7+Alehet1twuGL1BJUYG0QuLgcEzkaE
/gkuumeVcazLzz7L12D22nMk66GxmgXfqS5zcbqOAuZwaA6VgSEgFdV2X2JU79zS
BQJXv7NKc+nDXFG7M7EHjY3Rma3HXkDbkT8bzh9tJV7Z7TlpT829pStWQyoxKCVq
sEX8WsSapTKA3P9YkYCwLShgZu4HKRFvHMaIasSIZWzLu+RZH/4yyHOhj0QB7XMY
eHQ6fGSbtJ+K6SrpHOOsKQNAJ0hVbSrnA1cr5+2SDfel1RfYt0W9FA6DoH/S5gAR
dzT1u44QVwwp3U+eFpHphFy//uzxNMtCjjdkpzhYYhOCLNkDrlRPb+bcoL/6ePSr
016PA7eEnuC305YU1Ml2WcCn7wQV8x90o33klJmEkWtXh3X39vYtI4nCPIvZn1eP
Vy+F+wWt4vN2b8oOdlzc2paOembbCo2B+Wapv5Y9peBvlbsDSgqtJABfK8KQq/jK
Yl3h5elIa1I3uNfczeHOnf1enLOUOlq630yeM/yHizz99G1g+z/guMh5+x/OHraW
iA==
=+Gxh
-----END PGP PUBLIC KEY BLOCK-----
fstab:
- uuid:
mpp-eval: rootfs_uuid
vfs_type: ext4
path: /
freq: 1
passno: 1
- label: ESP
vfs_type: vfat
path: /boot/efi
freq: 1
passno: 1
- uuid:
mpp-eval: bootfs_uuid
vfs_type: ext4
path: /boot
freq: 1
passno: 1
build_rpms:
- dnf
- dosfstools
- e2fsprogs
- efibootmgr
- grub2-tools
- grub2-tools-minimal
- policycoreutils
- python3-iniparse
- python3
- qemu-img
- rpm-ostree
- selinux-policy-targeted
- skopeo
- systemd
- tar
- xz
boot_rpms:
- dracut-config-generic
- grub2-tools-minimal
- $kernel_rpm
base_rpms:
- $linux_firmware_rpm
- NetworkManager
- audit
- chrony
- e2fsprogs
- efibootmgr
- glibc-langpack-en
- hostname
- passwd
- rng-tools
- rootfiles
- selinux-policy-targeted
- systemd-udev
- sudo
+209
View File
@@ -0,0 +1,209 @@
version: '2'
mpp-vars:
image_rpms:
mpp-join:
- mpp-eval: locals().get('extra_image_rpms', [])
- mpp-eval: boot_rpms
- mpp-eval: locals().get('extra_boot_rpms', [])
- - nss-altfiles
- greenboot
- greenboot-grub2
- greenboot-reboot
- greenboot-status
- greenboot-rpm-ostree-grub2
- polkit # Needed by rpm-ostree upgrade (until fix for https://github.com/coreos/rpm-ostree/issues/3554 is in)
- ostree-grub2
pipelines:
- name: ostree-tree
build: name:build
stages:
mpp-join:
- - type: org.osbuild.copy
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:rootfs
options:
paths:
mpp-join:
- - from: input://tree/
to: tree:///
- type: org.osbuild.systemd
options:
enabled_services:
- greenboot-grub2-set-counter.service
- greenboot-grub2-set-success.service
- greenboot-healthcheck.service
- greenboot-rpm-ostree-grub2-check-fallback.service
- greenboot-status.service
- greenboot-task-runner.service
- mpp-eval: target_stages
- - type: org.osbuild.selinux
options:
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
- type: org.osbuild.ostree.preptree
options:
etc_group_members:
- wheel
- docker
initramfs-args:
- mpp-if: dracut_add_modules
then: "--add"
- mpp-if: dracut_add_modules
then:
mpp-eval: "' '.join(dracut_add_modules)"
- mpp-if: dracut_omit_modules
then: "--omit"
- mpp-if: dracut_omit_modules
then:
mpp-eval: "' '.join(dracut_omit_modules)"
- mpp-if: dracut_filesystems
then: "--filesystems"
- mpp-if: dracut_filesystems
then:
mpp-eval: "' '.join(dracut_filesystems)"
- mpp-if: dracut_add_drivers
then: "--add-drivers"
- mpp-if: dracut_add_drivers
then:
mpp-eval: "' '.join(dracut_add_drivers)"
- mpp-if: dracut_install
then: "--install"
- mpp-if: dracut_install
then:
mpp-eval: "' '.join(dracut_install)"
- name: ostree-commit
build: name:build
stages:
- type: org.osbuild.ostree.init
options:
path: /repo
- type: org.osbuild.ostree.commit
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:ostree-tree
options:
ref:
mpp-eval: ostree_ref
os_version:
mpp-eval: ostree_os_version
parent:
mpp-if: ostree_ref in locals().get("ostree_parent_refs", {})
then:
mpp-eval: ostree_parent_refs[ostree_ref]
- name: image-tree
build: name:build
stages:
- type: org.osbuild.ostree.init-fs
- type: org.osbuild.ostree.pull
options:
repo: /ostree/repo
remote:
mpp-eval: ostree_remote_name
inputs:
commits:
type: org.osbuild.ostree
origin: org.osbuild.pipeline
references:
name:ostree-commit:
ref:
mpp-eval: ostree_ref
- type: org.osbuild.ostree.os-init
options:
osname:
mpp-eval: osname
- type: org.osbuild.ostree.config
options:
repo: /ostree/repo
config:
sysroot:
readonly: true
bootloader: none
- type: org.osbuild.ostree.remotes
options:
repo: /ostree/repo
remotes:
- name:
mpp-eval: ostree_remote_name
url:
mpp-eval: ostree_repo_url
- type: org.osbuild.mkdir
options:
paths:
- path: /boot/efi
mode: 448
- type: org.osbuild.ostree.deploy
options:
osname:
mpp-eval: osname
ref:
mpp-eval: ostree_ref
remote:
mpp-eval: ostree_remote_name
mounts:
- /boot
- /boot/efi
rootfs:
label: root
kernel_opts:
mpp-eval: kernel_opts
- type: org.osbuild.ostree.fillvar
options:
deployment:
osname:
mpp-eval: osname
ref:
mpp-eval: ostree_ref
- type: org.osbuild.users
mounts:
- type: org.osbuild.ostree.deployment
name: ostree.deployment
options:
deployment:
osname:
mpp-eval: osname
ref:
mpp-eval: ostree_ref
options:
users:
root:
password:
mpp-eval: root_password
key:
mpp-eval: root_ssh_key
- type: org.osbuild.fstab
options:
ostree:
deployment:
osname:
mpp-eval: osname
ref:
mpp-eval: ostree_ref
filesystems:
mpp-eval: fstab
- type: org.osbuild.ostree.selinux
options:
deployment:
osname:
mpp-eval: osname
ref:
mpp-eval: ostree_ref
- type: org.osbuild.grub2
options:
rootfs:
label: root
bootfs:
label: boot
uefi:
vendor:
mpp-eval: uefi_vendor
unified: false
install: true
legacy: true
write_defaults: false
greenboot: true
+73
View File
@@ -0,0 +1,73 @@
version: '2'
mpp-vars:
image_rpms:
mpp-join:
- mpp-eval: locals().get('extra_image_rpms', [])
- mpp-eval: boot_rpms
- mpp-eval: locals().get('extra_boot_rpms', [])
- - shim
pipelines:
- name: image-tree
build: name:build
stages:
mpp-join:
- - type: org.osbuild.copy
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:rootfs
options:
paths:
mpp-join:
- - from: input://tree/
to: tree:///
- type: org.osbuild.users
options:
users:
root:
password:
mpp-eval: root_password
key:
mpp-eval: root_ssh_key
- mpp-eval: target_stages
- - type: org.osbuild.dracut
options:
kernel:
- mpp-eval: rpms['rootfs'][kernel_rpm + '-core'].evra
add_modules:
mpp-eval: dracut_add_modules
omit_modules:
mpp-eval: dracut_omit_modules
add_drivers:
mpp-eval: dracut_add_drivers
filesystems:
mpp-eval: dracut_filesystems
install:
mpp-eval: dracut_install
- type: org.osbuild.fstab
options:
filesystems:
mpp-eval: fstab
- type: org.osbuild.grub2
options:
root_fs_uuid:
mpp-eval: rootfs_uuid
boot_fs_uuid:
mpp-eval: bootfs_uuid
kernel_opts:
mpp-eval: ''' '' .join(kernel_opts)'
uefi:
vendor:
mpp-eval: uefi_vendor
unified: false
legacy: true
write_defaults: false
greenboot: true
- type: org.osbuild.fix-bls
options:
prefix: /
- type: org.osbuild.selinux
options:
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
+259
View File
@@ -0,0 +1,259 @@
version: '2'
mpp-vars:
dracut_install:
mpp-join:
- mpp-eval: dracut_install
kernel_opts:
mpp-join:
- - ro
- loglevel=$kernel_loglevel
- mpp-if: use_efi_runtime
then: efi=runtime
- mpp-eval: kernel_opts
pipelines:
# Some variables need to be written to files, do that here
- mpp-import-pipelines:
path: image-$image_type.ipp.yml
- name: image
build: name:build
stages:
- type: org.osbuild.truncate
options:
filename: disk.img
size:
mpp-eval: image.size
- type: org.osbuild.sfdisk
devices:
device:
type: org.osbuild.loopback
options:
filename: disk.img
options:
mpp-format-json: '{image.layout}'
- type: org.osbuild.mkfs.fat
devices:
device:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['efi'].start
size:
mpp-eval: image.layout['efi'].size
options:
label: ESP
volid: 7B7795E7
- type: org.osbuild.mkfs.ext4
devices:
device:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['boot'].start
size:
mpp-eval: image.layout['boot'].size
options:
uuid:
mpp-eval: bootfs_uuid
label: boot
- type: org.osbuild.mkfs.ext4
devices:
device:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['root'].start
size:
mpp-eval: image.layout['root'].size
options:
uuid:
mpp-eval: rootfs_uuid
label: root
- type: org.osbuild.copy
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:image-tree
build-tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:build
options:
paths:
mpp-join:
- - from: input://tree/
to: mount://root/
- mpp-eval: locals().get('extra_image_copy_' + image_type, [])
devices:
efi:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['efi'].start
size:
mpp-eval: image.layout['efi'].size
boot:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['boot'].start
size:
mpp-eval: image.layout['boot'].size
root:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-eval: image.layout['root'].start
size:
mpp-eval: image.layout['root'].size
mounts:
- name: root
type: org.osbuild.ext4
source: root
target: /
- name: boot
type: org.osbuild.ext4
source: boot
target: /boot
- name: efi
type: org.osbuild.fat
source: efi
target: /boot/efi
options:
vg_name: osbuild
creation_host: osbuild
description: "Built with osbuild"
- name: qcow2
build: name:build
stages:
- type: org.osbuild.qemu
inputs:
image:
type: org.osbuild.files
origin: org.osbuild.pipeline
references:
name:image:
file: disk.img
options:
filename: disk.qcow2
format:
type: qcow2
compat: '1.1'
- name: container
build: name:build
stages:
- type: org.osbuild.oci-archive
inputs:
base:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:rootfs
options:
filename: container.tar
architecture: $arch
config:
Cmd:
- "/usr/bin/bash"
# We need a smaller fstab for the non-partitioned case
- name: ext4-fstab
build: name:build
stages:
# We copy /etc to get the right selinux context on the new file
- type: org.osbuild.copy
inputs:
image-tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:image-tree
options:
paths:
- from: input://image-tree/etc
to: tree:///etc
- type: org.osbuild.fstab
options:
filesystems:
- uuid:
mpp-eval: rootfs_uuid
vfs_type: ext4
path: /
- name: ext4
build: name:build
stages:
- type: org.osbuild.truncate
options:
filename: rootfs.ext4
size:
mpp-eval: image.size
- type: org.osbuild.mkfs.ext4
devices:
device:
type: org.osbuild.loopback
options:
filename: rootfs.ext4
start: 0
size:
mpp-format-int: "{int(image.size) // 512}"
options:
uuid:
mpp-eval: rootfs_uuid
label: root
- type: org.osbuild.copy
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:image-tree
fstab:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:ext4-fstab
options:
paths:
mpp-join:
- - from: input://tree/
to: mount://root/
- from: input://fstab/etc/fstab
to: mount://root/etc/fstab
- mpp-eval: locals().get('extra_image_copy_' + image_type, [])
devices:
root:
type: org.osbuild.loopback
options:
filename: rootfs.ext4
start: 0
size:
mpp-format-int: "{int(image.size) // 512}"
mounts:
- name: root
type: org.osbuild.ext4
source: root
target: /
- name: tar
build: name:build
stages:
- type: org.osbuild.tar
inputs:
tree:
type: org.osbuild.tree
origin: org.osbuild.pipeline
references:
- name:rootfs
options:
filename: rootfs.tar
root-node: omit
+2
View File
@@ -0,0 +1,2 @@
version: '2'
pipelines: []