Skip to content
This repository was archived by the owner on Jan 21, 2026. It is now read-only.

Commit ff80eae

Browse files
authored
Merge pull request #184 from kairos-io/kairos-release
2 parents 19d96a5 + 8b243a0 commit ff80eae

File tree

7 files changed

+37
-8
lines changed

7 files changed

+37
-8
lines changed

api/v1alpha2/osartifact_types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ type OSArtifactSpec struct {
4949
CloudConfigRef *SecretKeySelector `json:"cloudConfigRef,omitempty"`
5050
GRUBConfig string `json:"grubConfig,omitempty"`
5151

52-
Bundles []string `json:"bundles,omitempty"`
53-
OSRelease string `json:"osRelease,omitempty"`
52+
Bundles []string `json:"bundles,omitempty"`
53+
OSRelease string `json:"osRelease,omitempty"`
54+
KairosRelease string `json:"kairosRelease,omitempty"`
5455

5556
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
5657
Exporters []batchv1.JobSpec `json:"exporters,omitempty"`

controllers/job.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,29 @@ func osReleaseContainer(containerImage string) corev1.Container {
107107
}
108108
}
109109

110+
func kairosReleaseContainer(containerImage string) corev1.Container {
111+
return corev1.Container{
112+
ImagePullPolicy: corev1.PullAlways,
113+
Name: "kairos-release",
114+
Image: containerImage,
115+
Command: []string{"/bin/bash", "-cxe"},
116+
Args: []string{
117+
"cp -rfv /etc/kairos-release /rootfs/etc/kairos-release",
118+
},
119+
VolumeMounts: []corev1.VolumeMount{
120+
{
121+
Name: "config",
122+
MountPath: "/etc/kairos-release",
123+
SubPath: "kairos-release",
124+
},
125+
{
126+
Name: "rootfs",
127+
MountPath: "/rootfs",
128+
},
129+
},
130+
}
131+
}
132+
110133
func (r *OSArtifactReconciler) newArtifactPVC(artifact *osbuilder.OSArtifact) *corev1.PersistentVolumeClaim {
111134
if artifact.Spec.Volume == nil {
112135
artifact.Spec.Volume = &corev1.PersistentVolumeClaimSpec{
@@ -358,6 +381,9 @@ func (r *OSArtifactReconciler) newBuilderPod(pvcName string, artifact *osbuilder
358381
if artifact.Spec.OSRelease != "" {
359382
podSpec.InitContainers = append(podSpec.InitContainers, osReleaseContainer(r.ToolImage))
360383
}
384+
if artifact.Spec.KairosRelease != "" {
385+
podSpec.InitContainers = append(podSpec.InitContainers, kairosReleaseContainer(r.ToolImage))
386+
}
361387

362388
if artifact.Spec.ISO || artifact.Spec.Netboot {
363389
podSpec.Containers = append(podSpec.Containers, buildIsoContainer)

tools-image/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# https://quay.io/repository/kairos/packages?tab=tags&tag=latest
22
ARG LEAP_VERSION=15.5
33
ARG LUET_VERSION=0.35.5
4-
ARG ENKI_VERSION=0.1.2
4+
ARG ENKI_VERSION=0.2.0
55

66
FROM quay.io/luet/base:$LUET_VERSION AS luet
77
FROM quay.io/kairos/enki:v${ENKI_VERSION} as enki
@@ -86,7 +86,7 @@ RUN mkdir /config
8686
COPY ./config.yaml /config/manifest.yaml
8787
COPY ./entrypoint.sh /entrypoint.sh
8888
COPY ./add-cloud-init.sh /add-cloud-init.sh
89-
COPY ./os-release.tmpl /os-release.tmpl
89+
COPY ./kairos-release.tmpl /kairos-release.tmpl
9090
COPY ./ipxe.tmpl /ipxe.tmpl
9191
COPY ./update-os-release.sh /update-os-release.sh
9292

tools-image/luet-amd64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ repositories:
1313
urls:
1414
- "quay.io/kairos/packages"
1515
# renovate: datasource=docker depName=quay.io/kairos/packages
16-
reference: 202407181636-gitee2bb9c7-repository.yaml
16+
reference: 202410070953-git9232f7ee-repository.yaml

tools-image/luet-arm64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ repositories:
1313
urls:
1414
- "quay.io/kairos/packages-arm64"
1515
# renovate: datasource=docker depName=quay.io/kairos/packages-arm64
16-
reference: 202407181651-gitee2bb9c7-repository.yaml
16+
reference: 202410071128-git9232f7ee-repository.yaml

tools-image/update-os-release.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818
set -ex
1919

20+
[ -f "/workspace/kairos-release" ] && sed -i -n '/KAIROS_/!p' /workspace/kairos-release
21+
# Clean up old os-release just in case so we dont have stuff lying around
2022
sed -i -n '/KAIROS_/!p' /workspace/os-release
21-
envsubst >>/workspace/os-release < /os-release.tmpl
23+
envsubst >>/workspace/kairos-release < /kairos-release.tmpl
2224

23-
cat /workspace/os-release
25+
cat /workspace/kairos-release

0 commit comments

Comments
 (0)