From 8135a73813231a094e9e25b0caac15151217d78f38cdd64e0a59a346dddb6a1e Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 13:02:32 +0200 Subject: [PATCH 1/6] Add release-manifest image --- release-manifest-image/Dockerfile | 23 ++++ release-manifest-image/_service | 13 +++ release-manifest-image/release_manifest.yaml | 104 +++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 release-manifest-image/Dockerfile create mode 100644 release-manifest-image/_service create mode 100644 release-manifest-image/release_manifest.yaml diff --git a/release-manifest-image/Dockerfile b/release-manifest-image/Dockerfile new file mode 100644 index 0000000..806da54 --- /dev/null +++ b/release-manifest-image/Dockerfile @@ -0,0 +1,23 @@ +#!BuildTag: %%IMG_PREFIX%%release-manifest:3.1.1 +ARG SLE_VERSION +FROM registry.suse.com/bci/bci-micro:$SLE_VERSION + +# Define labels according to https://en.opensuse.org/Building_derived_containers +# labelprefix=com.suse.edge.manifest +LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" +LABEL org.opencontainers.image.title="SUSE Edge Release Manifest" +LABEL org.opencontainers.image.description="Release Manifest containing information about a specific SUSE Edge release" +LABEL org.opencontainers.image.version="3.1.1" +LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opencontainers.image.vendor="SUSE LLC" +LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.1.1" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL com.suse.supportlevel="l3" +LABEL com.suse.eula="SUSE Combined EULA February 2024" +LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle" +LABEL com.suse.image-type="release-manifest" +LABEL com.suse.release-stage="released" +# endlabelprefix + +COPY release_manifest.yaml release_manifest.yaml diff --git a/release-manifest-image/_service b/release-manifest-image/_service new file mode 100644 index 0000000..9e377af --- /dev/null +++ b/release-manifest-image/_service @@ -0,0 +1,13 @@ + + + + Dockerfile + IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %img_prefix) + IMG_PREFIX + IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo) + IMG_REPO + release_manifest.yaml + CHART_REPO=$(rpm --macros=/root/.rpmmacros -E %chart_repo) + CHART_REPO + + diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml new file mode 100644 index 0000000..7008de6 --- /dev/null +++ b/release-manifest-image/release_manifest.yaml @@ -0,0 +1,104 @@ +apiVersion: lifecycle.suse.com/v1alpha1 +kind: ReleaseManifest +metadata: + name: release-manifest-3-1-1 +spec: + releaseVersion: 3.1.1 + components: + kubernetes: + k3s: + version: v1.30.5+k3s1 + rke2: + version: v1.30.5+rke2r1 + operatingSystem: + version: "6.0" + zypperID: "SL-Micro" + cpeScheme: "cpe:/o:suse:sl-micro:6.0" + prettyName: "SUSE Linux Micro 6.0" + supportedArchs: + - "x86_64" + - "aarch64" + workloads: + helm: + - prettyName: Rancher + releaseName: rancher + chart: rancher + version: v2.9.3 + repository: https://charts.rancher.com/server-charts/prime + - prettyName: Longhorn + releaseName: longhorn + chart: longhorn + version: 104.2.0+up1.7.1 + repository: https://charts.rancher.io + dependencyCharts: + - releaseName: longhorn-crd + chart: longhorn-crd + version: 104.2.0+up1.7.1 + repository: https://charts.rancher.io + - prettyName: MetalLB + releaseName: metallb + chart: %%CHART_REPO%%/3.1/metallb-chart + version: 0.14.9 + - prettyName: CDI + releaseName: cdi + chart: %%CHART_REPO%%/3.1/cdi-chart + version: 0.4.0 + - prettyName: KubeVirt + releaseName: kubevirt + chart: %%CHART_REPO%%/3.1/kubevirt-chart + version: 0.4.0 + addonCharts: + - releaseName: kubevirt-dashboard-extension + chart: %%CHART_REPO%%/3.1/kubevirt-dashboard-extension-chart + version: 1.1.0 + - prettyName: NeuVector + releaseName: neuvector + chart: neuvector + version: 104.0.2+up2.8.0 + repository: https://charts.rancher.io + dependencyCharts: + - releaseName: neuvector-crd + chart: neuvector-crd + version: 104.0.2+up2.8.0 + repository: https://charts.rancher.io + addonCharts: + - releaseName: neuvector-ui-ext + chart: neuvector-ui-ext + repository: https://github.com/rancher/ui-plugin-charts/raw/main + version: 2.0.0 + - prettyName: EndpointCopierOperator + releaseName: endpoint-copier-operator + chart: %%CHART_REPO%%/3.1/endpoint-copier-operator-chart + version: 0.2.1 + - prettyName: Elemental + releaseName: elemental-operator + chart: oci://registry.suse.com/rancher/elemental-operator-chart + version: 1.6.4 + dependencyCharts: + - releaseName: elemental-operator-crds + chart: oci://registry.suse.com/rancher/elemental-operator-crds-chart + version: 1.6.4 + - prettyName: SRIOV + releaseName: sriov-network-operator + chart: %%CHART_REPO%%/3.1/sriov-network-operator-chart + version: 1.3.0 + dependencyCharts: + - releaseName: sriov-crd + chart: %%CHART_REPO%%/3.1/sriov-crd-chart + version: 1.3.0 + - prettyName: Akri + releaseName: akri + chart: %%CHART_REPO%%/3.1/akri-chart + version: 0.12.20 + addonCharts: + - releaseName: akri-dashboard-extension + chart: %%CHART_REPO%%/3.1/akri-dashboard-extension-chart + version: 1.1.0 + - prettyName: Metal3 + releaseName: metal3 + chart: %%CHART_REPO%%/3.1/metal3-chart + version: 0.8.3 + - prettyName: RancherTurtles + releaseName: rancher-turtles + chart: %%CHART_REPO%%/3.1/rancher-turtles-chart + version: 0.3.3 -- 2.45.2 From e0da681e5db28e113141595ba0032147cf61b32d94bef2c8c9c497c5ff0a4261 Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 14:59:19 +0200 Subject: [PATCH 2/6] Sync workflow --- .obs/workflows.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.obs/workflows.yml b/.obs/workflows.yml index c74ddfa..a490379 100644 --- a/.obs/workflows.yml +++ b/.obs/workflows.yml @@ -214,3 +214,7 @@ staging_build: source_package: kubevirt-chart source_project: isv:SUSE:Edge:Factory target_project: isv:SUSE:Edge:Factory:Staging + - branch_package: + source_package: release-manifest-image + source_project: isv:SUSE:Edge:Factory + target_project: isv:SUSE:Edge:Factory:Staging -- 2.45.2 From 06417518f4db67748dd832c9758714350045067d540c6fba3c7d3aa231dcb975 Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 15:02:19 +0200 Subject: [PATCH 3/6] Use macro for support level --- release-manifest-image/Dockerfile | 2 +- release-manifest-image/_service | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/release-manifest-image/Dockerfile b/release-manifest-image/Dockerfile index 806da54..cc21d3d 100644 --- a/release-manifest-image/Dockerfile +++ b/release-manifest-image/Dockerfile @@ -13,7 +13,7 @@ LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.1.1" LABEL org.openbuildservice.disturl="%DISTURL%" -LABEL com.suse.supportlevel="l3" +LABEL com.suse.supportlevel="%SUPPORT_LEVEL%" LABEL com.suse.eula="SUSE Combined EULA February 2024" LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle" LABEL com.suse.image-type="release-manifest" diff --git a/release-manifest-image/_service b/release-manifest-image/_service index 9e377af..6e138c4 100644 --- a/release-manifest-image/_service +++ b/release-manifest-image/_service @@ -9,5 +9,7 @@ release_manifest.yaml CHART_REPO=$(rpm --macros=/root/.rpmmacros -E %chart_repo) CHART_REPO + SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level) + SUPPORT_LEVEL -- 2.45.2 From 59e3b94744549d82515660ce170a3d848879c70b17c9bf3b345f9dcc559bb155 Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 15:16:45 +0200 Subject: [PATCH 4/6] Replace hardcoded version with image prefix macro --- release-manifest-image/release_manifest.yaml | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml index 7008de6..ce4d839 100644 --- a/release-manifest-image/release_manifest.yaml +++ b/release-manifest-image/release_manifest.yaml @@ -37,19 +37,19 @@ spec: repository: https://charts.rancher.io - prettyName: MetalLB releaseName: metallb - chart: %%CHART_REPO%%/3.1/metallb-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%metallb-chart version: 0.14.9 - prettyName: CDI releaseName: cdi - chart: %%CHART_REPO%%/3.1/cdi-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%cdi-chart version: 0.4.0 - prettyName: KubeVirt releaseName: kubevirt - chart: %%CHART_REPO%%/3.1/kubevirt-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%kubevirt-chart version: 0.4.0 addonCharts: - releaseName: kubevirt-dashboard-extension - chart: %%CHART_REPO%%/3.1/kubevirt-dashboard-extension-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%kubevirt-dashboard-extension-chart version: 1.1.0 - prettyName: NeuVector releaseName: neuvector @@ -68,7 +68,7 @@ spec: version: 2.0.0 - prettyName: EndpointCopierOperator releaseName: endpoint-copier-operator - chart: %%CHART_REPO%%/3.1/endpoint-copier-operator-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%endpoint-copier-operator-chart version: 0.2.1 - prettyName: Elemental releaseName: elemental-operator @@ -80,25 +80,25 @@ spec: version: 1.6.4 - prettyName: SRIOV releaseName: sriov-network-operator - chart: %%CHART_REPO%%/3.1/sriov-network-operator-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%sriov-network-operator-chart version: 1.3.0 dependencyCharts: - releaseName: sriov-crd - chart: %%CHART_REPO%%/3.1/sriov-crd-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%sriov-crd-chart version: 1.3.0 - prettyName: Akri releaseName: akri - chart: %%CHART_REPO%%/3.1/akri-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%akri-chart version: 0.12.20 addonCharts: - releaseName: akri-dashboard-extension - chart: %%CHART_REPO%%/3.1/akri-dashboard-extension-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%akri-dashboard-extension-chart version: 1.1.0 - prettyName: Metal3 releaseName: metal3 - chart: %%CHART_REPO%%/3.1/metal3-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%metal3-chart version: 0.8.3 - prettyName: RancherTurtles releaseName: rancher-turtles - chart: %%CHART_REPO%%/3.1/rancher-turtles-chart + chart: %%CHART_REPO%%/%%IMAGE_PREFIX%%rancher-turtles-chart version: 0.3.3 -- 2.45.2 From b86365d9717b7ac9c6dc12caccaccc1cb7d991fc216103043666b27cfdcb6fc2 Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 15:25:15 +0200 Subject: [PATCH 5/6] Allow optional value for img prefix --- release-manifest-image/_service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-manifest-image/_service b/release-manifest-image/_service index 6e138c4..f0a51fc 100644 --- a/release-manifest-image/_service +++ b/release-manifest-image/_service @@ -2,7 +2,7 @@ Dockerfile - IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %img_prefix) + IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix}) IMG_PREFIX IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo) IMG_REPO -- 2.45.2 From b6a9d5ff159ea8e6eefcf0b5f7cb776e3e5ee2e0af42538c262bdada01b6c57b Mon Sep 17 00:00:00 2001 From: Atanas Dinov Date: Tue, 19 Nov 2024 15:29:46 +0200 Subject: [PATCH 6/6] Fix support level templating --- release-manifest-image/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-manifest-image/Dockerfile b/release-manifest-image/Dockerfile index cc21d3d..cdced5d 100644 --- a/release-manifest-image/Dockerfile +++ b/release-manifest-image/Dockerfile @@ -13,7 +13,7 @@ LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.1.1" LABEL org.openbuildservice.disturl="%DISTURL%" -LABEL com.suse.supportlevel="%SUPPORT_LEVEL%" +LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%" LABEL com.suse.eula="SUSE Combined EULA February 2024" LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle" LABEL com.suse.image-type="release-manifest" -- 2.45.2