-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathelxr-cloud-amd64.yml
More file actions
165 lines (159 loc) · 4.82 KB
/
elxr-cloud-amd64.yml
File metadata and controls
165 lines (159 loc) · 4.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# AI-searchable metadata for template discovery
metadata:
description: "Wind River ELXR 12 cloud image for virtual machine and cloud deployments with enterprise Linux features"
use_cases:
- "cloud deployment"
- "virtual machine"
- "enterprise edge"
- "cloud-init"
- "Wind River cloud"
keywords:
- cloud
- qcow2
- virtual
- vm
- elxr
- enterprise
- wind-river
- cloud-init
# Image metadata describing template identity
image:
# Unique template name used for builds and artifact naming
name: elxr-cloud-amd64
# Semantic version aligned with cloud.yaml manifest
version: "12.12.0"
# Target platform that the image builder should produce
target:
# Provider family
os: wind-river-elxr
# Distribution release within provider family
dist: elxr12
# CPU architecture for artifacts
arch: x86_64
# Artifact format expected from build pipeline
imageType: raw
# Additional package repositories consumed during build
packageRepositories:
# Primary ELXR mirror matching cloud.yaml mirror list
- codename: "aria"
url: "http://mirror.elxr.dev/elxr"
pkey: "http://mirror.elxr.dev/elxr/public.gpg"
# Component suites requested from the mirror
component: "main non-free-firmware contrib"
# Docker repo entry needed for container runtime bits
- codename: "bookworm"
url: "https://download.docker.com/linux/debian"
pkey: "https://download.docker.com/linux/debian/gpg"
component: "stable"
# Disk layout and output artifact definition
disk:
# Human friendly name logged by builders
name: elxr-cloud-raw
artifacts:
# Request conversion to qcow2 with zstd compression like rs workflow
- type: qcow2
compression: zstd
# Raw disk size mirroring cloud.yaml image.raw stage
size: 50GiB
# GPT partition table per installer spec
partitionTableType: gpt
partitions:
# EFI system partition for bootloaders
- id: EFI
name: EFI
type: esp
# GPT type GUID for EFI system partition
typeUUID: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
fsType: vfat
# Builder expects explicit MiB offsets
start: 1MiB
end: 129MiB
mountPoint: /boot/efi
mountOptions: defaults
flags:
- boot
- esp
# Dedicated /boot to host kernels and bootloader assets
- id: BOOT
name: BOOT
type: linux
# GPT GUID for Linux /boot partition
typeUUID: bc13c2ff-59e6-4262-a352-b275fd6f7172
fsType: ext4
start: 129MiB
end: 641MiB
mountPoint: /boot
mountOptions: defaults
flags: []
# Root filesystem filling remainder of disk
- id: ROOT
name: ROOT
type: linux-root-amd64
# Standard Linux root filesystem GUID for x86_64
typeUUID: 4f68bce3-e8cd-4db1-96e7-fbcaf984b709
fsType: ext4
start: 641MiB
end: "0"
mountPoint: /
mountOptions: defaults
flags: []
# Host OS configuration applied within the image
systemConfig:
# Name reused by logging and validation output
name: elxr-cloud-amd64
# High-level description surfaced in manifests
description: AMD64 minimal cloud VM configuration equivalent to rs-build workflow
# Default hostname written via additionalFiles below
hostname: localhost
#adding user as default user login
# TODO: Uncomment users section before building image
#users:
# - name: user
# password: "user"
# groups: ["sudo"]
# Bootloader settings; systemd-boot required by ELXR cloud profiles
bootloader:
bootType: efi
provider: systemd-boot
# Packages aggregated from rs build script and cloud manifest
packages:
# Packages sourced from "manifests/packages-cloud-minimal.yaml" which is
# referenced in cloud.yaml from the elxr-config repo (branch v1.0.x)
- uefi-ext4
- linux-image-amd64
- ca-certificates
- vim
- sudo
- net-tools
- openssh-client
- openssh-server
- procps
- less
- dbus
- policykit-1
- curl
- wget
- systemd-resolved
- cloud-guest-utils
- cloud-init
- qemu-guest-agent
- gpg
- zstd
- netplan.io
# Static file overlays reproducing customize_hooks from cloud.yaml
additionalFiles:
- local: files/etc/hostname
final: /etc/hostname
- local: files/etc/modules-load.d/netfilter.conf
final: /etc/modules-load.d/netfilter.conf
- local: files/etc/sysctl.d/disable_swappiness.conf
final: /etc/sysctl.d/disable_swappiness.conf
- local: files/etc/sysctl.d/enable_forwarding.conf
final: /etc/sysctl.d/enable_forwarding.conf
# Kernel metadata used by builder to set cmdline and module hints
kernel:
version: "6.1"
# Matches installer.bootloader kernel_args from cloud.yaml
cmdline: "console=tty0 console=ttyS0,115200"
# Ensures br_netfilter module is included for networking tweaks
enableExtraModules: br_netfilter