1
0
forked from suse-edge/Factory

Compare commits

..

85 Commits

Author SHA256 Message Date
9549266bdc Changes for EIB v1.1.1 (#127)
Co-authored-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-on: suse-edge/Factory#127
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Co-authored-by: dbw7 <danial.bekhit@suse.com>
Co-committed-by: dbw7 <danial.bekhit@suse.com>
2025-05-02 10:43:15 +02:00
c839af5ce7 Merge pull request '[3.2] Fix some issue with dependency projects ordering, make _config only build wanted packages' (#138) from nbelouin/Factory:fix-meta-config-3.2 into 3.2
Reviewed-on: suse-edge/Factory#138
2025-04-30 15:31:30 +02:00
15a0932fc3 Fix some issue with dependency projects ordering, make _config only build wanted packages
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit 6c1db68da8)
2025-04-30 15:28:11 +02:00
0e99df3355 Merge pull request '[3.2] update kiwi-builder to use kiwi version as build macro (#129)' (#134) from dirkmueller/Factory:3.2 into 3.2
Reviewed-on: suse-edge/Factory#134
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-04-28 17:03:04 +02:00
Dirk Müller
e4faea0759 Remove MAINTAINER statement
this is deprecated and already in oci.authors
2025-04-28 11:55:30 +02:00
Dirk Müller
76b5fe17d0 build the kiwi-image in an images_6.0 repository 2025-04-28 11:53:51 +02:00
Dirk Müller
9eba6bc6b4 make version mismatches fatal 2025-04-28 11:46:57 +02:00
Dirk Müller
baf71f063c update README as well
Although this file seems to be unused?
2025-04-28 11:46:43 +02:00
Dirk Müller
c913d6e401 Ensure kiwi versions and build tags actually align 2025-04-28 11:44:39 +02:00
Dirk Müller
2ba58603bb Remove no longer necessary workaround 2025-04-28 11:43:30 +02:00
210428c35d Merge pull request '[3.2] Enable aarch64 build for kiwi-builder-image' (#125) from nbelouin/Factory:backport-kiwi-aarch64 into 3.2
Reviewed-on: suse-edge/Factory#125
2025-04-22 13:37:09 +02:00
1ddffe1b99 Enable aarch64 build for kiwi-builder-image
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit e3f36b74d9)
2025-04-17 16:48:05 +02:00
de188dbf78 Merge pull request '[3.2.1] - bump k3s version' (#123) from dprodanov/Factory:k3s-bump into 3.2
Reviewed-on: suse-edge/Factory#123
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-04-15 13:50:16 +02:00
c18be9138b [3.2.1] - bump k3s version 2025-04-15 11:33:46 +03:00
d35bf98093 Merge pull request '[3.2.1] - bump rke2 to latest version' (#119) from dprodanov/Factory:ingress-fix into 3.2
Reviewed-on: suse-edge/Factory#119
Reviewed-by: Fatih Degirmenci <fdegirmenci@noreply.src.opensuse.org>
2025-04-04 08:52:04 +02:00
2ad24ea18b [3.2.1] - bump rke2 to latest version 2025-04-03 21:07:41 +03:00
36fc92cdab Merge pull request '[3.2.1] - new eib image version' (#118) from dprodanov/Factory:eib-tag-fix into 3.2
Reviewed-on: suse-edge/Factory#118
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-03-26 14:38:55 +01:00
75ed39ad43 [3.2.1] - new eib image version 2025-03-26 15:18:37 +02:00
ce1c54a27d Merge pull request '[3.2.1] - fix metal3 tag' (#117) from dprodanov/Factory:metal3-tag-fix into 3.2
Reviewed-on: suse-edge/Factory#117
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-03-25 13:52:20 +01:00
7fba32e3c7 [3.2.1] - fix metal3 tag 2025-03-25 14:47:31 +02:00
221d73486b Update kubevirt-dashboard-extension-chart to v302.0.0+up1.2.1 2025-03-24 12:11:37 +01:00
cac6dd4b86 [3.2.1] akri-dashboard-extension-chart: Update to v302.0.0+up1.2.1 2025-03-24 12:10:17 +01:00
9e88e00e19 Merge pull request '[3.2.1] - bump metallb version' (#111) from dprodanov/Factory:metallb-0-14-9 into 3.2
Reviewed-on: suse-edge/Factory#111
Reviewed-by: Kristian Zhelyazkov <kzhelyazkov@noreply.src.opensuse.org>
2025-03-21 15:10:16 +01:00
6fdde33f5b [3.2.1] - bump metallb version 2025-03-21 16:07:52 +02:00
3b5b37b76d Merge pull request '[3.2.1] - Bump neuvector version to 2.8.4' (#109) from dprodanov/Factory:neuvector-2-8-4 into 3.2
Reviewed-on: suse-edge/Factory#109
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-03-21 14:48:40 +01:00
a96355f32a Merge pull request '[3.2] Bump MetalLB chart release version' (#108) from kzhelyazkov/Factory:bump-metallb-chart-version into 3.2
Reviewed-on: suse-edge/Factory#108
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2025-03-21 14:38:57 +01:00
82164551ae [3.2.1] - Bump neuvector version to 2.8.4 2025-03-21 15:28:28 +02:00
47e9ef98c1 Bump MetalLB chart release version 2025-03-21 15:10:26 +02:00
1a21c64747 Merge pull request '[3.2] Backport MetalLB chart fix' (#106) from kzhelyazkov/Factory:backport-metallb-image-fix into 3.2
Reviewed-on: suse-edge/Factory#106
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-03-21 08:55:38 +01:00
df206f8fb9 Backport-metallb-image-fix 2025-03-20 16:57:52 +02:00
c6a40c532e Merge pull request 'update 3.2.1 release manifests' (#104) from dprodanov/Factory:3.2.1-release-manifest into 3.2
Reviewed-on: suse-edge/Factory#104
Reviewed-by: Kristian Zhelyazkov <kzhelyazkov@noreply.src.opensuse.org>
2025-03-20 15:31:56 +01:00
92d5b55269 update 3.2.1 release manifests 2025-03-20 16:27:20 +02:00
8fefb7311e Merge pull request 'update 3.2.1 release manifests' (#102) from dprodanov/Factory:3.2.1-release-manifest into 3.2
Reviewed-on: suse-edge/Factory#102
Reviewed-by: Kristian Zhelyazkov <kzhelyazkov@noreply.src.opensuse.org>
2025-03-20 12:32:11 +01:00
efefa20f5a update 3.2.1 release manifests 2025-03-20 12:39:50 +02:00
50d3ae722f Revert "create 3.2.1 release manifest"
This reverts commit 189db31b7f.
2025-03-20 11:43:48 +02:00
189db31b7f create 3.2.1 release manifest 2025-03-20 11:20:53 +02:00
af930ae49c Merge pull request '[3.2] update longhorn version to 1.7.3' (#90) from dprodanov/Factory:backport-3.2-main into 3.2
Reviewed-on: suse-edge/Factory#90
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-03-14 13:08:29 +01:00
625b0da057 update longhorn version to 1.7.3
remove accidental push of .idea
2025-03-14 12:25:54 +02:00
17b108ef3d release-manifest: Update metal3 version
Aligns with latest 0.9.4 version on this branch
2025-03-13 12:04:28 +00:00
d0e1e065a5 metal3-chart: update to 0.9.4
Aligns with https://github.com/suse-edge/charts/pull/192

(cherry picked from commit 6531575f1b)
2025-03-13 12:00:39 +00:00
1d9ae4aa3d metal3-chart: update to 0.9.3
Aligns with https://github.com/suse-edge/charts/pull/189

(cherry picked from commit d59f3540a2)
2025-03-13 11:59:56 +00:00
2553da6659 ironic-image: update to 26.1.2.3
Aligns with https://github.com/suse-edge/charts/pull/189
Also see:
https://build.opensuse.org/package/rdiff/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-image?linkrev=base&rev=11

(cherry picked from commit 43c764e69c)
2025-03-13 11:59:33 +00:00
3d6c9be9ed Merge pull request '[3.2] Backport workflows for prjconf and meta and fixes for tar_scm' (#78) from nbelouin/Factory:backport-workflows into 3.2
Reviewed-on: suse-edge/Factory#78
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-02-25 15:34:57 +01:00
e6561f36ed Add metal3 images to ARM allowlist
We need to ensure these build to enable usage of the metal3 chart on ARM

(cherry picked from commit f61bb1e0e6)

Add ipcalc, crudini and fakeroot for aarch64 build

Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit 98c4be017d)
2025-02-24 16:01:03 +01:00
fa1da01c29 Fix obsinfo tar issues
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit dccf206a98)
(cherry picked from commit 7f93226cd3)
2025-02-24 16:00:50 +01:00
cf3153e074 Sync metadata, revamp PR jobs
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit d6d501ad99)
(cherry picked from commit 4d824b71cc)
(cherry picked from commit 0d3c83fca1)
(cherry picked from commit 5a73d61002)
(cherry picked from commit 34687fb5e9)
(cherry picked from commit 4a99805fde)
(cherry picked from commit 331f08255c)
(cherry picked from commit 3dea69443d)
(cherry picked from commit d97e434fce)
(cherry picked from commit 9e41ee25d9)
(cherry picked from commit 8f20b3433e)
2025-02-24 16:00:18 +01:00
94d4faf0f9 Add project config to git
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit c86d724e92)
(cherry picked from commit c04b2af72b)
(cherry picked from commit 54e0941879)
(cherry picked from commit a510134ed4)
2025-02-24 15:59:45 +01:00
943fe7cda4 metal3-chart: Update to 0.9.2
Align with https://github.com/suse-edge/charts/pull/182

(cherry picked from commit 9d97e8a56d)
2025-02-13 14:26:56 +00:00
10757d70e3 ironic-image: update to 26.1.2.2
Align with:
https://build.opensuse.org/package/rdiff/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-image?linkrev=base&rev=10
https://github.com/suse-edge/charts/pull/182

Fixes a pod restart caused by the runlogwatch.sh script

(cherry picked from commit b912f9d68a)
2025-02-13 14:26:37 +00:00
74a858e8dc ironic-ipa-downloader-image: remove unused _service entry
This is hard-coded to x86_64 so won't work for ARM, aligns with:
https://build.opensuse.org/package/rdiff/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-ipa-downloader-image?linkrev=base&rev=6

(cherry picked from commit 45443d5b5f)
2025-02-13 14:26:22 +00:00
09f0242287 metal3-chart: update to 0.9.1
Align with https://github.com/suse-edge/charts/pull/173 which
added some fixes to enable deployment on aarch64

(cherry picked from commit 5d20bc38e3)
2025-02-13 14:25:51 +00:00
51ea0c0499 ironic-ipa-downloader-image: update to 3.0.1
Update to the latest version from
https://build.opensuse.org/package/show/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-ipa-downloader-image

(cherry picked from commit e085a97d98)
2025-02-13 14:25:37 +00:00
e4363afaf9 Add ironic-ipa-ramdisk/root.tar.bz2 to lfs 2025-02-13 14:25:21 +00:00
4b20cf74d9 ironic-ipa-ramdisk: update to 3.0.1
Update to the latest version from
https://build.opensuse.org/package/show/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-ipa-ramdisk

(cherry picked from commit 58c8be887a)
2025-02-13 14:24:34 +00:00
2b4c6c3cce ironic-image: update to 26.1.2.1
Align with latest 26.1.2.1 version from
https://build.opensuse.org/package/show/isv:SUSE:Edge:Metal3:Ironic:2024.2/ironic-image

(cherry picked from commit 0d59ad920e)
2025-02-13 14:24:12 +00:00
a223185628 Merge pull request 'Import missing package: frr-k8s-image' (#68) from nbelouin/Factory:import-frr-k8s-image-3.2 into 3.2
Reviewed-on: suse-edge/Factory#68
Reviewed-by: Atanas Dinov <atanasdinov@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2025-01-17 10:18:39 +01:00
79dff5fce2 Add package to workflow
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
2025-01-17 10:18:03 +01:00
f7a87ceaf0 Import missing package: frr-k8s-image
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
(cherry picked from commit 5490ffcde2)
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
2025-01-17 10:16:00 +01:00
71e3e0b40a Merge pull request '[3.2] Add an additional tag without the _up suffix to please Rancher for dashboard extensions' (#66) from nbelouin/Factory:add-no-up-tag-extensions-3.2 into 3.2
Reviewed-on: suse-edge/Factory#66
Reviewed-by: Atanas Dinov <atanasdinov@noreply.src.opensuse.org>
2025-01-16 15:54:54 +01:00
4da1ed42d2 Add an additional tag without the _up suffix to please Rancher for dashboard extensions
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
2025-01-16 15:47:55 +01:00
2ba0efdb93 Merge pull request '[3.2] Use manifest_repo var to allow for release manifest in separate repo' (#64) from nbelouin/Factory:backport-manifest-repo into 3.2
Reviewed-on: suse-edge/Factory#64
Reviewed-by: Ivo Petrov <ipetrov117@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2025-01-10 15:15:31 +01:00
f0ec2699b4 Use manifest_repo var to allow for release manifest in separate repo
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>

(cherry picked from commit 2a993e342e)
2024-12-23 14:15:00 +01:00
1390d88af7 IPA ramdisk git LFS fix
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
2024-12-23 11:38:00 +01:00
9dfaedadf9 release-manifest: Update to Rancher prime 2.10.1
2.10.1 was released so update to the prime version

(cherry picked from commit cab6fe1bcb)
2024-12-20 09:40:33 +00:00
81c1b981c2 Backport Release Manifest changes (#61)
Backports [#60](suse-edge/Factory#60) to 3.2.

Reviewed-on: suse-edge/Factory#61
Reviewed-by: Atanas Dinov <atanasdinov@noreply.src.opensuse.org>
Co-authored-by: Ivo Petrov <ivo.petrov@suse.com>
Co-committed-by: Ivo Petrov <ivo.petrov@suse.com>
2024-12-19 12:54:57 +01:00
b71760b245 Backport K8s 1.31.3 release manifest version bump (#59)
Backports [#58](suse-edge/Factory#58).

Reviewed-on: suse-edge/Factory#59
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Reviewed-by: Atanas Dinov <atanasdinov@noreply.src.opensuse.org>
Co-authored-by: Ivo Petrov <ivo.petrov@suse.com>
Co-committed-by: Ivo Petrov <ivo.petrov@suse.com>
2024-12-17 09:39:02 +01:00
f5e4126dad Backport elemental dashboard release manifest change to 3.2 (#56)
Backport: Add missing Elemental dashboard chart ([#55](suse-edge/Factory#55))
Reviewed-on: suse-edge/Factory#56
Reviewed-by: Atanas Dinov <atanasdinov@noreply.src.opensuse.org>
Co-authored-by: Ivo Petrov <ivo.petrov@suse.com>
Co-committed-by: Ivo Petrov <ivo.petrov@suse.com>
2024-12-12 11:37:53 +01:00
26e34cc386 [3.2] Bump Upgrade Controller and Release Manifest (#54)
Co-authored-by: Ivo Petrov <ivo.petrov@suse.com>
Reviewed-on: suse-edge/Factory#54
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-12-12 09:39:30 +01:00
af59834eaf Merge pull request '[3.2] Update kubevirt-dashboard-extension-chart to v1.2.1' (#50) from jtomasek/Factory:kubevirt-extension-3.2-bkprt into 3.2
Reviewed-on: suse-edge/Factory#50
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-12-06 11:03:10 +01:00
5ff222b69b Merge pull request '[3.2] Update akri-dashboard-extension-chart to v1.2.1' (#51) from jtomasek/Factory:akri-extension-3.2-bkprt into 3.2
Reviewed-on: suse-edge/Factory#51
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-12-06 11:03:01 +01:00
14b56eabbe Merge pull request '[3.2] Backport rancher-turtles updates' (#47) from steven.hardy/Factory:turtles_3.2 into 3.2
Reviewed-on: suse-edge/Factory#47
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-12-06 10:57:08 +01:00
d91b28fb5b Update akri-dashboard-extension-chart to v1.2.1
(cherry picked from commit 87c7e1be88)
2024-12-06 09:54:10 +01:00
4aa46388cf Update kubevirt-dashboard-extension-chart to v1.2.1
(cherry picked from commit 568d5d1590)
2024-12-06 09:52:36 +01:00
dfa68ba86e release-manifest: Update rancher-turtles chart
Fix the rancher-turtles-chart version to align with #44

(cherry picked from commit fbd596290a)
2024-12-05 17:46:29 +00:00
075e2a209c Remove CAPM3/IPAM images
These are now provided by the rancher registry since #44

Conflicts:
	.obs/workflows.yml

(cherry picked from commit ec6c4745ea)
2024-12-05 17:45:54 +00:00
2928b2076e rancher-turtles-airgap-resources-chart: Update to 0.14.1 upstream release
Aligns with https://github.com/suse-edge/charts/pull/174 which
rebases to 0.14.1, which is marked as compatible with Rancher 2.10

(cherry picked from commit 856ec2ac8e)
2024-12-05 17:43:56 +00:00
39338dd6ac rancher-turtles-chart: Update to 0.14.1 upstream release
Aligns with https://github.com/suse-edge/charts/pull/174 which
rebases to 0.14.1, which is marked as compatible with Rancher 2.10

(cherry picked from commit 7721c66ab0)
2024-12-05 17:43:43 +00:00
dfc8bb30d9 Merge pull request 'backport into 3.2 fixed versions in eib artifacts' (#43) from dprodanov/Factory:eib-3.2 into 3.2
Reviewed-on: suse-edge/Factory#43
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2024-12-04 16:16:35 +01:00
33f56e8b23 fixed versions in eib artifacts 2024-12-04 17:12:03 +02:00
744d04b40a kiwi-builder-image: Align with OBS latest version
Aligns with the latest fixes in isv:SUSE:Edge:KiwiBuilder/kiwi-builder-10

(cherry picked from commit 8a93aae7c5)
2024-12-04 12:25:44 +00:00
5e098df843 Merge pull request 'updated longhorn and neuvector to latest 105 charts' (#39) from dprodanov/Factory:upstream-3.2 into 3.2
Reviewed-on: suse-edge/Factory#39
Reviewed-by: Ivo Petrov <ipetrov117@noreply.src.opensuse.org>
2024-11-28 16:23:41 +01:00
7555048917 updated longhorn and neuvector to latest 105 charts 2024-11-28 17:16:25 +02:00
e92a50d110 Merge pull request '[3.2 backport] rancher-turtles: Fix issue in 0.4.0 chart' (#37) from steven.hardy/Factory:turtles_fix_3.2 into 3.2
Reviewed-on: suse-edge/Factory#37
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-11-27 14:08:45 +01:00
da2ad77951 rancher-turtles: Fix issue in 0.4.0 chart
The previous import was based on a pre-merge copy of the following PR
- an issue was discovered during SV validation which required an
additional change to ensure CRDs are created before creating the
ClusterctlConfig CR

https://github.com/suse-edge/charts/pull/166
(cherry picked from commit 636493adba)
2024-11-27 11:16:59 +00:00
be4fae4b18 3.2 branching 2024-11-25 15:59:33 +02:00
57 changed files with 624 additions and 482 deletions

View File

@@ -0,0 +1,62 @@
name: Build PR in OBS
on:
pull_request_target:
types:
- opened
- reopened
- synchronize
- closed
branches-ignore:
- "devel"
concurrency:
group: ${{ gitea.workflow }}-${{ gitea.ref }}
cancel-in-progress: true
jobs:
sync-pr-project:
name: "Build PR in OBS"
runs-on: tumbleweed
steps:
- name: Setup OSC
run: |
zypper in -y python3-jinja2
mkdir -p ~/.config/osc
cat >~/.config/osc/oscrc <<'EOF'
[general]
apiurl = https://api.opensuse.org
[https://api.opensuse.org]
user=${{ vars.OBS_USERNAME }}
pass=${{ secrets.OBS_PASSWORD }}
EOF
# Waiting on PR to get merged for support in upstream action/checkout action
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
name: Checkout repository
with:
object-format: 'sha256'
- name: "[if PR is closed] Delete project in OBS"
run: |
if [ "${{ gitea.event.action }}" = "closed" ]; then
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
osc rdelete -f -r -m "PR closed" "${PROJECT}:Staging:PR-${{ gitea.event.number }}"
fi
- name: "Setup PR project in OBS"
env:
SCM_URL: ${{ gitea.event.pull_request.head.repo.clone_url }}#${{ gitea.head_ref }}
run: |
if [ "${{ gitea.event.action }}" != "closed" ]; then
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
python3 .obs/render_meta.py --pr ${{ gitea.event.number }} --scm-url "${SCM_URL}" | osc meta prj "${PROJECT}:Staging:PR-${{ gitea.event.number }}" -F -
echo "Project created ${PROJECT}:Staging:PR-${{ gitea.event.number }}"
echo "Follow build at: https://build.opensuse.org/project/monitor/${PROJECT}:Staging:PR-${{ gitea.event.number }}"
fi
- env:
GIT_SHA: ${{ gitea.event.pull_request.head.sha }}
name: "Wait for OBS to build the project"
run: |
if [ "${{ gitea.event.action }}" != "closed" ]; then
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
export OBS_PROJECT="${PROJECT}:Staging:PR-${{ gitea.event.number }}"
python3 .obs/wait_obs.py
fi

View File

@@ -1,20 +1,21 @@
name: Synchronize Project Config
on:
push:
branches:
- "main"
- "3.*"
branches-ignore:
- "devel"
paths:
- "_config"
- ".gitea/workflows/sync_config.yaml"
jobs:
sync-prjconf:
name: "Update prjconf in OBS"
runs-on: tumbleweed
steps:
- run: |
- name: Setup OSC
run: |
mkdir -p ~/.config/osc
cat >~/.config/osc/oscrc <<EOF
cat >~/.config/osc/oscrc <<'EOF'
[general]
apiurl = https://api.opensuse.org
@@ -24,10 +25,11 @@ jobs:
EOF
# Waiting on PR to get merged for support in upstream action/checkout action
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
name: Checkout repository
with:
object-format: 'sha256'
- run: |
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
if [ "$(osc meta prjconf "${PROJECT}" | sha256sum)" = "$(cat _config | sha256sum)" ] ; then
if [ "$(osc meta prjconf "${PROJECT}" | sha256sum)" != "$(cat _config | sha256sum)" ] ; then
osc meta prjconf "${PROJECT}" -F _config
fi

View File

@@ -0,0 +1,45 @@
name: Synchronize Project Metadata
on:
push:
branches-ignore:
- "devel"
paths:
- "*" # Will trigger on new directories and changes to files in root of repository
- ".gitea/workflows/sync_meta.yaml"
- ".obs/common.py"
jobs:
sync-prj-meta:
runs-on: tumbleweed
steps:
- name: Setup OSC
run: |
zypper in -y python3-jinja2
mkdir -p ~/.config/osc
cat >~/.config/osc/oscrc <<'EOF'
[general]
apiurl = https://api.opensuse.org
[https://api.opensuse.org]
user=${{ vars.OBS_USERNAME }}
pass=${{ secrets.OBS_PASSWORD }}
EOF
# Waiting on PR to get merged for support in upstream action/checkout action
- uses: 'https://github.com/yangskyboxlabs/action-checkout@sha256'
name: Checkout repository
with:
object-format: 'sha256'
- name: "Update or create OBS Project"
run: |
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
set -o pipefail
if meta="$(osc meta prj "${PROJECT}" 2>/dev/null | sha256sum)"; then
new_meta="$(python3 .obs/render_meta.py)"
if [ "${meta}" != "$(echo "${new_meta}" | sha256sum)" ]; then
echo "${new_meta}" | osc meta prj "${PROJECT}" -F -
fi
python3 .obs/sync_packages.py
else
# Create the projects
bash .obs/create_projects.sh
fi

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env python3
import yaml
import subprocess
import argparse
import os
@@ -7,30 +6,6 @@ import os.path
from common import PROJECT, REPOSITORY, BRANCH
def add_package_to_workflow(name: str):
modified = False
with open(".obs/workflows.yml", "r") as wf_file:
workflows = yaml.safe_load(wf_file)
if not any(
x
for x in workflows["staging_build"]["steps"]
if x["branch_package"]["source_package"] == name
):
workflows["staging_build"]["steps"].append(
{
"branch_package": {
"source_project": PROJECT,
"target_project": f"{PROJECT}:Staging",
"source_package": name,
}
}
)
modified = True
if modified:
with open(".obs/workflows.yml", "w") as wf_file:
yaml.dump(workflows, wf_file)
def add_package_to_project(name: str):
package_meta = f"""<package name="{name}" project="{PROJECT}">
<title/>
@@ -53,7 +28,6 @@ def add_package(package_name: str):
os.exit(1)
add_package_to_project(package_name)
add_package_to_workflow(package_name)
def main():
@@ -65,7 +39,7 @@ def main():
add_package(args.package)
print("Package created in OBS, you can now push the modified workflow file")
print("Package created in OBS !")
if __name__ == '__main__':

View File

@@ -1,3 +1,3 @@
PROJECT = "isv:SUSE:Edge:Factory"
PROJECT = "isv:SUSE:Edge:3.2"
REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
BRANCH = "main"
BRANCH = "3.2"

37
.obs/create_projects.sh Normal file
View File

@@ -0,0 +1,37 @@
#!/bin/bash
show_help() {
echo "Usage: $(basename $0) [--internal]"
echo "options:"
echo "-h, --help display this help and exit"
echo "-i, --internal create project as internal"
exit 0
}
while [[ "$#" -gt 0 ]]; do
case $1 in
-h|--help) show_help;;
-i|--internal) internal="--internal" ;;
*) echo "Unknown parameter passed: $1";show_help ;;
esac
shift
done
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
EXTRA_OSC_ARGS=""
if [ -n "$internal" ]; then
PROJECT="ISV${PROJECT:3}"
EXTRA_OSC_ARGS="-A https://api.suse.de"
python3 .obs/render_meta.py ${internal} Snapshot | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}:Snapshot" -F -
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}:Snapshot" -F _config
fi
python3 .obs/render_meta.py ${internal} ToTest | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}:ToTest" -F -
python3 .obs/render_meta.py ${internal} | osc ${EXTRA_OSC_ARGS} meta prj "${PROJECT}" -F -
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}:ToTest" -F _config
osc ${EXTRA_OSC_ARGS} meta prjconf "${PROJECT}" -F _config
if [ -z "$internal" ]; then
python3 .obs/sync_packages.py
fi

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env python3
import yaml
import subprocess
import argparse
import os
@@ -8,18 +7,6 @@ import os.path
from common import PROJECT
def delete_package_from_workflow(name: str):
with open(".obs/workflows.yml", "r") as wf_file:
workflows = yaml.safe_load(wf_file)
workflows["staging_build"]["steps"] = [
x
for x in workflows["staging_build"]["steps"]
if x["branch_package"]["source_package"] != name
]
with open(".obs/workflows.yml", "w") as wf_file:
yaml.dump(workflows, wf_file)
def delete_package_from_project(name: str):
p = subprocess.run(["osc", "rdelete", PROJECT, name, "-m \"Deleted via delete_package.py\"" ], stdout=subprocess.PIPE)
print(p.stdout)
@@ -33,7 +20,6 @@ def delete_package(package_name: str):
os.exit(1)
delete_package_from_project(package_name)
delete_package_from_workflow(package_name)
def main():

62
.obs/render_meta.py Normal file
View File

@@ -0,0 +1,62 @@
import argparse
from jinja2 import Template
from common import PROJECT
def render(base_project, subproject, internal, scm_url=None):
version = base_project.rsplit(':', 1)[-1]
context = {
"base_project": subproject == "",
"title": f"SUSE Edge {version} {subproject}".rstrip(),
}
if subproject == "ToTest":
context["project"] = f"{base_project}:ToTest"
context["description"] = (
f"This project doesn't build, it stores a snapshot of SUSE Edge {version} "
"project currently going through the automated test layer"
)
if "Factory" in base_project or internal:
context["release_project"] = f"{base_project}:Snapshot"
elif subproject == "Snapshot":
context["project"] = f"{base_project}:Snapshot"
context["release_project"] = f"{base_project.rsplit(':', 1)[0]}:Containers"
context["for_release"] = True
context["description"] = (
f"This project doesn't build, it stores a snapshot of SUSE Edge {version} "
"project that passed automated test layer"
)
elif subproject == "":
context["project"] = base_project
context["release_project"] = f"{base_project}:ToTest"
else: # PR case direct python call
context["base_project"] = True
context["project"] = f"{base_project}:{subproject}"
if scm_url is not None:
context["scm_url"] = scm_url
with open("_meta") as meta:
template = Template(meta.read())
return template.render(context)
def main():
parser = argparse.ArgumentParser(
prog='ProgramName',
description='What the program does',
epilog='Text at the bottom of help')
parser.add_argument("subproject", default="", choices=["", "ToTest", "Snapshot"], nargs="?")
parser.add_argument("--internal", action="store_true")
parser.add_argument("--pr")
parser.add_argument("--scm-url")
args = parser.parse_args()
base_project = PROJECT.replace("isv", "ISV", 1) if args.internal else PROJECT
print(render(
base_project=base_project,
subproject=args.subproject if args.pr is None else f"Staging:PR-{args.pr}",
internal=args.internal,
scm_url=args.scm_url,
))
if __name__ == "__main__":
main()

View File

@@ -9,7 +9,7 @@ from common import PROJECT
def get_obs_packages() -> Set[str]:
packages = subprocess.run(["osc", "ls", PROJECT], encoding='utf-8' , capture_output=True)
return set(packages.stdout.splitlines())
return { p for p in packages.stdout.splitlines() if ":" not in p }
def get_local_packages() -> Set[str]:
p = pathlib.Path('.')

83
.obs/wait_obs.py Normal file
View File

@@ -0,0 +1,83 @@
import xml.etree.ElementTree as ET
import subprocess
import time
import os
import sys
from collections import Counter
def get_buildstatus(project: str) -> ET.Element:
for _ in range(5):
try:
output = subprocess.check_output(["osc", "pr", "--xml", project])
return ET.fromstring(output)
except subprocess.CalledProcessError:
continue
print("Failed to get buildstatus from OBS")
def do_wait(project:str, commit:str) -> ET.Element:
last_state = None
while True:
time.sleep(5)
status = get_buildstatus(project)
if last_state == status.get("state"):
continue
else:
last_state = status.get("state")
scminfo = { e.text for e in status.findall(".//scminfo") }
if len(scminfo) != 1 or scminfo.pop() != commit:
print("Waiting for OBS to sync with SCM")
continue
if not all([ e.get('state') == "published" and e.get('dirty') is None for e in status.findall("./result")]):
print("Waiting for OBS to finish building")
continue
return status
def print_results(status: ET.Element) -> bool:
results = {}
failed = []
for e in status.findall("./result"):
repo = results.get(e.get("repository"), {})
repo[e.get("arch")] = e
results[e.get("repository")] = repo
for repo in results.keys():
print(f"{repo}:")
depth=1
for arch in results[repo].keys():
counts = Counter()
if repo != "charts":
print(f"\t{arch}:")
depth=2
for package in results[repo][arch].findall("./status"):
if package.get("code") in ["excluded", "disabled"]:
continue
if package.get("code") in ["failed", "unresolvable", "broken"]:
details = package.findtext("details")
if details:
failed.append(f"{package.get('package')} ({arch}): {details}")
else:
failed.append(f"{package.get('package')} ({arch})")
counts[package.get("code")] += 1
for (code, count) in counts.items():
print("\t"*depth, f"{code}: {count}")
failed.sort()
if failed:
print("\nPackages failing: ")
for fail in failed:
print("\t", fail)
return len(failed)
def main():
project = os.environ.get("OBS_PROJECT")
sha = os.environ.get("GIT_SHA")
print(f"Waiting for OBS to build {project} for commit {sha}")
status = do_wait(project, sha)
sys.exit(print_results(status))
if __name__ == "__main__":
main()

View File

@@ -1,216 +0,0 @@
staging_build:
filters:
event: pull_request
steps:
- branch_package:
source_package: endpoint-copier-operator
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: endpoint-copier-operator-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: endpoint-copier-operator-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-agent-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-controller-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-dashboard-extension-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-debug-echo-discovery-handler-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-onvif-discovery-handler-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-opcua-discovery-handler-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-udev-discovery-handler-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: akri-webhook-configuration-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: obs-service-set_version
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cosign
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: frr-k8s
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kubectl
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: upgrade-controller
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: nm-configurator
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kube-rbac-proxy
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: edge-image-builder
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: metallb
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: hauler
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: baremetal-operator
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cdi-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: metallb-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: sriov-crd-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: upgrade-controller-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: edge-image-builder-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: ironic-ipa-downloader-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: upgrade-controller-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: metal3-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: baremetal-operator-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: sriov-network-operator-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: metallb-controller-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: metallb-speaker-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: ironic-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cri-tools
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: crudini
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: fakeroot
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: ipcalc
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: autoconf
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: rancher-turtles-airgap-resources-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: rancher-turtles-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kube-rbac-proxy-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: ironic-ipa-ramdisk
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kubevirt-dashboard-extension-chart
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kiwi-builder-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
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
- branch_package:
source_package: frr-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: kubectl-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: frr-k8s-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging

View File

@@ -5,15 +5,6 @@ Contains the definition of the packages built on OBS for the SUSE Edge Solution
This repository is linked to an OBS project: <https://build.opensuse.org/project/show/isv:SUSE:Edge:Factory>
Every directory in this repository represents a package in that OBS project, those should be synced automatically from this repository.
## Adding a package
To add a package, first create a directory with your package as you intend it in OBS.
Then run the `.obs/add_package.py` script to create the package in the OBS project and add the required elements to the synchronization workflow.
This script is using the `osc` command behind the scenes, so ensure you have it installed and correctly configured, as well as you have the correct permissions to create a new package in the project.
You will then get asked to push your changes.
## Testing a fork or a development branch
You can create a project in your home space in OBS, use the same prjconf as the one of "isv:SUSE:Edge:Factory", and copy the repositories part of the metadata (adjust self references).
@@ -23,16 +14,14 @@ Then add a scmsync stanza to your metadata like this (adjust repository path and
<scmsync>https://src.opensuse.org/suse-edge/Factory#main</scmsync>
```
This is done automatically for any PR filed against this repository.
## Cutting a release version branch
1. Do the appropriate git branch command
2. Change the project path in `.obs/common.py` file (e.g. from `isv:SUSE:Edge:Factory` to `isv:SUSE:Edge:3.2`)
3. Change the branch reference in `.obs/common.py` file (e.g. from `main` to `3.2`)
4. Edit the `.obs/workflows.yml` file to change the references to the correct projects
5. Commit those changes to the new branch and push the new branch
6. Create the base and to-test projects (e.g. `isv:SUSE:Edge:3.2` and `isv:SUSE:Edge:3.2:ToTest`), use the `isv:SUSE:Edge:Factory` projects as example for metadata part
7. Use the prjconf of Factory in all those projects
8. Run the `.obs/sync_packages.py` script to create all the packages in the base project
9. Go take a few cups of coffee/tea/mate/... while waiting for OBS to build everything
10. Once built do an `osc release` of the project for it to be copied over in the `ToTest` section
11. Hand over to QA to test whatever is in `ToTest`. (You can continue to work on the base branch if needed meanwhile)

56
_config
View File

@@ -54,35 +54,39 @@ BuildFlags: onlybuild:release-manifest-image
# Exclude the images selected by the following section
# as the standard repository is a dependency
%ifarch aarch64
BuildFlags: excludebuild:baremetal-operator-image
BuildFlags: excludebuild:endpoint-copier-operator-image
BuildFlags: excludebuild:ironic-image
BuildFlags: excludebuild:ironic-ipa-downloader-image
BuildFlags: excludebuild:kube-rbac-proxy-image
BuildFlags: excludebuild:metallb-controller-image
BuildFlags: excludebuild:metallb-speaker-image
BuildFlags: excludebuild:baremetal-operator-image
BuildFlags: excludebuild:ironic-ipa-downloader-image
BuildFlags: excludebuild:ironic-image
BuildFlags: excludebuild:kube-rbac-proxy-image
%endif
%else
# Only a subset of stack is arm64 ready
%ifarch aarch64
BuildFlags: onlybuild:autoconf
BuildFlags: onlybuild:baremetal-operator
BuildFlags: onlybuild:baremetal-operator-image
BuildFlags: onlybuild:ca-certificates-suse
BuildFlags: onlybuild:cosign
BuildFlags: onlybuild:crudini
BuildFlags: onlybuild:edge-image-builder
BuildFlags: onlybuild:edge-image-builder-image
BuildFlags: onlybuild:endpoint-copier-operator
BuildFlags: onlybuild:endpoint-copier-operator-image
BuildFlags: onlybuild:fakeroot
BuildFlags: onlybuild:hauler
BuildFlags: onlybuild:ipcalc
BuildFlags: onlybuild:ironic-image
BuildFlags: onlybuild:ironic-ipa-downloader-image
BuildFlags: onlybuild:ironic-ipa-ramdisk
BuildFlags: onlybuild:kube-rbac-proxy
BuildFlags: onlybuild:kube-rbac-proxy-image
BuildFlags: onlybuild:metallb
BuildFlags: onlybuild:metallb-controller-image
BuildFlags: onlybuild:metallb-speaker-image
BuildFlags: onlybuild:nm-configurator
BuildFlags: onlybuild:baremetal-operator
BuildFlags: onlybuild:baremetal-operator-image
BuildFlags: onlybuild:ironic-ipa-ramdisk
BuildFlags: onlybuild:ironic-ipa-downloader-image
BuildFlags: onlybuild:ironic-image
BuildFlags: onlybuild:kube-rbac-proxy
BuildFlags: onlybuild:kube-rbac-proxy-image
%endif
%endif
@@ -99,6 +103,36 @@ BuildFlags: onlybuild:release-manifest-image
PublishFlags: archsync
%endif
%if "%_repository" == "images_6.0"
Prefer: container:sles15-image
Type: docker
BuildEngine: podman
Repotype: none
Patterntype: none
BuildFlags: dockerarg:SLE_VERSION=16.0
BuildFlags: onlybuild:kiwi-builder-image
# Publish multi-arch container images only once all archs have been built
PublishFlags: archsync
# Exclude the images selected by the aarch64 section
%ifarch aarch64
BuildFlags: excludebuild:baremetal-operator-image
BuildFlags: excludebuild:edge-image-builder-image
BuildFlags: excludebuild:endpoint-copier-operator-image
BuildFlags: excludebuild:ironic-image
BuildFlags: excludebuild:ironic-ipa-downloader-image
BuildFlags: excludebuild:kube-rbac-proxy-image
BuildFlags: excludebuild:metallb-controller-image
BuildFlags: excludebuild:metallb-speaker-image
%endif
%else
BuildFlags: excludebuild:kiwi-builder-image
%endif
%if "%_repository" == "charts" || "%_repository" == "phantomcharts" || "%_repository" == "releasecharts"
Type: helm
Repotype: helm

74
_meta Normal file
View File

@@ -0,0 +1,74 @@
{#-
This template is rendered by the render_meta.py script
it is not automatically enforced by OBS
-#}
{%- set maintainers = [
"edge-engineering",
] -%}
<project name="{{ project }}">
<title>{{ title }}</title>
{%- if description is defined %}
<description>{{ description }}</description>
{%- else %}
<description/>
{%- endif %}
{%- if scm_url is defined %}
<scmsync>{{ scm_url }}</scmsync>
{%- endif %}
{%- for maintainer in maintainers %}
<person userid="{{ maintainer }}" role="maintainer"/>
{%- endfor %}
{%- if not base_project %}
<build>
<disable/>
<enable repository="charts"/>
<enable repository="test_manifest_images"/>
</build>
<publish>
<disable repository="phantomcharts"/>
</publish>
<repository name="phantomcharts">
<arch>x86_64</arch>
</repository>
{%- endif %}
{%- for repository in ["images", "images_6.0", "test_manifest_images"] %}
<repository name="{{ repository }}">
{%- if release_project is defined and repository != "test_manifest_images" %}
<releasetarget project="{{ release_project }}" repository="images" trigger="manual"/>
{%- endif %}
<path project="SUSE:Registry" repository="standard"/>
{%- if repository == "images_6.0" %}
<path project="SUSE:CA" repository="16.0"/>
<path project="SUSE:ALP:Products:Marble:6.0" repository="standard"/>
{%- else %}
<path project="SUSE:CA" repository="SLE_15_SP6"/>
<path project="{{ project }}" repository="standard"/>
{%- endif %}
<arch>x86_64</arch>
<arch>aarch64</arch>
</repository>
{%- endfor %}
<repository name="standard" block="local">
{%- if release_project is defined and not for_release %}
<releasetarget project="{{ release_project }}" repository="standard" trigger="manual"/>
{%- endif %}
<path project="Cloud:OpenStack:2024.2" repository="15.6"/>
<path project="SUSE:SLE-15-SP6:Update" repository="standard"/>
<arch>x86_64</arch>
<arch>aarch64</arch>
</repository>
<repository name="charts"{{ ' rebuild="local"' if not base_project }}>
{%- if release_project is defined and not for_release %}
<releasetarget project="{{ release_project }}" repository="phantomcharts" trigger="manual"/>
{%- endif %}
<path project="{{ project }}" repository="standard"/>
<arch>x86_64</arch>
</repository>
{%- if for_release %}
<repository name="releasecharts" rebuild="local">
<releasetarget project="{{ release_project }}" repository="charts" trigger="manual"/>
<path project="{{ project }}" repository="standard"/>
<arch>x86_64</arch>
</repository>
{%- endif %}
</project>

View File

@@ -13,9 +13,9 @@ annotations:
catalog.cattle.io/ui-component: plugins
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
apiVersion: v2
appVersion: 1.2.1
description: "SUSE Edge: Akri extension for Rancher Dashboard"
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
appVersion: 302.0.0+up1.2.1
description: 'SUSE Edge: Akri extension for Rancher Dashboard'
name: akri-dashboard-extension
type: application
version: "%%CHART_MAJOR%%.0.0+up1.2.1"
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg

View File

@@ -38,7 +38,7 @@ Common labels
helm.sh/chart: {{ include "extension-server.chart" . }}
{{ include "extension-server.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
@@ -60,4 +60,4 @@ Pkg annotations
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -8,7 +8,7 @@ spec:
plugin:
name: {{ include "extension-server.fullname" . }}
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/1.2.1
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/akri-dashboard-extension/302.0.0+up1.2.1
noCache: {{ .Values.plugin.noCache }}
noAuth: {{ .Values.plugin.noAuth }}
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}

View File

@@ -10,7 +10,9 @@
<service name="cargo_vendor" mode="manual">
<param name="srcdir">akri</param>
</service>
<service name="tar" mode="buildtime" />
<service name="tar" mode="buildtime">
<param name="obsinfo">akri.obsinfo</param>
</service>
<service name="set_version" mode="buildtime" >
<param name="fromfile">version.txt</param>
<param name="regex">^(.*)$</param>

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">baremetal-operator.obsinfo</param>
</service>
<service name="go_modules">
</service>
@@ -23,7 +21,7 @@
<param name="file">baremetal-operator.spec</param>
<param name="var">SOURCE_COMMIT</param>
<param name="eval">
SOURCE_COMMIT=$(grep commit *.obsinfo | cut -d" " -f2)
SOURCE_COMMIT=$(grep commit baremetal-operator.obsinfo | cut -d" " -f2)
</param>
<param name="verbose">1</param>
</service>

View File

@@ -22,7 +22,7 @@ Release: 0.8.0
Summary: Implements a Kubernetes API for managing bare metal hosts
License: Apache-2.0
URL: https://github.com/metal3-io/baremetal-operator
Source: baremetal-operator-%{version}.tar.gz
Source: baremetal-operator-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390

View File

@@ -8,10 +8,8 @@
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">cosign.obsinfo</param>
</service>
<service mode="buildtime" name="set_version" />
<service name="go_modules">

View File

@@ -24,7 +24,7 @@ Release: 0
Summary: Container Signing, Verification and Storage in an OCI registry
License: Apache-2.0
URL: https://github.com/rancher-government-carbide/cosign
Source: cosign-%{version}.tar.gz
Source: cosign-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang-packaging

View File

@@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.0
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.0-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.1
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.1-%RELEASE%
#!BuildVersion: 15.6
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-base:$SLE_VERSION
@@ -15,11 +15,11 @@ RUN zypper --non-interactive install --no-recommends edge-image-builder qemu-x86
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE edge-image-builder Container Image"
LABEL org.opencontainers.image.description="edge-image-builder based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="1.1.0"
LABEL org.opencontainers.image.version="1.1.1"
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.1.0-%RELEASE%"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.1.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"

View File

@@ -1,7 +1,7 @@
metallb:
chart: metallb-chart
repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"
version: "%%CHART_MAJOR%%.0.0+up0.14.9"
version: "%%CHART_MAJOR%%.0.1+up0.14.9"
endpoint-copier-operator:
chart: endpoint-copier-operator-chart
repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"

View File

@@ -1,18 +1,19 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/suse-edge/edge-image-builder.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="revision">v1.1.0</param>
<param name="revision">v1.1.1</param>
<!-- Uncomment and set this For Pre-Release Version -->
<!-- <param name="version">1.1.1~rc0</param> -->
<!-- Uncomment and this for regular version -->
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param>
<param name="versionrewrite-replacement">\1.\2.\3</param>
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">edge-image-builder.obsinfo</param>
</service>
<service mode="buildtime" name="set_version" />
<service name="go_modules">

View File

@@ -17,12 +17,12 @@
Name: edge-image-builder
Version: 1.1.0
Version: 1.1.1
Release: 0
Summary: Edge Image Builder
License: Apache-2.0
URL: https://github.com/suse-edge/edge-image-builder
Source: edge-image-builder-%{version}.tar.gz
Source: edge-image-builder-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) go1.22
BuildRequires: golang-packaging

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">endpoint-copier-operator.obsinfo</param>
</service>
<service name="go_modules">
</service>

View File

@@ -22,7 +22,7 @@ Release: 0.2.0
Summary: Implements a Kubernetes API for copying endpoint resources
License: Apache-2.0
URL: https://github.com/suse-edge/endpoint-copier-operator
Source: endpoint-copier-operator-%{version}.tar.gz
Source: endpoint-copier-operator-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.20
ExcludeArch: s390

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">frr-k8s.obsinfo</param>
</service>
<service name="go_modules">
</service>

View File

@@ -22,7 +22,7 @@ Release: 0.0.14
Summary: A kubernetes based daemonset that exposes a subset of the FRR API in a kubernetes compliant manner.
License: Apache-2.0
URL: https://github.com/metallb/frr-k8s
Source: frr-k8s-%{version}.tar.gz
Source: frr-k8s-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390

View File

@@ -8,10 +8,8 @@
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">hauler.obsinfo</param>
</service>
<service mode="buildtime" name="set_version" />
<service name="go_modules">

View File

@@ -23,7 +23,7 @@ Release: 0
Summary: Airgap Swiss Army Knife
License: Apache-2.0
URL: https://github.com/hauler-dev/hauler
Source: hauler-%{version}.tar.gz
Source: hauler-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang-packaging
BuildRequires: cosign

View File

@@ -1,6 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.2
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.2-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%
#!BuildVersion: 15.6
ARG SLE_VERSION
@@ -46,8 +46,8 @@ LABEL org.opencontainers.image.description="Openstack Ironic based on the SLE Ba
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opencontainers.image.version="26.1.2.2"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.2-%RELEASE%"
LABEL org.opencontainers.image.version="26.1.2.3"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"

View File

@@ -10,17 +10,15 @@ Listen {{ env.VMEDIA_TLS_PORT }}
SSLCertificateFile {{ env.IRONIC_VMEDIA_CERT_FILE }}
SSLCertificateKeyFile {{ env.IRONIC_VMEDIA_KEY_FILE }}
<Directory ~ "/shared/html">
Order deny,allow
deny from all
<Directory "/shared">
AllowOverride None
Require all granted
</Directory>
<Directory ~ "/shared/html/(redfish|ilo)/">
Order allow,deny
allow from all
</Directory>
<Directory ~ "/shared/html/images/">
Order allow,deny
allow from all
<Directory "/shared/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

View File

@@ -83,7 +83,7 @@ send_sensor_data = {{ env.SEND_SENSOR_DATA }}
# Power state is checked every 60 seconds and BMC activity should
# be avoided more often than once every sixty seconds.
send_sensor_data_interval = 160
bootloader = http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/uefi_esp.img
bootloader = {{ env.IRONIC_BOOT_BASE_URL }}/uefi_esp.img
verify_step_priority_override = management.clear_job_queue:90
# We don't use this feature, and it creates an additional load on the database
node_history = False
@@ -112,7 +112,7 @@ default_boot_option = local
erase_devices_metadata_priority = 10
erase_devices_priority = 0
http_root = /shared/html/
http_url = http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}
http_url = {{ env.IRONIC_BOOT_BASE_URL }}
fast_track = {{ env.IRONIC_FAST_TRACK }}
{% if env.IRONIC_BOOT_ISO_SOURCE %}
ramdisk_image_download_source = {{ env.IRONIC_BOOT_ISO_SOURCE }}

View File

@@ -1,18 +1,20 @@
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0-%RELEASE%
FROM registry.suse.com/bci/kiwi:10.1.16
MAINTAINER SUSE LLC (https://www.suse.com/)
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1
ARG KIWIVERSION="10.2.12"
FROM registry.suse.com/bci/kiwi:${KIWIVERSION}
ARG KIWIVERSION
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.akri
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE Kiwi Builder Container Image"
LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%PACKAGE_VERSION%"
LABEL org.opencontainers.image.version="%%kiwi_version%%"
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%%kiwi-builder:10.1.16.0"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"
@@ -21,8 +23,8 @@ LABEL com.suse.image-type="application"
LABEL com.suse.release-stage="released"
# endlabelprefix
# Configure Kiwi to use kpartx
RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml
# help the build service understand the need for python3-kiwi
RUN zypper -n install -d -D python3-kiwi; [ "%%kiwi_version%%" = "${KIWIVERSION}" ] || { echo "expected kiwi version ${KIWIVERSION}: version mismatch"; exit 1; }
# Copy build script into image and make it executable
ADD build-image.sh /usr/bin/build-image

View File

@@ -8,7 +8,7 @@ Please ensure that you're running this on a registered SLE Micro 6.0 system, and
Next, download the podman image:
# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0
# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1
Make a local output directory (where the images will reside):
@@ -16,40 +16,40 @@ Make a local output directory (where the images will reside):
Then, to build a standard "Base" image, run the following in podman:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image
To build a "Base" SelfInstall ISO, you can add additional flags, for example:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Base-SelfInstall
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image -p Base-SelfInstall
Then, to build a standard "Default" image, run the following in podman:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image -p Default
To build a "Default" SelfInstall ISO, you can add additional flags, for example:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default-SelfInstall
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image -p Default-SelfInstall
To build an image with a RealTime kernel, e.g. a RAW disk image ("Default"), use the following:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Base-RT
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image -p Base-RT
To build an image that supports a large block/sectorsize (4096), use the "-b" flag, for example:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Default-SelfInstall -b
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image -p Default-SelfInstall -b
# mkdir mydefs/
# cp /path/to/SL-Micro.kiwi mydefs/
# cp /path/to/config.sh mydefs/
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -v ./mydefs/:/micro-sdk/defs/ -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1 build-image
All output will be in the local $(pwd)/output directory, for example:
# ls -1 output/
SLE-Micro.x86_64-6.0.changes
SLE-Micro.x86_64-6.0.packages
SLE-Micro.x86_64-6.0.raw
SLE-Micro.x86_64-6.0.verified
SL-Micro.x86_64-6.0.changes
SL-Micro.x86_64-6.0.packages
SL-Micro.x86_64-6.0.raw
SL-Micro.x86_64-6.0.verified
build
kiwi.result
kiwi.result.json

View File

@@ -16,4 +16,14 @@
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
<param name="var">SUPPORT_LEVEL</param>
</service>
<service mode="buildtime" name="replace_using_package_version">
<param name="file">Dockerfile</param>
<param name="regex">%%kiwi_version%%</param>
<param name="package">python3-kiwi</param>
</service>
<service mode="buildtime" name="replace_using_package_version">
<param name="file">README</param>
<param name="regex">%%kiwi_version%%</param>
<param name="package">python3-kiwi</param>
</service>
</services>

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar" >
<param name="obsinfo">kube-rbac-proxy.obsinfo</param>
</service>
<service name="go_modules">
</service>

View File

@@ -22,7 +22,7 @@ Release: 0.18.1
Summary: The kube-rbac-proxy is a small HTTP proxy for a single upstream
License: Apache-2.0
URL: https://github.com/brancz/kube-rbac-proxy
Source: kube-rbac-proxy-%{version}.tar.gz
Source: kube-rbac-proxy-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.23
ExcludeArch: s390

View File

@@ -13,9 +13,10 @@ annotations:
catalog.cattle.io/ui-component: plugins
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
apiVersion: v2
appVersion: 1.2.1
appVersion: 302.0.0+up1.2.1
description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard'
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg
name: kubevirt-dashboard-extension
type: application
version: "%%CHART_MAJOR%%.0.0+up1.2.1"
icon: >-
https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg

View File

@@ -38,7 +38,7 @@ Common labels
helm.sh/chart: {{ include "extension-server.chart" . }}
{{ include "extension-server.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
@@ -60,4 +60,4 @@ Pkg annotations
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -8,7 +8,7 @@ spec:
plugin:
name: {{ include "extension-server.fullname" . }}
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/1.2.1
endpoint: https://raw.githubusercontent.com/suse-edge/dashboard-extensions/gh-pages/extensions/kubevirt-dashboard-extension/302.0.0+up1.2.1
noCache: {{ .Values.plugin.noCache }}
noAuth: {{ .Values.plugin.noAuth }}
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}

View File

@@ -1,7 +1,7 @@
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.2
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.2-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.1_up0.9.4
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.1_up0.9.4-%RELEASE%
apiVersion: v2
appVersion: 0.9.2
appVersion: 0.9.4
dependencies:
- alias: metal3-baremetal-operator
name: baremetal-operator
@@ -10,7 +10,7 @@ dependencies:
- alias: metal3-ironic
name: ironic
repository: file://./charts/ironic
version: 0.9.1
version: 0.9.3
- alias: metal3-mariadb
condition: global.enable_mariadb
name: mariadb
@@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
name: metal3
type: application
version: "%%CHART_MAJOR%%.0.0+up0.9.2"
version: "%%CHART_MAJOR%%.0.1+up0.9.4"

View File

@@ -3,4 +3,4 @@ appVersion: 26.1.2
description: A Helm chart for Ironic, used by Metal3
name: ironic
type: application
version: 0.9.1
version: 0.9.3

View File

@@ -77,9 +77,6 @@ spec:
mountPath: "/certs/vmedia"
readOnly: true
{{- end }}
- mountPath: /shared/html/tstcerts
name: cert-ironic-ca
readOnly: true
{{- end }}
- name: ironic-log-watch
image: {{ .Values.images.ironic.repository }}:{{ .Values.images.ironic.tag }}

View File

@@ -56,7 +56,7 @@ images:
ironic:
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
pullPolicy: IfNotPresent
tag: 26.1.2.2
tag: 26.1.2.3
ironicIPADownloader:
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
pullPolicy: IfNotPresent

View File

@@ -1,9 +1,10 @@
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.1_up0.14.9
#!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.1_up0.14.9-%RELEASE%
apiVersion: v2
appVersion: v0.14.3
dependencies:
- condition: frrk8s.enabled
- alias: metallb-frr-k8s
condition: frrk8s.enabled
name: frr-k8s
repository: file://./charts/frr-k8s
version: 0.0.15
@@ -20,4 +21,4 @@ name: metallb
sources:
- https://github.com/metallb/metallb
type: application
version: "%%CHART_MAJOR%%.0.0+up0.14.9"
version: "%%CHART_MAJOR%%.0.1+up0.14.9"

View File

@@ -53,7 +53,7 @@ prometheus:
# the image to be used for the kuberbacproxy container
rbacProxy:
repository: "registry.opensuse.org/isv/suse/edge/metallb/images/kube-rbac-proxy"
tag: "v0.18.0"
tag: "0.18.1"
pullPolicy: IfNotPresent
# Prometheus Operator ServiceMonitors.

View File

@@ -378,3 +378,15 @@ frrk8s:
enabled: false
external: false
namespace: ""
# Override any settings for the metallb frr-k8s service here
metallb-frr-k8s:
prometheus:
rbacProxy:
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%kube-rbac-proxy"
frrk8s:
image:
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%frr-k8s"
frr:
image:
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%frr"

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">metallb.obsinfo</param>
</service>
<service name="go_modules">
</service>

View File

@@ -22,7 +22,7 @@ Release: 0.14.8
Summary: Load Balancer for bare metal Kubernetes clusters
License: Apache-2.0
URL: https://github.com/metallb/metallb
Source: %{name}-%{version}.tar.gz
Source: %{name}-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390

View File

@@ -9,7 +9,9 @@
<param name="versionrewrite-replacement">\1</param>
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="tar">
<param name="obsinfo">nm-configurator.obsinfo</param>
</service>
<service mode="buildtime" name="set_version"/>
<service mode="manual" name="cargo_vendor">
<param name="src">nm-configurator</param>

View File

@@ -1,4 +1,4 @@
#!BuildTag: %%IMG_PREFIX%%release-manifest:3.2.0
#!BuildTag: %%IMG_PREFIX%%release-manifest:3.2.1
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION
@@ -7,11 +7,11 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION
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.2.0"
LABEL org.opencontainers.image.version="3.2.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.2.0"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.2.1"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"

View File

@@ -1,80 +1,80 @@
apiVersion: lifecycle.suse.com/v1alpha1
kind: ReleaseManifest
metadata:
name: release-manifest-3-2-0
name: release-manifest-3-2-1
spec:
releaseVersion: 3.2.0
releaseVersion: 3.2.1
components:
kubernetes:
k3s:
version: v1.31.3+k3s1
version: v1.31.7+k3s1
coreComponents:
- name: traefik-crd
version: 27.0.201+up27.0.2
type: HelmChart
- name: traefik
version: 27.0.201+up27.0.2
type: HelmChart
- name: local-path-provisioner
containers:
- name: traefik-crd
version: 27.0.201+up27.0.2
type: HelmChart
- name: traefik
version: 27.0.201+up27.0.2
type: HelmChart
- name: local-path-provisioner
image: rancher/local-path-provisioner:v0.0.30
type: Deployment
- name: coredns
containers:
containers:
- name: local-path-provisioner
image: rancher/local-path-provisioner:v0.0.31
type: Deployment
- name: coredns
image: rancher/mirrored-coredns-coredns:1.11.3
type: Deployment
- name: metrics-server
containers:
containers:
- name: coredns
image: rancher/mirrored-coredns-coredns:1.12.0
type: Deployment
- name: metrics-server
image: rancher/mirrored-metrics-server:v0.7.2
type: Deployment
containers:
- name: metrics-server
image: rancher/mirrored-metrics-server:v0.7.2
type: Deployment
rke2:
version: v1.31.3+rke2r1
version: v1.31.7+rke2r1
coreComponents:
- name: rke2-cilium
version: 1.16.303
type: HelmChart
- name: rke2-canal
version: v3.29.0-build2024110400
type: HelmChart
- name: rke2-calico-crd
version: v3.29.000
type: HelmChart
- name: rke2-calico
version: v3.29.000
type: HelmChart
- name: rke2-coredns
version: 1.33.005
type: HelmChart
- name: rke2-ingress-nginx
version: 4.10.502
type: HelmChart
- name: rke2-metrics-server
version: 3.12.004
type: HelmChart
- name: rancher-vsphere-csi
version: 3.3.1-rancher700
type: HelmChart
- name: rancher-vsphere-cpi
version: 1.9.100
type: HelmChart
- name: harvester-cloud-provider
version: 0.2.600
type: HelmChart
- name: harvester-csi-driver
version: 0.1.2000
type: HelmChart
- name: rke2-snapshot-controller-crd
version: 3.0.601
type: HelmChart
- name: rke2-snapshot-controller
version: 3.0.601
type: HelmChart
- name: rke2-snapshot-validation-webhook
version: 1.9.001
type: HelmChart
- name: rke2-cilium
version: 1.17.100
type: HelmChart
- name: rke2-canal
version: v3.29.2-build2025030601
type: HelmChart
- name: rke2-calico-crd
version: v3.29.101
type: HelmChart
- name: rke2-calico
version: v3.29.200
type: HelmChart
- name: rke2-coredns
version: 1.39.100
type: HelmChart
- name: rke2-ingress-nginx
version: 4.12.100
type: HelmChart
- name: rke2-metrics-server
version: 3.12.200
type: HelmChart
- name: rancher-vsphere-csi
version: 3.3.1-rancher900
type: HelmChart
- name: rancher-vsphere-cpi
version: 1.9.100
type: HelmChart
- name: harvester-cloud-provider
version: 0.2.900
type: HelmChart
- name: harvester-csi-driver
version: 0.1.2300
type: HelmChart
- name: rke2-snapshot-controller-crd
version: 4.0.002
type: HelmChart
- name: rke2-snapshot-controller
version: 4.0.002
type: HelmChart
- name: rke2-snapshot-validation-webhook
version: 0.0.0
type: HelmChart
operatingSystem:
version: "6.0"
zypperID: "SL-Micro"
@@ -88,7 +88,7 @@ spec:
- prettyName: Rancher
releaseName: rancher
chart: rancher
version: 2.10.1
version: 2.10.3
repository: https://charts.rancher.com/server-charts/prime
values:
postDelete:
@@ -96,17 +96,17 @@ spec:
- prettyName: Longhorn
releaseName: longhorn
chart: longhorn
version: 105.1.0+up1.7.2
version: 105.1.1+up1.7.3
repository: https://charts.rancher.io
dependencyCharts:
- releaseName: longhorn-crd
chart: longhorn-crd
version: 105.1.0+up1.7.2
version: 105.1.1+up1.7.3
repository: https://charts.rancher.io
- prettyName: MetalLB
releaseName: metallb
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metallb-chart
version: %%CHART_MAJOR%%.0.0+up0.14.9
version: %%CHART_MAJOR%%.0.1+up0.14.9
- prettyName: CDI
releaseName: cdi
chart: %%CHART_REPO%%/%%IMG_PREFIX%%cdi-chart
@@ -122,12 +122,12 @@ spec:
- prettyName: NeuVector
releaseName: neuvector
chart: neuvector
version: 105.0.0+up2.8.3
version: 105.0.1+up2.8.4
repository: https://charts.rancher.io
dependencyCharts:
- releaseName: neuvector-crd
chart: neuvector-crd
version: 105.0.0+up2.8.3
version: 105.0.1+up2.8.4
repository: https://charts.rancher.io
addonCharts:
- releaseName: neuvector-ui-ext
@@ -170,7 +170,7 @@ spec:
- prettyName: Metal3
releaseName: metal3
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metal3-chart
version: %%CHART_MAJOR%%.0.0+up0.9.0
version: %%CHART_MAJOR%%.0.1+up0.9.4
- prettyName: RancherTurtles
releaseName: rancher-turtles
chart: %%CHART_REPO%%/%%IMG_PREFIX%%rancher-turtles-chart

View File

@@ -9,10 +9,8 @@
<param name="versionrewrite-replacement">\1.\2.\3</param>
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">gz</param>
<service mode="buildtime" name="tar">
<param name="obsinfo">upgrade-controller.obsinfo</param>
</service>
<service name="go_modules">
<param name="compression">gz</param>

View File

@@ -22,7 +22,7 @@ Release: 0
Summary: Upgrade Controller
License: Apache-2.0
URL: https://github.com/suse-edge/upgrade-controller
Source: upgrade-controller-%{version}.tar.gz
Source: upgrade-controller-%{version}.tar
Source1: vendor.tar.gz
BuildRequires: golang(API) go1.22
BuildRequires: golang-packaging