Add coreos.platforms stage

- Process all necessary operations related to CoreOS
platforms is crucial and specific to CoreOS. This step
is essential for CoreOS exclusively.

- Our approach to handling 'platforms.json' may change as we
advance with the OSBuild work. However, we don't have a clear
vision about how it will be in the future yet, particularly as
we also manage similar components within the osbuild composer
to configure cloud parameters. We probably will know better
when we start working with the cloud artifacts.

As a summary, let's add it know to unblock us, and if we find a
better approach in the future, we can always go back and remove it.

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
This commit is contained in:
Renata Ravanelli 2024-02-07 16:43:54 -03:00 committed by Tomáš Hozza
parent ddf4478ea9
commit 0b7dcf3cf4
3 changed files with 255 additions and 74 deletions

View file

@ -1055,29 +1055,43 @@
}
},
{
"type": "org.osbuild.kernel-cmdline.bls-append",
"type": "org.osbuild.coreos.platform",
"options": {
"bootpath": "mount:///",
"kernel_opts": [
"ignition.platform.id=metal"
]
"platform": "metal"
},
"devices": {
"boot": {
"disk": {
"type": "org.osbuild.loopback",
"options": {
"filename": "disk.img",
"start": 264192,
"size": 786432
"partscan": true
}
}
},
"mounts": [
{
"name": "root",
"type": "org.osbuild.xfs",
"source": "disk",
"partition": 4,
"target": "/"
},
{
"name": "ostree.deployment",
"type": "org.osbuild.ostree.deployment",
"options": {
"source": "mount",
"deployment": {
"default": true
}
}
},
{
"name": "boot",
"type": "org.osbuild.ext4",
"source": "boot",
"target": "/"
"source": "disk",
"partition": 3,
"target": "/boot"
}
]
}
@ -1108,30 +1122,44 @@
}
},
{
"type": "org.osbuild.kernel-cmdline.bls-append",
"type": "org.osbuild.coreos.platform",
"options": {
"bootpath": "mount:///",
"kernel_opts": [
"ignition.platform.id=metal"
]
"platform": "metal"
},
"devices": {
"boot": {
"disk": {
"type": "org.osbuild.loopback",
"options": {
"filename": "disk.img",
"start": 33024,
"size": 98304,
"partscan": true,
"sector-size": 4096
}
}
},
"mounts": [
{
"name": "root",
"type": "org.osbuild.xfs",
"source": "disk",
"partition": 4,
"target": "/"
},
{
"name": "ostree.deployment",
"type": "org.osbuild.ostree.deployment",
"options": {
"source": "mount",
"deployment": {
"default": true
}
}
},
{
"name": "boot",
"type": "org.osbuild.ext4",
"source": "boot",
"target": "/"
"source": "disk",
"partition": 3,
"target": "/boot"
}
]
}
@ -1162,31 +1190,43 @@
}
},
{
"type": "org.osbuild.kernel-cmdline.bls-append",
"type": "org.osbuild.coreos.platform",
"options": {
"bootpath": "mount:///",
"kernel_opts": [
"console=tty0",
"console=ttyS0,115200n8",
"ignition.platform.id=qemu"
]
"platform": "qemu"
},
"devices": {
"boot": {
"disk": {
"type": "org.osbuild.loopback",
"options": {
"filename": "disk.img",
"start": 264192,
"size": 786432
"partscan": true
}
}
},
"mounts": [
{
"name": "root",
"type": "org.osbuild.xfs",
"source": "disk",
"partition": 4,
"target": "/"
},
{
"name": "ostree.deployment",
"type": "org.osbuild.ostree.deployment",
"options": {
"source": "mount",
"deployment": {
"default": true
}
}
},
{
"name": "boot",
"type": "org.osbuild.ext4",
"source": "boot",
"target": "/"
"source": "disk",
"partition": 3,
"target": "/boot"
}
]
}

View file

@ -468,25 +468,34 @@ pipelines:
paths:
- from: input://tree/disk.img
to: tree:///disk.img
- type: org.osbuild.kernel-cmdline.bls-append
- type: org.osbuild.coreos.platform
options:
bootpath: mount:///
kernel_opts:
- ignition.platform.id=metal
platform: metal
devices:
boot:
disk:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-format-int: '{image.layout[''boot''].start}'
size:
mpp-format-int: '{image.layout[''boot''].size}'
partscan: true
mounts:
- name: boot
type: org.osbuild.ext4
source: boot
target: /
- name: root
type: org.osbuild.xfs
source: disk
partition:
mpp-format-int: '{image.layout[''root''].partnum}'
target: /
- name: ostree.deployment
type: org.osbuild.ostree.deployment
options:
source: mount
deployment:
default: true
- name: boot
type: org.osbuild.ext4
source: disk
partition:
mpp-format-int: '{image.layout[''boot''].partnum}'
target: /boot
- name: raw-metal4k-image
build: name:build
stages:
@ -501,27 +510,36 @@ pipelines:
paths:
- from: input://tree/disk.img
to: tree:///disk.img
- type: org.osbuild.kernel-cmdline.bls-append
- type: org.osbuild.coreos.platform
options:
bootpath: mount:///
kernel_opts:
- ignition.platform.id=metal
platform: metal
devices:
boot:
disk:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-format-int: '{image4k.layout[''boot''].start}'
size:
mpp-format-int: '{image4k.layout[''boot''].size}'
partscan: true
sector-size:
mpp-format-int: "{four_k_sector_size}"
mpp-format-int: "{four_k_sector_size}"
mounts:
- name: boot
type: org.osbuild.ext4
source: boot
target: /
- name: root
type: org.osbuild.xfs
source: disk
partition:
mpp-format-int: '{image4k.layout[''root''].partnum}'
target: /
- name: ostree.deployment
type: org.osbuild.ostree.deployment
options:
source: mount
deployment:
default: true
- name: boot
type: org.osbuild.ext4
source: disk
partition:
mpp-format-int: '{image4k.layout[''boot''].partnum}'
target: /boot
- name: raw-qemu-image
build: name:build
stages:
@ -536,27 +554,34 @@ pipelines:
paths:
- from: input://tree/disk.img
to: tree:///disk.img
- type: org.osbuild.kernel-cmdline.bls-append
- type: org.osbuild.coreos.platform
options:
bootpath: mount:///
kernel_opts:
- console=tty0
- console=ttyS0,115200n8
- ignition.platform.id=qemu
platform: qemu
devices:
boot:
disk:
type: org.osbuild.loopback
options:
filename: disk.img
start:
mpp-format-int: '{image.layout[''boot''].start}'
size:
mpp-format-int: '{image.layout[''boot''].size}'
partscan: true
mounts:
- name: boot
type: org.osbuild.ext4
source: boot
target: /
- name: root
type: org.osbuild.xfs
source: disk
partition:
mpp-format-int: '{image.layout[''root''].partnum}'
target: /
- name: ostree.deployment
type: org.osbuild.ostree.deployment
options:
source: mount
deployment:
default: true
- name: boot
type: org.osbuild.ext4
source: disk
partition:
mpp-format-int: '{image.layout[''boot''].partnum}'
target: /boot
- name: metal
build: name:build
stages: