1
0
forked from suse-edge/Factory

87 Commits
devel ... 3.2

Author SHA256 Message Date
873b7ca8d6 Merge pull request 'Changes for EIB v1.1.2' (#224) from dbekhit/Factory:3.2 into 3.2
Reviewed-on: suse-edge/Factory#224
2025-08-05 09:06:15 +02:00
9e18ce3842 changes for EIB v1.1.2 2025-08-04 11:43:57 -04:00
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
100 changed files with 1297 additions and 902 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

@@ -0,0 +1,35 @@
name: Synchronize Project Config
on:
push:
branches-ignore:
- "devel"
paths:
- "_config"
- ".gitea/workflows/sync_config.yaml"
jobs:
sync-prjconf:
name: "Update prjconf in OBS"
runs-on: tumbleweed
steps:
- name: Setup OSC
run: |
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'
- run: |
PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')"
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 #!/usr/bin/env python3
import yaml
import subprocess import subprocess
import argparse import argparse
import os import os
@@ -7,30 +6,6 @@ import os.path
from common import PROJECT, REPOSITORY, BRANCH 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): def add_package_to_project(name: str):
package_meta = f"""<package name="{name}" project="{PROJECT}"> package_meta = f"""<package name="{name}" project="{PROJECT}">
<title/> <title/>
@@ -53,7 +28,6 @@ def add_package(package_name: str):
os.exit(1) os.exit(1)
add_package_to_project(package_name) add_package_to_project(package_name)
add_package_to_workflow(package_name)
def main(): def main():
@@ -65,7 +39,7 @@ def main():
add_package(args.package) 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__': 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" 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 #!/usr/bin/env python3
import yaml
import subprocess import subprocess
import argparse import argparse
import os import os
@@ -8,18 +7,6 @@ import os.path
from common import PROJECT 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): def delete_package_from_project(name: str):
p = subprocess.run(["osc", "rdelete", PROJECT, name, "-m \"Deleted via delete_package.py\"" ], stdout=subprocess.PIPE) p = subprocess.run(["osc", "rdelete", PROJECT, name, "-m \"Deleted via delete_package.py\"" ], stdout=subprocess.PIPE)
print(p.stdout) print(p.stdout)
@@ -33,7 +20,6 @@ def delete_package(package_name: str):
os.exit(1) os.exit(1)
delete_package_from_project(package_name) delete_package_from_project(package_name)
delete_package_from_workflow(package_name)
def main(): 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]: def get_obs_packages() -> Set[str]:
packages = subprocess.run(["osc", "ls", PROJECT], encoding='utf-8' , capture_output=True) 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]: def get_local_packages() -> Set[str]:
p = pathlib.Path('.') 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,228 +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: ip-address-manager
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: cluster-api-provider-metal3
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: cluster-api-provider-metal3-image
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: ip-address-manager-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

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> 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. 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 ## 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). 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> <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 ## Cutting a release version branch
1. Do the appropriate git branch command 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`) 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`) 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 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 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 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) 11. Hand over to QA to test whatever is in `ToTest`. (You can continue to work on the base branch if needed meanwhile)

155
_config Normal file
View File

@@ -0,0 +1,155 @@
Prefer: -libqpid-proton10 -python311-urllib3_1
Macros:
%__python3 /usr/bin/python3.11
%registry_url %(echo %{vendor} | cut -d '/' -f 3 | sed 's/build/registry/')
:Macros
%if "%{sub %{lower %_project} 1 14}" != "isv:suse:edge:" || "%{sub %_project 15 21}" == "Factory"
# Here we are in Factory like project so set chart major version to 999
Macros:
%chart_major 999
:Macros
%else
# Here we are in version branch, so set the image prefix and chart major accordingly
Macros:
%project_branch %(echo %{_project} | cut -d ':' -f 4)
%img_prefix %{project_branch}/
%chart_major %(echo %{project_branch} | awk '{split($1,a,"."); print a[1]*100 + a[2]}')
:Macros
%endif
%if %{sub %_project 1 3} == ISV
Macros:
%img_repo registry.suse.com/edge
%chart_repo oci://registry.suse.com/edge
%manifest_repo registry.suse.com/edge
%support_level l3
:Macros
%else
Macros:
%img_repo registry.opensuse.org/isv/suse/edge/containers/images
%manifest_repo registry.opensuse.org/isv/suse/edge/containers/images
%chart_repo oci://registry.opensuse.org/isv/suse/edge/containers/charts
%support_level techpreview
:Macros
%endif
%if "%_repository" == "charts" || "%_repository" == "test_manifest_images"
Macros:
%img_repo %(echo %{registry_url}:%{_project}:images | tr ":" "/" | tr '[:upper:]' '[:lower:]')
%manifest_repo %(echo %{registry_url}:%{_project}:test_manifest_images | tr ":" "/" | tr '[:upper:]' '[:lower:]')
%chart_repo oci://%(echo %{registry_url}:%{_project}:charts | tr ":" "/" | tr '[:upper:]' '[:lower:]')
:Macros
%endif
# Missing deps for testsuite
BuildFlags: excludebuild:autoconf:el
BuildFlags: excludebuild:autoconf:testsuite
# Only build manifest embedding images here
%if "%_repository" == "test_manifest_images"
BuildFlags: onlybuild:edge-image-builder-image
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
%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
%endif
%endif
%if "%_repository" == "images" || "%_repository" == "test_manifest_images"
Prefer: container:sles15-image
Type: docker
Repotype: none
Patterntype: none
BuildEngine: podman
Prefer: sles-release
BuildFlags: dockerarg:SLE_VERSION=15.6
# Publish multi-arch container images only once all archs have been built
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
Patterntype: none
Required: perl-YAML-LibYAML
%endif
%if "%_repository" == "standard"
# for build openstack-ironic-image
BuildFlags: allowrootforbuild
%endif
# Enable reproducible builds
# https://en.opensuse.org/openSUSE:Reproducible_Builds\#With_OBS
Macros:
%source_date_epoch_from_changelog Y
%clamp_mtime_to_source_date_epoch Y
%use_source_date_epoch_as_buildtime Y
%_buildhost reproducible
:Macros

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

@@ -1,5 +1,6 @@
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0 #!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1-%RELEASE%
annotations: annotations:
catalog.cattle.io/certified: rancher catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: Akri catalog.cattle.io/display-name: Akri
@@ -10,11 +11,11 @@ annotations:
catalog.cattle.io/rancher-version: ">= 2.10.0-0" catalog.cattle.io/rancher-version: ">= 2.10.0-0"
catalog.cattle.io/scope: management catalog.cattle.io/scope: management
catalog.cattle.io/ui-component: plugins catalog.cattle.io/ui-component: plugins
catalog.cattle.io/ui-extensions-version: ">= 3.0.0" catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
apiVersion: v2 apiVersion: v2
appVersion: 1.2.0 appVersion: 302.0.0+up1.2.1
description: "SUSE Edge: Akri extension for Rancher Dashboard" description: 'SUSE Edge: Akri extension for Rancher Dashboard'
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/akri/icon/color/akri-icon-color.svg
name: akri-dashboard-extension name: akri-dashboard-extension
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up1.2.0" 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" . }} helm.sh/chart: {{ include "extension-server.chart" . }}
{{ include "extension-server.selectorLabels" . }} {{ include "extension-server.selectorLabels" . }}
{{- if .Chart.AppVersion }} {{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
{{- end }} {{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }} {{- end }}

View File

@@ -8,7 +8,7 @@ spec:
plugin: plugin:
name: {{ include "extension-server.fullname" . }} name: {{ include "extension-server.fullname" . }}
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }} 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.0 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 }} noCache: {{ .Values.plugin.noCache }}
noAuth: {{ .Values.plugin.noAuth }} noAuth: {{ .Values.plugin.noAuth }}
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }} metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}

View File

@@ -8,5 +8,5 @@ plugin:
metadata: metadata:
catalog.cattle.io/display-name: Akri catalog.cattle.io/display-name: Akri
catalog.cattle.io/rancher-version: ">= 2.10.0-0" catalog.cattle.io/rancher-version: ">= 2.10.0-0"
catalog.cattle.io/ui-extensions-version: ">= 3.0.0" catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
catalog.cattle.io/kube-version: ">= v1.26.0-0" catalog.cattle.io/kube-version: ">= v1.26.0-0"

View File

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

View File

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

View File

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

View File

@@ -1,36 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:v%%cluster-api-provider-metal3_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%-%RELEASE%
#!BuildVersion: 15.6
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
COPY --from=micro / /installroot/
RUN zypper --installroot /installroot --non-interactive install --no-recommends cluster-api-provider-metal3 shadow; zypper -n clean; rm -rf /var/log/*
FROM micro AS final
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.cluster-api-provider-metal3
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE cluster-api-provider-metal3 Container Image"
LABEL org.opencontainers.image.description="cluster-api-provider-metal3 based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%cluster-api-provider-metal3_version%%"
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%%cluster-api-provider-metal3:%%cluster-api-provider-metal3_version%%-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
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="application"
LABEL com.suse.release-stage="released"
# endlabelprefix
COPY --from=base /installroot /
RUN mv /usr/bin/cluster-api-provider-metal3 /manager
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
USER 65532
ENTRYPOINT [ "/manager" ]

View File

@@ -1,19 +0,0 @@
<services>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service mode="buildtime" name="docker_label_helper"/>
<service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="regex">%%cluster-api-provider-metal3_version%%</param>
<param name="package">cluster-api-provider-metal3</param>
<param name="parse-version">patch</param>
</service>
<service name="replace_using_env" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
<param name="var">IMG_PREFIX</param>
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
<param name="var">IMG_REPO</param>
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
<param name="var">SUPPORT_LEVEL</param>
</service>
</services>

View File

@@ -1,23 +0,0 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/metal3-io/cluster-api-provider-metal3</param>
<param name="scm">git</param>
<param name="revision">v1.7.2</param>
<param name="version">_auto_</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">steven.hardy@suse.com</param>
<param name="match-tag">v*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<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>
<service name="go_modules">
</service>
<service mode="buildtime" name="set_version" />
</services>

View File

@@ -1,54 +0,0 @@
#
# spec file for package cluster-api-provider-metal3
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: cluster-api-provider-metal3
Version: 1.7.2
Release: 0
Summary: Cluster API Infrastructure Provider for Metal3
License: Apache-2.0
URL: https://github.com/metal3-io/cluster-api-provider-metal3
Source: cluster-api-provider-metal3-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390
ExcludeArch: %{ix86}
%description
Cluster API Provider Metal3 is one of the providers for Cluster API and enables
users to deploy a Cluster API based cluster on top of bare metal infrastructure
using Metal3.
%prep
%autosetup -a1 -n cluster-api-provider-metal3-%{version}
%build
go build \
-mod=vendor \
-buildmode=pie \
-a -ldflags '-extldflags "-static"'
%install
install -D -m0755 cluster-api-provider-metal3 %{buildroot}%{_bindir}/cluster-api-provider-metal3
%files
%license LICENSE
%doc README.md
%{_bindir}/cluster-api-provider-metal3
%changelog

View File

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

View File

@@ -24,7 +24,7 @@ Release: 0
Summary: Container Signing, Verification and Storage in an OCI registry Summary: Container Signing, Verification and Storage in an OCI registry
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/rancher-government-carbide/cosign URL: https://github.com/rancher-government-carbide/cosign
Source: cosign-%{version}.tar.gz Source: cosign-%{version}.tar
Source1: vendor.tar.gz Source1: vendor.tar.gz
BuildRequires: golang-packaging 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.2-rc1
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.1.2-rc1-%RELEASE%
#!BuildVersion: 15.6 #!BuildVersion: 15.6
ARG SLE_VERSION ARG SLE_VERSION
FROM registry.suse.com/bci/bci-base:$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.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE edge-image-builder Container Image" 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.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.2-rc1"
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/" LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" 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.2-rc1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"

View File

@@ -7,10 +7,14 @@
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param> <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
<param name="var">IMG_REPO</param> <param name="var">IMG_REPO</param>
<param name="file">artifacts.yaml</param> <param name="file">artifacts.yaml</param>
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
<param name="var">IMG_PREFIX</param>
<param name="eval">CHART_REPO=$(rpm --macros=/root/.rpmmacros -E %chart_repo)</param> <param name="eval">CHART_REPO=$(rpm --macros=/root/.rpmmacros -E %chart_repo)</param>
<param name="var">CHART_REPO</param> <param name="var">CHART_REPO</param>
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param> <param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
<param name="var">SUPPORT_LEVEL</param> <param name="var">SUPPORT_LEVEL</param>
<param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@@ -1,11 +1,11 @@
metallb: metallb:
chart: metallb-chart chart: metallb-chart
repository: %%CHART_REPO%%/3.1 repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"
version: 0.14.9 version: "%%CHART_MAJOR%%.0.1+up0.14.9"
endpoint-copier-operator: endpoint-copier-operator:
chart: endpoint-copier-operator-chart chart: endpoint-copier-operator-chart
repository: %%CHART_REPO%%/3.1 repository: "%%CHART_REPO%%/%%IMG_PREFIX%%"
version: 0.2.1 version: "%%CHART_MAJOR%%.0.0+up0.2.1"
kubernetes: kubernetes:
k3s: k3s:
selinuxPackage: k3s-selinux-1.6-1.slemicro.noarch selinuxPackage: k3s-selinux-1.6-1.slemicro.noarch
@@ -13,4 +13,3 @@ kubernetes:
rke2: rke2:
selinuxPackage: rke2-selinux selinuxPackage: rke2-selinux
selinuxRepository: https://rpm.rancher.io/rke2/stable/common/slemicro/noarch selinuxRepository: https://rpm.rancher.io/rke2/stable/common/slemicro/noarch

View File

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

View File

@@ -17,12 +17,12 @@
Name: edge-image-builder Name: edge-image-builder
Version: 1.1.0 Version: 1.1.2~rc1
Release: 0 Release: 0
Summary: Edge Image Builder Summary: Edge Image Builder
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/suse-edge/edge-image-builder 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 Source1: vendor.tar.gz
BuildRequires: golang(API) go1.22 BuildRequires: golang(API) go1.22
BuildRequires: golang-packaging BuildRequires: golang-packaging

View File

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

View File

@@ -22,7 +22,7 @@ Release: 0.2.0
Summary: Implements a Kubernetes API for copying endpoint resources Summary: Implements a Kubernetes API for copying endpoint resources
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/suse-edge/endpoint-copier-operator 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 Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.20 BuildRequires: golang(API) = 1.20
ExcludeArch: s390 ExcludeArch: s390

View File

@@ -1,26 +1,25 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:v%%ip-address-manager_version%% #!BuildTag: %%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%% #!BuildTag: %%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%%-%RELEASE%
#!BuildVersion: 15.6 #!BuildVersion: 15.6
ARG SLE_VERSION ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
COPY --from=micro / /installroot/ COPY --from=micro / /installroot/
RUN zypper --installroot /installroot --non-interactive install --no-recommends ip-address-manager shadow; zypper -n clean; rm -rf /var/log/* RUN zypper --installroot /installroot --non-interactive install --no-recommends frr-k8s; zypper -n clean; rm -rf /var/log/*
FROM micro AS final FROM micro AS final
# Define labels according to https://en.opensuse.org/Building_derived_containers # Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.ip-address-manager # labelprefix=com.suse.application.endpoint-copier-operator
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE ip-address-manager Container Image" LABEL org.opencontainers.image.title="SLE frr-k8s Container Image"
LABEL org.opencontainers.image.description="ip-address-manager based on the SLE Base Container Image." LABEL org.opencontainers.image.description="frr-k8s based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%ip-address-manager_version%%" LABEL org.opencontainers.image.version="%%frr-k8s_version%%"
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/" LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ip-address-manager:%%ip-address-manager_version%%-%RELEASE%" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%frr-k8s:v%%frr-k8s_version%%-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"
@@ -29,8 +28,6 @@ LABEL com.suse.image-type="application"
LABEL com.suse.release-stage="released" LABEL com.suse.release-stage="released"
# endlabelprefix # endlabelprefix
#Install frr-k8s
COPY --from=base /installroot / COPY --from=base /installroot /
RUN mv /usr/bin/ip-address-manager /manager ENTRYPOINT ["/frr-k8s"]
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
USER 65532
ENTRYPOINT [ "/manager" ]

View File

@@ -3,8 +3,8 @@
<service mode="buildtime" name="docker_label_helper"/> <service mode="buildtime" name="docker_label_helper"/>
<service name="replace_using_package_version" mode="buildtime"> <service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param> <param name="file">Dockerfile</param>
<param name="regex">%%ip-address-manager_version%%</param> <param name="regex">%%frr-k8s_version%%</param>
<param name="package">ip-address-manager</param> <param name="package">frr-k8s</param>
<param name="parse-version">patch</param> <param name="parse-version">patch</param>
</service> </service>
<service name="replace_using_env" mode="buildtime"> <service name="replace_using_env" mode="buildtime">

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param> <param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
</service> </service>
<service mode="buildtime" name="tar" /> <service mode="buildtime" name="tar">
<service mode="buildtime" name="recompress"> <param name="obsinfo">frr-k8s.obsinfo</param>
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service> </service>
<service name="go_modules"> <service name="go_modules">
</service> </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. Summary: A kubernetes based daemonset that exposes a subset of the FRR API in a kubernetes compliant manner.
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/metallb/frr-k8s URL: https://github.com/metallb/frr-k8s
Source: frr-k8s-%{version}.tar.gz Source: frr-k8s-%{version}.tar
Source1: vendor.tar.gz Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22 BuildRequires: golang(API) = 1.22
ExcludeArch: s390 ExcludeArch: s390

View File

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

View File

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

View File

@@ -1,23 +0,0 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/metal3-io/ip-address-manager</param>
<param name="scm">git</param>
<param name="revision">v1.7.2</param>
<param name="version">_auto_</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">steven.hardy@suse.com</param>
<param name="match-tag">v*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<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>
<service name="go_modules">
</service>
<service mode="buildtime" name="set_version" />
</services>

View File

@@ -1,51 +0,0 @@
#
# spec file for package ip-address-manager
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: ip-address-manager
Version: 1.7.2
Release: 0
Summary: Metal3 IPAM controller
License: Apache-2.0
URL: https://github.com/metal3-io/ip-address-manager
Source: ip-address-manager-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390
ExcludeArch: %{ix86}
%description
Metal3 IPAM controller
%prep
%autosetup -a1 -n ip-address-manager-%{version}
%build
go build \
-mod=vendor \
-buildmode=pie \
%install
install -D -m0755 ip-address-manager %{buildroot}%{_bindir}/ip-address-manager
%files
%license LICENSE
%doc README.md
%{_bindir}/ip-address-manager
%changelog

View File

@@ -1,6 +1,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.0 #!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%
#!BuildVersion: 15.6 #!BuildVersion: 15.6
ARG SLE_VERSION ARG SLE_VERSION
@@ -8,7 +8,14 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
RUN set -euo pipefail; zypper -n in --no-recommends gcc git make xz-devel shim dosfstools mtools glibc-extra grub2-x86_64-efi grub2; zypper -n clean; rm -rf /var/log/* #!ArchExclusiveLine: x86_64
RUN if [ "$(uname -m)" = "x86_64" ];then \
zypper -n in --no-recommends gcc git make xz-devel shim dosfstools mtools glibc-extra grub2-x86_64-efi grub2; zypper -n clean; rm -rf /var/log/*; \
fi
#!ArchExclusiveLine: aarch64
RUN if [ "$(uname -m)" = "aarch64" ];then \
zypper -n rm kubic-locale-archive-2.31-10.36.noarch openssl-1_1-1.1.1l-150500.17.37.1.aarch64; zypper -n in --no-recommends gcc git make xz-devel openssl-3 mokutil shim dosfstools mtools glibc glibc-extra grub2 grub2-arm64-efi; zypper -n clean; rm -rf /var/log/* ;\
fi
WORKDIR /tmp WORKDIR /tmp
COPY prepare-efi.sh /bin/ COPY prepare-efi.sh /bin/
RUN set -euo pipefail; chmod +x /bin/prepare-efi.sh RUN set -euo pipefail; chmod +x /bin/prepare-efi.sh
@@ -16,7 +23,15 @@ RUN /bin/prepare-efi.sh
COPY --from=micro / /installroot/ COPY --from=micro / /installroot/
RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
RUN zypper --installroot /installroot --non-interactive install --no-recommends python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp syslinux ipxe-bootimgs crudini openstack-ironic
#!ArchExclusiveLine: x86_64
RUN if [ "$(uname -m)" = "x86_64" ];then \
zypper --installroot /installroot --non-interactive install --no-recommends syslinux python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 apache2-mod_wsgi inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp ipxe-bootimgs python311-sushy-tools crudini openstack-ironic openstack-ironic-inspector-api; \
fi
#!ArchExclusiveLine: aarch64
RUN if [ "$(uname -m)" = "aarch64" ];then \
zypper --installroot /installroot --non-interactive install --no-recommends python311-devel python311 python311-pip python-dracclient python311-sushy-oem-idrac python311-proliantutils python311-sushy python3-ironicclient git curl sles-release tar gzip vim gawk dnsmasq dosfstools apache2 apache2-mod_wsgi inotify-tools ipcalc ipmitool iproute2 procps qemu-tools sqlite3 util-linux xorriso tftp ipxe-bootimgs python311-sushy-tools crudini openstack-ironic openstack-ironic-inspector-api; \
fi
# DATABASE # DATABASE
RUN mkdir -p /installroot/var/lib/ironic && \ RUN mkdir -p /installroot/var/lib/ironic && \
@@ -31,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.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opencontainers.image.version="26.1.2.0" LABEL org.opencontainers.image.version="26.1.2.3"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.0-%RELEASE%" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"
@@ -64,7 +79,15 @@ RUN mkdir -p $GRUB_DIR
# IRONIC # # IRONIC #
RUN cp /usr/share/ipxe/undionly.kpxe /tftpboot/undionly.kpxe RUN cp /usr/share/ipxe/undionly.kpxe /tftpboot/undionly.kpxe
RUN cp /usr/share/ipxe/ipxe-x86_64.efi /tftpboot/ipxe.efi #!ArchExclusiveLine: x86_64
RUN if [ "$(uname -m)" = "x86_64" ];then \
cp /usr/share/ipxe/ipxe-x86_64.efi /tftpboot/ipxe.efi ;\
fi
#!ArchExclusiveLine: x86_64
RUN if [ "$(uname -m)" = "aarch64" ]; then\
cp /usr/share/ipxe/snp-arm64.efi /tftpboot/ipxe.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp-arm64.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp.efi ;\
fi
COPY --from=base /tmp/esp.img /tmp/uefi_esp.img COPY --from=base /tmp/esp.img /tmp/uefi_esp.img
COPY ironic.conf.j2 /etc/ironic/ COPY ironic.conf.j2 /etc/ironic/

View File

@@ -10,17 +10,15 @@ Listen {{ env.VMEDIA_TLS_PORT }}
SSLCertificateFile {{ env.IRONIC_VMEDIA_CERT_FILE }} SSLCertificateFile {{ env.IRONIC_VMEDIA_CERT_FILE }}
SSLCertificateKeyFile {{ env.IRONIC_VMEDIA_KEY_FILE }} SSLCertificateKeyFile {{ env.IRONIC_VMEDIA_KEY_FILE }}
<Directory ~ "/shared/html"> <Directory "/shared">
Order deny,allow AllowOverride None
deny from all Require all granted
</Directory> </Directory>
<Directory ~ "/shared/html/(redfish|ilo)/">
Order allow,deny <Directory "/shared/html">
allow from all Options Indexes FollowSymLinks
</Directory> AllowOverride None
<Directory ~ "/shared/html/images/"> Require all granted
Order allow,deny
allow from all
</Directory> </Directory>
</VirtualHost> </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 # Power state is checked every 60 seconds and BMC activity should
# be avoided more often than once every sixty seconds. # be avoided more often than once every sixty seconds.
send_sensor_data_interval = 160 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 verify_step_priority_override = management.clear_job_queue:90
# We don't use this feature, and it creates an additional load on the database # We don't use this feature, and it creates an additional load on the database
node_history = False node_history = False
@@ -112,7 +112,7 @@ default_boot_option = local
erase_devices_metadata_priority = 10 erase_devices_metadata_priority = 10
erase_devices_priority = 0 erase_devices_priority = 0
http_root = /shared/html/ 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 }} fast_track = {{ env.IRONIC_FAST_TRACK }}
{% if env.IRONIC_BOOT_ISO_SOURCE %} {% if env.IRONIC_BOOT_ISO_SOURCE %}
ramdisk_image_download_source = {{ env.IRONIC_BOOT_ISO_SOURCE }} ramdisk_image_download_source = {{ env.IRONIC_BOOT_ISO_SOURCE }}

View File

@@ -6,22 +6,37 @@ ARCH=$(uname -m)
DEST=${2:-/tmp/esp.img} DEST=${2:-/tmp/esp.img}
OS=${1:-sles} OS=${1:-sles}
BOOTEFI=BOOTX64.efi if [ $ARCH = "aarch64" ]; then
GRUBEFI=grubx64.efi BOOTEFI=BOOTAA64.EFI
GRUBEFI=grubaa64.efi
else
BOOTEFI=BOOTX64.efi
GRUBEFI=grubx64.efi
fi
dd bs=1024 count=6400 if=/dev/zero of=$DEST dd bs=1024 count=6400 if=/dev/zero of=$DEST
mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST
mkdir -p /boot/efi/EFI/BOOT mkdir -p /boot/efi/EFI/BOOT
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
mkdir -p /boot/efi/EFI/$OS mkdir -p /boot/efi/EFI/$OS
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI if [ $ARCH = "aarch64" ]; then
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi cp -L /usr/share/efi/aarch64/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
cp -L /usr/share/efi/aarch64/grub.efi /boot/efi/EFI/BOOT/grub.efi
cp /usr/share/grub2/arm64-efi/grub.efi /boot/efi/EFI/$OS/grubaa64.efi
else
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi
fi
mmd -i $DEST EFI mmd -i $DEST EFI
mmd -i $DEST EFI/BOOT mmd -i $DEST EFI/BOOT
mcopy -i $DEST -v /boot/efi/EFI/BOOT/$BOOTEFI ::EFI/BOOT mcopy -i $DEST -v /boot/efi/EFI/BOOT/$BOOTEFI ::EFI/BOOT
#mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT if [ $ARCH = "aarch64" ]; then
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT mcopy -i $DEST -v /boot/efi/EFI/BOOT/grub.efi ::EFI/BOOT
mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT
else
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT
fi
mdir -i $DEST ::EFI/BOOT; mdir -i $DEST ::EFI/BOOT;

View File

@@ -3,6 +3,14 @@
# Ramdisk logs path # Ramdisk logs path
LOG_DIR="/shared/log/ironic/deploy" LOG_DIR="/shared/log/ironic/deploy"
# The ironic container creates the directory, wait for
# it to exist before running inotifywait or it can fail causing
# a spurious restart
while [ ! -d "${LOG_DIR}" ]; do
echo "Waiting for ${LOG_DIR}"
sleep 5
done
inotifywait -m "${LOG_DIR}" -e close_write | inotifywait -m "${LOG_DIR}" -e close_write |
while read -r path _action file; do while read -r path _action file; do
echo "************ Contents of ${path}/${file} ramdisk log file bundle **************" echo "************ Contents of ${path}/${file} ramdisk log file bundle **************"

View File

@@ -1,6 +1,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0 #!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.1
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.1-%RELEASE%
#!BuildVersion: 15.6 #!BuildVersion: 15.6
ARG SLE_VERSION ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
@@ -8,7 +8,14 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
COPY --from=micro / /installroot/ COPY --from=micro / /installroot/
RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
RUN zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/* #!ArchExclusiveLine: x86_64
RUN if [ "$(uname -m)" = "x86_64" ];then \
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
fi
#!ArchExclusiveLine: aarch64
RUN if [ "$(uname -m)" = "aarch64" ];then \
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-aarch64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
fi
#RUN zypper --installroot /installroot --non-interactive install --no-recommends sles-release; #RUN zypper --installroot /installroot --non-interactive install --no-recommends sles-release;
RUN cp /usr/bin/getopt /installroot/ RUN cp /usr/bin/getopt /installroot/
@@ -19,11 +26,11 @@ FROM micro AS final
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image" LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image." LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="3.0.0" LABEL org.opencontainers.image.version="3.0.1"
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/" LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.0-%RELEASE%" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"

View File

@@ -1,12 +1,6 @@
<services> <services>
<service mode="buildtime" name="kiwi_metainfo_helper"/> <service mode="buildtime" name="kiwi_metainfo_helper"/>
<service mode="buildtime" name="docker_label_helper"/> <service mode="buildtime" name="docker_label_helper"/>
<service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="regex">%%ironic-ipa-ramdisk-x86_64_version%%</param>
<param name="package">ironic-ipa-ramdisk-x86_64</param>
<param name="parse-version">patch</param>
</service>
<service name="replace_using_env" mode="buildtime"> <service name="replace_using_env" mode="buildtime">
<param name="file">Dockerfile</param> <param name="file">Dockerfile</param>
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param> <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>

View File

@@ -8,10 +8,10 @@ export no_proxy=${no_proxy:-$NO_PROXY}
# Which image should we use # Which image should we use
if [ -z "${IPA_BASEURI}" ]; then if [ -z "${IPA_BASEURI}" ]; then
# SLES BASED IPA - openstack-ironic-image-x86_64 package # SLES BASED IPA - ironic-ipa-ramdisk-x86_64 package
mkdir -p /shared/html/images mkdir -p /shared/html/images
cp /tmp/initrd.xz /shared/html/images/ironic-python-agent.initramfs cp /tmp/initrd.xz /shared/html/images/ironic-python-agent.initramfs
cp /tmp/openstack-ironic-image*.x86_64*.kernel /shared/html/images/ironic-python-agent.kernel cp /tmp/openstack-ironic-image*.kernel /shared/html/images/ironic-python-agent.kernel
else else
FILENAME=ironic-python-agent FILENAME=ironic-python-agent
FILENAME_EXT=.tar FILENAME_EXT=.tar

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<image schemaversion="7.4" name="openstack-ironic-image-201"> <image schemaversion="7.4" name="openstack-ironic-image-301">
<description type="system"> <description type="system">
<author>Cloud developers</author> <author>Cloud developers</author>
<contact>cloud-devel@suse.de</contact> <contact>cloud-devel@suse.de</contact>
@@ -116,8 +116,9 @@
<package name="vim"/> <package name="vim"/>
<package name="grub2"/> <package name="grub2"/>
<package name="grub2-x86_64-efi" arch="x86_64"/> <package name="grub2-x86_64-efi" arch="x86_64"/>
<package name="grub2-i386-pc"/> <package name="grub2-arm64-efi" arch="aarch64"/>
<package name="syslinux"/> <package name="grub2-i386-pc" arch="x86_64"/>
<package name="syslinux" arch="x86_64"/>
<package name="lvm2"/> <package name="lvm2"/>
<package name="plymouth"/> <package name="plymouth"/>
<package name="fontconfig"/> <package name="fontconfig"/>
@@ -135,12 +136,10 @@
<package name="openstack-ironic-python-agent"/> <package name="openstack-ironic-python-agent"/>
<package name="hdparm"/> <package name="hdparm"/>
<package name="qemu-tools"/> <package name="qemu-tools"/>
<package name="python311-proliantutils" arch="x86_64"/> <package name="python311-proliantutils"/>
<package name="lshw"/> <package name="lshw"/>
<package name="dmidecode" arch="aarch64"/> <package name="dmidecode"/>
<package name="dmidecode" arch="x86_64"/> <package name="efibootmgr"/>
<package name="efibootmgr" arch="aarch64" />
<package name="efibootmgr" arch="x86_64" />
<package name="gptfdisk"/> <package name="gptfdisk"/>
<package name="open-iscsi"/> <package name="open-iscsi"/>
<package name="hwinfo"/> <package name="hwinfo"/>
@@ -157,7 +156,6 @@
</packages> </packages>
<packages type="kis"> <packages type="kis">
<package name="gfxboot-branding-SLE"/>
<package name="dracut-kiwi-oem-repart"/> <package name="dracut-kiwi-oem-repart"/>
<package name="dracut-kiwi-oem-dump"/> <package name="dracut-kiwi-oem-dump"/>
</packages> </packages>

View File

@@ -19,7 +19,7 @@
Name: ironic-ipa-ramdisk Name: ironic-ipa-ramdisk
Version: 3.0.0 Version: 3.0.1
Release: 0 Release: 0
Summary: Kernel and ramdisk image for OpenStack Ironic Summary: Kernel and ramdisk image for OpenStack Ironic
License: SUSE-EULA License: SUSE-EULA
@@ -49,7 +49,12 @@ BuildRequires: fontconfig
BuildRequires: fonts-config BuildRequires: fonts-config
BuildRequires: gptfdisk BuildRequires: gptfdisk
BuildRequires: grub2 BuildRequires: grub2
%ifarch x86_64
BuildRequires: grub2-x86_64-efi BuildRequires: grub2-x86_64-efi
%endif
%ifarch aarch64
BuildRequires: grub2-arm64-efi
%endif
BuildRequires: haveged BuildRequires: haveged
BuildRequires: hdparm BuildRequires: hdparm
BuildRequires: hwinfo BuildRequires: hwinfo
@@ -93,19 +98,14 @@ BuildRequires: plymouth-dracut
BuildRequires: plymouth-theme-bgrt BuildRequires: plymouth-theme-bgrt
BuildRequires: dracut-kiwi-oem-dump BuildRequires: dracut-kiwi-oem-dump
BuildRequires: dracut-kiwi-oem-repart BuildRequires: dracut-kiwi-oem-repart
BuildRequires: gfxboot-branding-SLE
BuildRequires: grub2-branding-SLE BuildRequires: grub2-branding-SLE
BuildRequires: open-iscsi BuildRequires: open-iscsi
BuildRequires: plymouth-branding-SLE BuildRequires: plymouth-branding-SLE
BuildRequires: lshw BuildRequires: lshw
BuildRequires: kbd BuildRequires: kbd
%ifarch aarch64
BuildRequires: dmidecode BuildRequires: dmidecode
BuildRequires: efibootmgr BuildRequires: efibootmgr
%endif
%ifarch x86_64 %ifarch x86_64
BuildRequires: dmidecode
BuildRequires: efibootmgr
BuildRequires: syslinux BuildRequires: syslinux
%endif %endif

Binary file not shown.

View File

@@ -1,17 +1,20 @@
#!BuildTag: kiwi-builder:10.1 #!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1-%RELEASE%
FROM registry.suse.com/bci/kiwi:10.1.10 #!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1
MAINTAINER SUSE LLC (https://www.suse.com/)
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 # Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.akri # labelprefix=com.suse.application.akri
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" 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.title="SLE Kiwi Builder Container Image"
LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base 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.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:10.1" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"
@@ -20,12 +23,8 @@ LABEL com.suse.image-type="application"
LABEL com.suse.release-stage="released" LABEL com.suse.release-stage="released"
# endlabelprefix # endlabelprefix
# Install required packages for Kiwi to function as expected # help the build service understand the need for python3-kiwi
# Should be provided via https://github.com/SUSE/BCI-dockerfile-generator/pull/1770 RUN zypper -n install -d -D python3-kiwi; [ "%%kiwi_version%%" = "${KIWIVERSION}" ] || { echo "expected kiwi version ${KIWIVERSION}: version mismatch"; exit 1; }
# RUN zypper in -y gawk && zypper clean -a
# Configure Kiwi to use kpartx
RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml
# Copy build script into image and make it executable # Copy build script into image and make it executable
ADD build-image.sh /usr/bin/build-image ADD build-image.sh /usr/bin/build-image

View File

@@ -8,40 +8,48 @@ Please ensure that you're running this on a registered SLE Micro 6.0 system, and
Next, download the podman image: Next, download the podman image:
# podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10 # podman pull %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:%%kiwi_version%%.1
Make a local output directory (where the images will reside): Make a local output directory (where the images will reside):
# mkdir output # mkdir output
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:%%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:%%kiwi_version%%.1 build-image -p Base-SelfInstall
Then, to build a standard "Default" image, run the following in podman: 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 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 -p Default
To build a SelfInstall ISO, you can add additional flags, for example: 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 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: 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 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: 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 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/ # mkdir mydefs/
# cp /path/to/SL-Micro.kiwi mydefs/ # cp /path/to/SL-Micro.kiwi mydefs/
# cp /path/to/config.sh 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 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: All output will be in the local $(pwd)/output directory, for example:
# ls -1 output/ # ls -1 output/
SLE-Micro.x86_64-6.0.changes SL-Micro.x86_64-6.0.changes
SLE-Micro.x86_64-6.0.packages SL-Micro.x86_64-6.0.packages
SLE-Micro.x86_64-6.0.raw SL-Micro.x86_64-6.0.raw
SLE-Micro.x86_64-6.0.verified SL-Micro.x86_64-6.0.verified
build build
kiwi.result kiwi.result
kiwi.result.json kiwi.result.json

View File

@@ -16,4 +16,14 @@
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param> <param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
<param name="var">SUPPORT_LEVEL</param> <param name="var">SUPPORT_LEVEL</param>
</service> </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> </services>

View File

@@ -21,7 +21,7 @@
# #
# Set image build defaults, blocksize is an empty string # Set image build defaults, blocksize is an empty string
PROFILE="Default" PROFILE="Base"
LARGEBLOCK=false LARGEBLOCK=false
# Print usage # Print usage
@@ -34,15 +34,17 @@ usage(){
Usage: ${0} [-p <profile>] [-b] Usage: ${0} [-p <profile>] [-b]
Profile Options (-p): Profile Options (-p):
* Default: RAW Disk Image with kernel-default * Base: RAW Disk Image with podman
* Default-SelfInstall: SelfInstall ISO with kernel-default * Base-SelfInstall: SelfInstall ISO with podman
* Default: RAW Disk Image with podman and kvm
* Default-SelfInstall: SelfInstall ISO with podman and kvm
* Base-RT: RAW Disk Image with kernel-rt * Base-RT: RAW Disk Image with kernel-rt
* Base-RT-SelfInstall: SelfInstall ISO with kernel-rt * Base-RT-SelfInstall: SelfInstall ISO with kernel-rt
4096 Blocksize (-b): If specified, use a 4096 blocksize (rather than 512) when generating the image. 4096 Blocksize (-b): If specified, use a 4096 blocksize (rather than 512) when generating the image.
NOTE: If both options are omitted, the "Default" profile with a standard "512" blocksize is used. NOTE: If both options are omitted, the "Base" profile with a standard "512" blocksize is used.
EOF EOF
} }
# Grab CLI options and handle # Grab CLI options and handle

View File

@@ -12,10 +12,8 @@
<param name="without-version">yes</param> <param name="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
</service> </service>
<service mode="buildtime" name="tar" /> <service mode="buildtime" name="tar" >
<service mode="buildtime" name="recompress"> <param name="obsinfo">kube-rbac-proxy.obsinfo</param>
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service> </service>
<service name="go_modules"> <service name="go_modules">
</service> </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 Summary: The kube-rbac-proxy is a small HTTP proxy for a single upstream
License: Apache-2.0 License: Apache-2.0
URL: https://github.com/brancz/kube-rbac-proxy 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 Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.23 BuildRequires: golang(API) = 1.23
ExcludeArch: s390 ExcludeArch: s390

View File

@@ -1,5 +1,6 @@
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0 #!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.1-%RELEASE%
annotations: annotations:
catalog.cattle.io/certified: rancher catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: KubeVirt catalog.cattle.io/display-name: KubeVirt
@@ -10,11 +11,12 @@ annotations:
catalog.cattle.io/rancher-version: '>= 2.10.0-0' catalog.cattle.io/rancher-version: '>= 2.10.0-0'
catalog.cattle.io/scope: management catalog.cattle.io/scope: management
catalog.cattle.io/ui-component: plugins catalog.cattle.io/ui-component: plugins
catalog.cattle.io/ui-extensions-version: '>= 3.0.0' catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
apiVersion: v2 apiVersion: v2
appVersion: 1.2.0 appVersion: 302.0.0+up1.2.1
description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard' 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 name: kubevirt-dashboard-extension
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up1.2.0" 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" . }} helm.sh/chart: {{ include "extension-server.chart" . }}
{{ include "extension-server.selectorLabels" . }} {{ include "extension-server.selectorLabels" . }}
{{- if .Chart.AppVersion }} {{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
{{- end }} {{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }} {{- end }}

View File

@@ -8,7 +8,7 @@ spec:
plugin: plugin:
name: {{ include "extension-server.fullname" . }} name: {{ include "extension-server.fullname" . }}
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }} 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.0 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 }} noCache: {{ .Values.plugin.noCache }}
noAuth: {{ .Values.plugin.noAuth }} noAuth: {{ .Values.plugin.noAuth }}
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }} metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}

View File

@@ -8,5 +8,5 @@ plugin:
metadata: metadata:
catalog.cattle.io/display-name: KubeVirt catalog.cattle.io/display-name: KubeVirt
catalog.cattle.io/rancher-version: ">= 2.10.0-0" catalog.cattle.io/rancher-version: ">= 2.10.0-0"
catalog.cattle.io/ui-extensions-version: ">= 3.0.0" catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
catalog.cattle.io/kube-version: ">= v1.26.0-0" catalog.cattle.io/kube-version: ">= v1.26.0-0"

View File

@@ -1,16 +1,16 @@
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0 #!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.1_up0.9.4
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.1_up0.9.4-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: 0.9.0 appVersion: 0.9.4
dependencies: dependencies:
- alias: metal3-baremetal-operator - alias: metal3-baremetal-operator
name: baremetal-operator name: baremetal-operator
repository: file://./charts/baremetal-operator repository: file://./charts/baremetal-operator
version: 0.6.0 version: 0.6.1
- alias: metal3-ironic - alias: metal3-ironic
name: ironic name: ironic
repository: file://./charts/ironic repository: file://./charts/ironic
version: 0.8.0 version: 0.9.3
- alias: metal3-mariadb - alias: metal3-mariadb
condition: global.enable_mariadb condition: global.enable_mariadb
name: mariadb name: mariadb
@@ -20,9 +20,9 @@ dependencies:
condition: global.enable_metal3_media_server condition: global.enable_metal3_media_server
name: media name: media
repository: file://./charts/media repository: file://./charts/media
version: 0.6.0 version: 0.6.1
description: A Helm chart that installs all of the dependencies needed for Metal3 description: A Helm chart that installs all of the dependencies needed for Metal3
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
name: metal3 name: metal3
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up0.9.0" version: "%%CHART_MAJOR%%.0.1+up0.9.4"

View File

@@ -3,4 +3,4 @@ appVersion: 0.8.0
description: A Helm chart for baremetal-operator, used by Metal3 description: A Helm chart for baremetal-operator, used by Metal3
name: baremetal-operator name: baremetal-operator
type: application type: application
version: 0.6.0 version: 0.6.1

View File

@@ -1,15 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "baremetal-operator.fullname" . }}-test-connection"
labels:
{{- include "baremetal-operator.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "baremetal-operator.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

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

View File

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

View File

@@ -56,11 +56,11 @@ images:
ironic: ironic:
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: 26.1.2.0 tag: 26.1.2.3
ironicIPADownloader: ironicIPADownloader:
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: 3.0.0 tag: 3.0.1
nameOverride: "" nameOverride: ""
fullnameOverride: "" fullnameOverride: ""

View File

@@ -3,4 +3,4 @@ appVersion: 1.16.0
description: A Helm chart for Media, used by Metal3 description: A Helm chart for Media, used by Metal3
name: media name: media
type: application type: application
version: 0.6.0 version: 0.6.1

View File

@@ -1,15 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "media.fullname" . }}-test-connection"
labels:
{{- include "media.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "media.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@@ -24,7 +24,7 @@ replicaCount: 1
image: image:
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: 26.1.2.0 tag: 26.1.2.2
imagePullSecrets: [] imagePullSecrets: []
nameOverride: "" nameOverride: ""

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.1_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-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: v0.14.3 appVersion: v0.14.3
dependencies: dependencies:
- condition: frrk8s.enabled - alias: metallb-frr-k8s
condition: frrk8s.enabled
name: frr-k8s name: frr-k8s
repository: file://./charts/frr-k8s repository: file://./charts/frr-k8s
version: 0.0.15 version: 0.0.15
@@ -20,4 +21,4 @@ name: metallb
sources: sources:
- https://github.com/metallb/metallb - https://github.com/metallb/metallb
type: application 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 # the image to be used for the kuberbacproxy container
rbacProxy: rbacProxy:
repository: "registry.opensuse.org/isv/suse/edge/metallb/images/kube-rbac-proxy" repository: "registry.opensuse.org/isv/suse/edge/metallb/images/kube-rbac-proxy"
tag: "v0.18.0" tag: "0.18.1"
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Prometheus Operator ServiceMonitors. # Prometheus Operator ServiceMonitors.

View File

@@ -378,3 +378,15 @@ frrk8s:
enabled: false enabled: false
external: false external: false
namespace: "" 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="without-version">yes</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
</service> </service>
<service mode="buildtime" name="tar" /> <service mode="buildtime" name="tar">
<service mode="buildtime" name="recompress"> <param name="obsinfo">metallb.obsinfo</param>
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service> </service>
<service name="go_modules"> <service name="go_modules">
</service> </service>

View File

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

View File

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

View File

@@ -1,10 +1,10 @@
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.14.1
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.14.1
apiVersion: v2 apiVersion: v2
appVersion: 0.13.0 appVersion: 0.14.1
description: Rancher Turtles utility chart for airgap scenarios description: Rancher Turtles utility chart for airgap scenarios
home: https://github.com/rancher/turtles/ home: https://github.com/rancher/turtles/
icon: https://raw.githubusercontent.com/rancher/turtles/main/logos/capi.svg icon: https://raw.githubusercontent.com/rancher/turtles/main/logos/capi.svg
name: rancher-turtles-airgap-resources name: rancher-turtles-airgap-resources
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up0.13.0" version: "%%CHART_MAJOR%%.0.0+up0.14.1"

File diff suppressed because one or more lines are too long

View File

@@ -35,7 +35,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: ipam-webhook-service name: ipam-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -208,7 +207,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: ipam-webhook-service name: ipam-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -369,7 +367,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: ipam-webhook-service name: ipam-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -536,7 +533,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -699,6 +695,91 @@ data:
--- ---
apiVersion: apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3clustertemplates.infrastructure.cluster.x-k8s.io
spec:
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3ClusterTemplate
listKind: Metal3ClusterTemplateList
plural: metal3clustertemplates
shortNames:
- m3ct
singular: metal3clustertemplate
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Metal3ClusterTemplate is the Schema for the metal3clustertemplates
API.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Metal3ClusterTemplateSpec defines the desired state of Metal3ClusterTemplate.
properties:
template:
description: Metal3ClusterTemplateResource describes the data for
creating a Metal3Cluster from a template.
properties:
spec:
description: Metal3ClusterSpec defines the desired state of Metal3Cluster.
properties:
controlPlaneEndpoint:
description: ControlPlaneEndpoint represents the endpoint
used to communicate with the control plane.
properties:
host:
description: Host is the hostname on which the API server
is serving.
type: string
port:
description: Port is the port on which the API server
is serving.
type: integer
required:
- host
- port
type: object
noCloudProvider:
description: Determines if the cluster is not to be deployed
with an external cloud provider. If set to true, CAPM3 will
use node labels to set providerID on the kubernetes nodes.
If set to false, providerID is set on nodes by other entities
and CAPM3 uses the value of the providerID on the m3m resource.
type: boolean
type: object
required:
- spec
type: object
required:
- template
type: object
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
@@ -712,7 +793,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -868,7 +948,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -1064,7 +1143,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -2078,7 +2156,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -2150,6 +2227,17 @@ data:
- metadata - metadata
- disabled - disabled
type: string type: string
customDeploy:
description: A custom deploy procedure.
properties:
method:
description: Custom deploy method name. This name is specific
to the deploy ramdisk used. If you don't have a custom deploy
ramdisk, you shouldn't use CustomDeploy.
type: string
required:
- method
type: object
dataTemplate: dataTemplate:
description: MetadataTemplate is a reference to a Metal3DataTemplate description: MetadataTemplate is a reference to a Metal3DataTemplate
object containing a template of metadata to be rendered. Metadata object containing a template of metadata to be rendered. Metadata
@@ -2302,8 +2390,6 @@ data:
type: string type: string
type: object type: object
x-kubernetes-map-type: atomic x-kubernetes-map-type: atomic
required:
- image
type: object type: object
status: status:
description: Metal3MachineStatus defines the observed state of Metal3Machine. description: Metal3MachineStatus defines the observed state of Metal3Machine.
@@ -2521,7 +2607,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -2591,6 +2676,17 @@ data:
- metadata - metadata
- disabled - disabled
type: string type: string
customDeploy:
description: A custom deploy procedure.
properties:
method:
description: Custom deploy method name. This name is specific
to the deploy ramdisk used. If you don't have a custom
deploy ramdisk, you shouldn't use CustomDeploy.
type: string
required:
- method
type: object
dataTemplate: dataTemplate:
description: MetadataTemplate is a reference to a Metal3DataTemplate description: MetadataTemplate is a reference to a Metal3DataTemplate
object containing a template of metadata to be rendered. object containing a template of metadata to be rendered.
@@ -2745,8 +2841,6 @@ data:
type: string type: string
type: object type: object
x-kubernetes-map-type: atomic x-kubernetes-map-type: atomic
required:
- image
type: object type: object
required: required:
- spec - spec
@@ -2774,7 +2868,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -2889,7 +2982,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: capm3-webhook-service name: capm3-webhook-service
namespace: capm3-system namespace: capm3-system
@@ -3173,6 +3265,12 @@ data:
- patch - patch
- update - update
- watch - watch
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- apiGroups: - apiGroups:
- infrastructure.cluster.x-k8s.io - infrastructure.cluster.x-k8s.io
resources: resources:
@@ -3391,6 +3489,13 @@ data:
- get - get
- patch - patch
- update - update
- apiGroups:
- storage.k8s.io
resources:
- volumeattachments
verbs:
- list
- watch
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
@@ -3634,7 +3739,7 @@ data:
containers: containers:
- args: - args:
- --webhook-port=9443 - --webhook-port=9443
- --enableBMHNameBasedPreallocation=${enableBMHNameBasedPreallocation:=false} - --enableBMHNameBasedPreallocation=${ENABLE_BMH_NAME_BASED_PREALLOCATION:=false}
- --diagnostics-address=${CAPM3_DIAGNOSTICS_ADDRESS:=:8443} - --diagnostics-address=${CAPM3_DIAGNOSTICS_ADDRESS:=:8443}
- --insecure-diagnostics=${CAPM3_INSECURE_DIAGNOSTICS:=false} - --insecure-diagnostics=${CAPM3_INSECURE_DIAGNOSTICS:=false}
command: command:
@@ -3647,7 +3752,7 @@ data:
envFrom: envFrom:
- configMapRef: - configMapRef:
name: capm3-capm3fasttrack-configmap name: capm3-capm3fasttrack-configmap
image: quay.io/metal3-io/cluster-api-provider-metal3:v1.7.2 image: registry.rancher.com/rancher/cluster-api-provider-metal3:v1.8.2
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -3676,6 +3781,7 @@ data:
privileged: false privileged: false
runAsGroup: 65532 runAsGroup: 65532
runAsUser: 65532 runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs - mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert name: cert
@@ -3731,7 +3837,7 @@ data:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
image: quay.io/metal3-io/ip-address-manager:v1.7.2 image: quay.io/metal3-io/ip-address-manager:v1.8.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -3760,6 +3866,7 @@ data:
privileged: false privileged: false
runAsGroup: 65532 runAsGroup: 65532
runAsUser: 65532 runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs - mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert name: cert
@@ -3864,6 +3971,28 @@ data:
resources: resources:
- metal3clusters - metal3clusters
sideEffects: None sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3clustertemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3clustertemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clustertemplates
sideEffects: None
- admissionReviewVersions: - admissionReviewVersions:
- v1 - v1
- v1beta1 - v1beta1
@@ -4126,6 +4255,28 @@ data:
resources: resources:
- metal3clusters - metal3clusters
sideEffects: None sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3clustertemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3clustertemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clustertemplates
sideEffects: None
- admissionReviewVersions: - admissionReviewVersions:
- v1 - v1
- v1beta1 - v1beta1
@@ -4360,6 +4511,9 @@ data:
apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3 apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3
kind: Metadata kind: Metadata
releaseSeries: releaseSeries:
- major: 1
minor: 8
contract: v1beta1
- major: 1 - major: 1
minor: 7 minor: 7
contract: v1beta1 contract: v1beta1
@@ -4384,7 +4538,7 @@ data:
kind: ConfigMap kind: ConfigMap
metadata: metadata:
creationTimestamp: null creationTimestamp: null
name: v1.7.2 name: v1.8.2
namespace: capm3-system namespace: capm3-system
labels: labels:
provider-components: metal3 provider-components: metal3

View File

@@ -32,7 +32,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: rke2-bootstrap-webhook-service name: rke2-bootstrap-webhook-service
namespace: rke2-bootstrap-system namespace: rke2-bootstrap-system
@@ -1237,7 +1236,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: rke2-bootstrap-webhook-service name: rke2-bootstrap-webhook-service
namespace: rke2-bootstrap-system namespace: rke2-bootstrap-system
@@ -2545,7 +2543,7 @@ data:
- --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false} - --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
command: command:
- /manager - /manager
image: ghcr.io/rancher/cluster-api-provider-rke2-bootstrap:v0.8.0 image: ghcr.io/rancher/cluster-api-provider-rke2-bootstrap:v0.9.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -2574,6 +2572,7 @@ data:
privileged: false privileged: false
runAsGroup: 65532 runAsGroup: 65532
runAsUser: 65532 runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs - mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert name: cert
@@ -2755,10 +2754,13 @@ data:
- major: 0 - major: 0
minor: 8 minor: 8
contract: v1beta1 contract: v1beta1
- major: 0
minor: 9
contract: v1beta1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
creationTimestamp: null creationTimestamp: null
name: v0.8.0 name: v0.9.0
namespace: rke2-bootstrap-system namespace: rke2-bootstrap-system
labels: labels:
provider-components: rke2-bootstrap provider-components: rke2-bootstrap

View File

@@ -32,7 +32,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: rke2-control-plane-webhook-service name: rke2-control-plane-webhook-service
namespace: rke2-control-plane-system namespace: rke2-control-plane-system
@@ -2620,7 +2619,6 @@ data:
strategy: Webhook strategy: Webhook
webhook: webhook:
clientConfig: clientConfig:
caBundle: Cg==
service: service:
name: rke2-control-plane-webhook-service name: rke2-control-plane-webhook-service
namespace: rke2-control-plane-system namespace: rke2-control-plane-system
@@ -4295,7 +4293,7 @@ data:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.uid fieldPath: metadata.uid
image: ghcr.io/rancher/cluster-api-provider-rke2-controlplane:v0.8.0 image: ghcr.io/rancher/cluster-api-provider-rke2-controlplane:v0.9.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -4331,6 +4329,7 @@ data:
privileged: false privileged: false
runAsGroup: 65532 runAsGroup: 65532
runAsUser: 65532 runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs - mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert name: cert
@@ -4512,10 +4511,13 @@ data:
- major: 0 - major: 0
minor: 8 minor: 8
contract: v1beta1 contract: v1beta1
- major: 0
minor: 9
contract: v1beta1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
creationTimestamp: null creationTimestamp: null
name: v0.8.0 name: v0.9.0
namespace: rke2-control-plane-system namespace: rke2-control-plane-system
labels: labels:
provider-components: rke2-control-plane provider-components: rke2-control-plane

View File

@@ -3,4 +3,4 @@ dependencies:
repository: https://kubernetes-sigs.github.io/cluster-api-operator repository: https://kubernetes-sigs.github.io/cluster-api-operator
version: 0.14.0 version: 0.14.0
digest: sha256:9e9e851dbab3212c279efec06bcf0da147228ea1590470f3a8cbbb5806a250d4 digest: sha256:9e9e851dbab3212c279efec06bcf0da147228ea1590470f3a8cbbb5806a250d4
generated: "2024-10-28T11:44:34.392387979Z" generated: "2024-12-03T09:34:12.871417074Z"

View File

@@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.14.1
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.13.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.14.1-%RELEASE%
annotations: annotations:
catalog.cattle.io/certified: rancher catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension catalog.cattle.io/display-name: Rancher Turtles - the Cluster API Extension
@@ -7,12 +7,12 @@ annotations:
catalog.cattle.io/namespace: rancher-turtles-system catalog.cattle.io/namespace: rancher-turtles-system
catalog.cattle.io/os: linux catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux catalog.cattle.io/permits-os: linux
catalog.cattle.io/rancher-version: '>= 2.9.0-1' catalog.cattle.io/rancher-version: '>= 2.10.0-1'
catalog.cattle.io/release-name: rancher-turtles catalog.cattle.io/release-name: rancher-turtles
catalog.cattle.io/scope: management catalog.cattle.io/scope: management
catalog.cattle.io/type: cluster-tool catalog.cattle.io/type: cluster-tool
apiVersion: v2 apiVersion: v2
appVersion: 0.13.0 appVersion: 0.14.1
dependencies: dependencies:
- condition: cluster-api-operator.enabled - condition: cluster-api-operator.enabled
name: cluster-api-operator name: cluster-api-operator
@@ -29,4 +29,4 @@ keywords:
- provisioning - provisioning
name: rancher-turtles name: rancher-turtles
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up0.13.0" version: "%%CHART_MAJOR%%.0.0+up0.14.1"

View File

@@ -16,6 +16,9 @@ kind: ClusterctlConfig
metadata: metadata:
name: clusterctl-config name: clusterctl-config
namespace: rancher-turtles-system namespace: rancher-turtles-system
annotations:
"helm.sh/hook": "post-install, post-upgrade"
"helm.sh/hook-weight": "1"
spec: spec:
providers: providers:
- name: metal3 - name: metal3

View File

@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: rancher-turtles-system/rancher-turtles-etcdsnapshotrestore-serving-cert cert-manager.io/inject-ca-from: {{ index .Values "rancherTurtles" "namespace" }}/rancher-turtles-etcdsnapshotrestore-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0 controller-gen.kubebuilder.io/version: v0.14.0
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
@@ -45,77 +45,65 @@ spec:
properties: properties:
clusterName: clusterName:
type: string type: string
configRef:
type: string
location: location:
type: string type: string
machineName: machineName:
type: string type: string
required: required:
- clusterName - clusterName
- configRef
- location
- machineName
type: object type: object
x-kubernetes-validations: x-kubernetes-validations:
- message: ETCD snapshot location can't be empty. - message: ETCD snapshot location can't be empty.
rule: size(self.location)>0 rule: size(self.clusterName)>0
status: status:
default: {} default: {}
description: EtcdSnapshotRestoreStatus defines observed state of EtcdSnapshotRestore description: EtcdSnapshotRestoreStatus defines observed state of EtcdSnapshotRestore
properties: properties:
conditions: error:
description: Conditions provide observations of the operational state
of a Cluster API resource.
items:
description: Condition defines an observation of a Cluster API resource
operational state.
properties:
lastTransitionTime:
description: |-
Last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when
the API field changed is acceptable.
format: date-time
type: string type: string
message:
description: |-
A human readable message indicating details about the transition.
This field may be empty.
type: string
reason:
description: |-
The reason for the condition's last transition in CamelCase.
The specific API may choose whether or not this field is considered a guaranteed API.
This field may not be empty.
type: string
severity:
description: |-
Severity provides an explicit classification of Reason code, so the users or machines can immediately
understand the current situation and act accordingly.
The Severity field MUST be set only when Status=False.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: |-
Type of condition in CamelCase or in foo.example.com/CamelCase.
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
can be useful (see .node.status.conditions), the ability to deconflict is important.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
manual:
type: boolean
phase: phase:
description: ETCDSnapshotPhase is a string representation of the phase description: ETCDSnapshotPhase is a string representation of the phase
of the etcd snapshot of the etcd snapshot
type: string type: string
s3Snapshots:
items:
properties:
creationTime:
description: CreationTime is the timestamp when the snapshot
was taken by etcd.
format: date-time
type: string
location:
type: string
name:
type: string
required:
- location
- name
type: object
type: array
snapshotFileName:
type: string
snapshots:
items:
properties:
creationTime:
description: CreationTime is the timestamp when the snapshot
was taken by etcd.
format: date-time
type: string
location:
type: string
machineName:
type: string
name:
type: string
required:
- location
- machineName
- name
type: object
type: array
type: object type: object
type: object type: object
served: true served: true
@@ -127,7 +115,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: rancher-turtles-system/rancher-turtles-etcdsnapshotrestore-serving-cert cert-manager.io/inject-ca-from: {{ index .Values "rancherTurtles" "namespace" }}/rancher-turtles-etcdsnapshotrestore-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0 controller-gen.kubebuilder.io/version: v0.14.0
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
@@ -246,7 +234,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: rancher-turtles-system/rancher-turtles-etcdsnapshotrestore-serving-cert cert-manager.io/inject-ca-from: {{ index .Values "rancherTurtles" "namespace" }}/rancher-turtles-etcdsnapshotrestore-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0 controller-gen.kubebuilder.io/version: v0.14.0
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
@@ -306,8 +294,6 @@ spec:
type: string type: string
insecure: insecure:
type: boolean type: boolean
location:
type: string
region: region:
type: string type: string
s3CredentialSecret: s3CredentialSecret:
@@ -337,7 +323,7 @@ metadata:
app.kubernetes.io/part-of: rancher-turtles app.kubernetes.io/part-of: rancher-turtles
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-manager name: rancher-turtles-etcdsnapshotrestore-manager
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
@@ -351,7 +337,7 @@ metadata:
app.kubernetes.io/part-of: rancher-turtles app.kubernetes.io/part-of: rancher-turtles
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-leader-election-role name: rancher-turtles-etcdsnapshotrestore-leader-election-role
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
@@ -600,7 +586,7 @@ metadata:
app.kubernetes.io/part-of: rancher-turtles app.kubernetes.io/part-of: rancher-turtles
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-leader-election-rolebinding name: rancher-turtles-etcdsnapshotrestore-leader-election-rolebinding
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: Role kind: Role
@@ -608,7 +594,7 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: rancher-turtles-etcdsnapshotrestore-manager name: rancher-turtles-etcdsnapshotrestore-manager
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
@@ -629,7 +615,7 @@ roleRef:
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: rancher-turtles-etcdsnapshotrestore-manager name: rancher-turtles-etcdsnapshotrestore-manager
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
@@ -637,7 +623,7 @@ metadata:
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-webhook-service name: rancher-turtles-etcdsnapshotrestore-webhook-service
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
spec: spec:
ports: ports:
- port: 443 - port: 443
@@ -652,7 +638,7 @@ metadata:
control-plane: controller-manager control-plane: controller-manager
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-controller-manager name: rancher-turtles-etcdsnapshotrestore-controller-manager
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -671,7 +657,7 @@ spec:
- args: - args:
- --leader-elect - --leader-elect
command: command:
- /manager - ./etcd-snapshot-restore
env: env:
- name: POD_NAMESPACE - name: POD_NAMESPACE
valueFrom: valueFrom:
@@ -685,8 +671,13 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.uid fieldPath: metadata.uid
image: ghcr.io/rancher/turtles-etcd-snapshot-restore:dev {{- $imageVersion := index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "imageVersion" -}}
imagePullPolicy: IfNotPresent {{- if contains "sha256:" $imageVersion }}
image: {{ index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "image" }}@{{ index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "imageVersion" }}
{{- else }}
image: {{ index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "image" }}:{{ index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "imageVersion" }}
{{- end }}
imagePullPolicy: '{{ index .Values "rancherTurtles" "features" "etcd-snapshot-restore" "imagePullPolicy" }}'
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz
@@ -733,11 +724,11 @@ metadata:
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-serving-cert name: rancher-turtles-etcdsnapshotrestore-serving-cert
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
spec: spec:
dnsNames: dnsNames:
- rancher-turtles-etcdsnapshotrestore-webhook-service.rancher-turtles-system.svc - rancher-turtles-etcdsnapshotrestore-webhook-service.{{ index .Values "rancherTurtles" "namespace" }}.svc
- rancher-turtles-etcdsnapshotrestore-webhook-service.rancher-turtles-system.svc.cluster.local - rancher-turtles-etcdsnapshotrestore-webhook-service.{{ index .Values "rancherTurtles" "namespace" }}.svc.cluster.local
issuerRef: issuerRef:
kind: Issuer kind: Issuer
name: rancher-turtles-etcdsnapshotrestore-selfsigned-issuer name: rancher-turtles-etcdsnapshotrestore-selfsigned-issuer
@@ -749,7 +740,7 @@ metadata:
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-selfsigned-issuer name: rancher-turtles-etcdsnapshotrestore-selfsigned-issuer
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
spec: spec:
selfSigned: {} selfSigned: {}
--- ---
@@ -757,7 +748,7 @@ apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration kind: MutatingWebhookConfiguration
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: rancher-turtles-system/rancher-turtles-etcdsnapshotrestore-serving-cert cert-manager.io/inject-ca-from: {{ index .Values "rancherTurtles" "namespace" }}/rancher-turtles-etcdsnapshotrestore-serving-cert
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-mutating-webhook-configuration name: rancher-turtles-etcdsnapshotrestore-mutating-webhook-configuration
@@ -767,7 +758,7 @@ webhooks:
clientConfig: clientConfig:
service: service:
name: rancher-turtles-etcdsnapshotrestore-webhook-service name: rancher-turtles-etcdsnapshotrestore-webhook-service
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
path: /mutate-bootstrap-cluster-x-k8s-io-v1beta1-rke2config path: /mutate-bootstrap-cluster-x-k8s-io-v1beta1-rke2config
failurePolicy: Fail failurePolicy: Fail
name: systemagentrke2config.kb.io name: systemagentrke2config.kb.io
@@ -787,7 +778,7 @@ apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration kind: ValidatingWebhookConfiguration
metadata: metadata:
annotations: annotations:
cert-manager.io/inject-ca-from: rancher-turtles-system/rancher-turtles-etcdsnapshotrestore-serving-cert cert-manager.io/inject-ca-from: {{ index .Values "rancherTurtles" "namespace" }}/rancher-turtles-etcdsnapshotrestore-serving-cert
labels: labels:
turtles-capi.cattle.io: etcd-restore turtles-capi.cattle.io: etcd-restore
name: rancher-turtles-etcdsnapshotrestore-validating-webhook-configuration name: rancher-turtles-etcdsnapshotrestore-validating-webhook-configuration
@@ -797,7 +788,7 @@ webhooks:
clientConfig: clientConfig:
service: service:
name: rancher-turtles-etcdsnapshotrestore-webhook-service name: rancher-turtles-etcdsnapshotrestore-webhook-service
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
path: /validate-turtles-capi-cattle-io-v1alpha1-etcdmachinesnapshot path: /validate-turtles-capi-cattle-io-v1alpha1-etcdmachinesnapshot
failurePolicy: Fail failurePolicy: Fail
matchPolicy: Equivalent matchPolicy: Equivalent
@@ -818,7 +809,7 @@ webhooks:
clientConfig: clientConfig:
service: service:
name: rancher-turtles-etcdsnapshotrestore-webhook-service name: rancher-turtles-etcdsnapshotrestore-webhook-service
namespace: rancher-turtles-system namespace: {{ index .Values "rancherTurtles" "namespace" }}
path: /validate-turtles-capi-cattle-io-v1alpha1-etcdsnapshotrestore path: /validate-turtles-capi-cattle-io-v1alpha1-etcdsnapshotrestore
failurePolicy: Fail failurePolicy: Fail
matchPolicy: Equivalent matchPolicy: Equivalent

View File

@@ -1,6 +1,6 @@
rancherTurtles: rancherTurtles:
image: registry.rancher.com/rancher/rancher/turtles image: registry.rancher.com/rancher/rancher/turtles
imageVersion: v0.13.0 imageVersion: v0.14.1
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
namespace: rancher-turtles-system namespace: rancher-turtles-system
managerArguments: [] managerArguments: []
@@ -25,6 +25,9 @@ rancherTurtles:
enabled: false enabled: false
etcd-snapshot-restore: etcd-snapshot-restore:
enabled: false enabled: false
image: registry.rancher.com/rancher/rancher/turtles
imageVersion: v0.14.1
imagePullPolicy: IfNotPresent
addon-provider-fleet: addon-provider-fleet:
enabled: false enabled: false
cluster-api-operator: cluster-api-operator:
@@ -52,40 +55,35 @@ cluster-api-operator:
readOnly: true readOnly: true
cluster-api: cluster-api:
enabled: true enabled: true
version: "v1.7.7"
configSecret: configSecret:
name: "" name: ""
defaultName: capi-env-variables defaultName: capi-env-variables
core: core:
namespace: capi-system namespace: capi-system
imageUrl: "registry.rancher.com/rancher/cluster-api-controller:v1.7.7"
fetchConfig: fetchConfig:
url: "" url: ""
selector: "" selector: ""
rke2: rke2:
enabled: true enabled: true
version: "v0.8.0"
bootstrap: bootstrap:
namespace: rke2-bootstrap-system namespace: rke2-bootstrap-system
imageUrl: "registry.rancher.com/rancher/cluster-api-provider-rke2-bootstrap:v0.8.0"
fetchConfig: fetchConfig:
url: "" url: ""
selector: "" selector: ""
controlPlane: controlPlane:
namespace: rke2-control-plane-system namespace: rke2-control-plane-system
imageUrl: "registry.rancher.com/rancher/cluster-api-provider-rke2-controlplane:v0.8.0"
fetchConfig: fetchConfig:
url: "" url: ""
selector: "" selector: ""
metal3: metal3:
enabled: true enabled: true
version: "v1.7.2" version: "v1.8.2"
infrastructure: infrastructure:
namespace: capm3-system namespace: capm3-system
imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%cluster-api-provider-metal3:1.7.2" imageUrl: "registry.rancher.com/rancher/cluster-api-metal3-controller:v1.8.2"
fetchConfig: fetchConfig:
url: "" url: ""
selector: "" selector: ""
ipam: ipam:
namespace: capm3-system namespace: capm3-system
imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%ip-address-manager:1.7.2" imageUrl: "registry.rancher.com/rancher/cluster-api-metal3-ipam-controller:v1.8.1"

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 ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$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.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SUSE Edge Release Manifest" 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.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.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" 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 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.eula="SUSE Combined EULA February 2024"

View File

@@ -4,7 +4,7 @@
<param name="file">Dockerfile</param> <param name="file">Dockerfile</param>
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param> <param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
<param name="var">IMG_PREFIX</param> <param name="var">IMG_PREFIX</param>
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param> <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %manifest_repo)</param>
<param name="var">IMG_REPO</param> <param name="var">IMG_REPO</param>
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param> <param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
<param name="var">SUPPORT_LEVEL</param> <param name="var">SUPPORT_LEVEL</param>

View File

@@ -1,15 +1,80 @@
apiVersion: lifecycle.suse.com/v1alpha1 apiVersion: lifecycle.suse.com/v1alpha1
kind: ReleaseManifest kind: ReleaseManifest
metadata: metadata:
name: release-manifest-3-2-0 name: release-manifest-3-2-1
spec: spec:
releaseVersion: 3.2.0 releaseVersion: 3.2.1
components: components:
kubernetes: kubernetes:
k3s: k3s:
version: v1.31.2+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: local-path-provisioner
image: rancher/local-path-provisioner:v0.0.31
type: Deployment
- name: coredns
containers:
- name: coredns
image: rancher/mirrored-coredns-coredns:1.12.0
type: Deployment
- name: metrics-server
containers:
- name: metrics-server
image: rancher/mirrored-metrics-server:v0.7.2
type: Deployment
rke2: rke2:
version: v1.31.2+rke2r1 version: v1.31.7+rke2r1
coreComponents:
- 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: operatingSystem:
version: "6.0" version: "6.0"
zypperID: "SL-Micro" zypperID: "SL-Micro"
@@ -23,22 +88,25 @@ spec:
- prettyName: Rancher - prettyName: Rancher
releaseName: rancher releaseName: rancher
chart: rancher chart: rancher
version: v2.10.0 version: 2.10.3
repository: https://releases.rancher.com/server-charts/stable repository: https://charts.rancher.com/server-charts/prime
values:
postDelete:
enabled: false
- prettyName: Longhorn - prettyName: Longhorn
releaseName: longhorn releaseName: longhorn
chart: longhorn chart: longhorn
version: 104.2.1+up1.7.2 version: 105.1.1+up1.7.3
repository: https://charts.rancher.io repository: https://charts.rancher.io
dependencyCharts: dependencyCharts:
- releaseName: longhorn-crd - releaseName: longhorn-crd
chart: longhorn-crd chart: longhorn-crd
version: 104.2.1+up1.7.2 version: 105.1.1+up1.7.3
repository: https://charts.rancher.io repository: https://charts.rancher.io
- prettyName: MetalLB - prettyName: MetalLB
releaseName: metallb releaseName: metallb
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metallb-chart 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 - prettyName: CDI
releaseName: cdi releaseName: cdi
chart: %%CHART_REPO%%/%%IMG_PREFIX%%cdi-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%cdi-chart
@@ -50,22 +118,22 @@ spec:
addonCharts: addonCharts:
- releaseName: kubevirt-dashboard-extension - releaseName: kubevirt-dashboard-extension
chart: %%CHART_REPO%%/%%IMG_PREFIX%%kubevirt-dashboard-extension-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%kubevirt-dashboard-extension-chart
version: %%CHART_MAJOR%%.0.0+up1.2.0 version: %%CHART_MAJOR%%.0.0+up1.2.1
- prettyName: NeuVector - prettyName: NeuVector
releaseName: neuvector releaseName: neuvector
chart: neuvector chart: neuvector
version: 104.0.2+up2.8.0 version: 105.0.1+up2.8.4
repository: https://charts.rancher.io repository: https://charts.rancher.io
dependencyCharts: dependencyCharts:
- releaseName: neuvector-crd - releaseName: neuvector-crd
chart: neuvector-crd chart: neuvector-crd
version: 104.0.2+up2.8.0 version: 105.0.1+up2.8.4
repository: https://charts.rancher.io repository: https://charts.rancher.io
addonCharts: addonCharts:
- releaseName: neuvector-ui-ext - releaseName: neuvector-ui-ext
chart: neuvector-ui-ext chart: neuvector-ui-ext
repository: https://github.com/rancher/ui-plugin-charts/raw/main repository: https://github.com/rancher/ui-plugin-charts/raw/main
version: 2.0.0 version: 2.0.1
- prettyName: EndpointCopierOperator - prettyName: EndpointCopierOperator
releaseName: endpoint-copier-operator releaseName: endpoint-copier-operator
chart: %%CHART_REPO%%/%%IMG_PREFIX%%endpoint-copier-operator-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%endpoint-copier-operator-chart
@@ -78,6 +146,11 @@ spec:
- releaseName: elemental-operator-crds - releaseName: elemental-operator-crds
chart: oci://registry.suse.com/rancher/elemental-operator-crds-chart chart: oci://registry.suse.com/rancher/elemental-operator-crds-chart
version: 1.6.5 version: 1.6.5
addonCharts:
- releaseName: elemental
chart: elemental
repository: https://github.com/rancher/ui-plugin-charts/raw/main
version: 3.0.0
- prettyName: SRIOV - prettyName: SRIOV
releaseName: sriov-network-operator releaseName: sriov-network-operator
chart: %%CHART_REPO%%/%%IMG_PREFIX%%sriov-network-operator-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%sriov-network-operator-chart
@@ -93,12 +166,12 @@ spec:
addonCharts: addonCharts:
- releaseName: akri-dashboard-extension - releaseName: akri-dashboard-extension
chart: %%CHART_REPO%%/%%IMG_PREFIX%%akri-dashboard-extension-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%akri-dashboard-extension-chart
version: %%CHART_MAJOR%%.0.0+up1.1.0 version: %%CHART_MAJOR%%.0.0+up1.2.1
- prettyName: Metal3 - prettyName: Metal3
releaseName: metal3 releaseName: metal3
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metal3-chart 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 - prettyName: RancherTurtles
releaseName: rancher-turtles releaseName: rancher-turtles
chart: %%CHART_REPO%%/%%IMG_PREFIX%%rancher-turtles-chart chart: %%CHART_REPO%%/%%IMG_PREFIX%%rancher-turtles-chart
version: %%CHART_MAJOR%%.0.0+up0.4.0 version: %%CHART_MAJOR%%.0.0+up0.14.1

View File

@@ -1,13 +1,13 @@
#!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.0 #!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.1
#!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.1-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: 0.1.0 appVersion: 0.1.1
dependencies: dependencies:
- condition: crds.enabled - condition: crds.enabled
name: lifecycle-crds name: lifecycle-crds
repository: file://./charts/lifecycle-crds repository: file://./charts/lifecycle-crds
version: 0.1.0 version: 0.1.1
description: A Helm chart for Upgrade Controller description: A Helm chart for Upgrade Controller
name: upgrade-controller name: upgrade-controller
type: application type: application
version: "%%CHART_MAJOR%%.0.0+up0.1.0" version: "%%CHART_MAJOR%%.0.0+up0.1.1"

View File

@@ -6,6 +6,8 @@
<param name="var">IMG_PREFIX</param> <param name="var">IMG_PREFIX</param>
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param> <param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
<param name="var">IMG_REPO</param> <param name="var">IMG_REPO</param>
<param name="eval">MANIFEST_REPO=$(rpm --macros=/root/.rpmmacros -E %manifest_repo)</param>
<param name="var">MANIFEST_REPO</param>
</service> </service>
<service name="replace_using_env" mode="buildtime"> <service name="replace_using_env" mode="buildtime">
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</param>
@@ -15,4 +17,3 @@
<param name="var">CHART_MAJOR</param> <param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@@ -1,6 +1,6 @@
apiVersion: v2 apiVersion: v2
appVersion: 0.1.0 appVersion: 0.1.1
description: A Helm chart containing SUSE Lifecycle CRDs description: A Helm chart containing SUSE Lifecycle CRDs
name: lifecycle-crds name: lifecycle-crds
type: application type: application
version: 0.1.0 version: 0.1.1

View File

@@ -43,6 +43,35 @@ spec:
properties: properties:
k3s: k3s:
properties: properties:
coreComponents:
items:
properties:
containers:
items:
properties:
image:
type: string
name:
type: string
required:
- image
- name
type: object
type: array
name:
type: string
type:
enum:
- HelmChart
- Deployment
type: string
version:
type: string
required:
- name
- type
type: object
type: array
version: version:
type: string type: string
required: required:
@@ -50,6 +79,35 @@ spec:
type: object type: object
rke2: rke2:
properties: properties:
coreComponents:
items:
properties:
containers:
items:
properties:
image:
type: string
name:
type: string
required:
- image
- name
type: object
type: array
name:
type: string
type:
enum:
- HelmChart
- Deployment
type: string
version:
type: string
required:
- name
- type
type: object
type: array
version: version:
type: string type: string
required: required:

View File

@@ -29,6 +29,14 @@ rules:
- customresourcedefinitions - customresourcedefinitions
verbs: verbs:
- get - get
- apiGroups:
- apps
resources:
- deployments
verbs:
- get
- list
- watch
- apiGroups: - apiGroups:
- batch - batch
resources: resources:

View File

@@ -12,7 +12,7 @@ image:
env: env:
releaseManifest: releaseManifest:
image: %%IMG_REPO%%/%%IMG_PREFIX%%release-manifest image: %%MANIFEST_REPO%%/%%IMG_PREFIX%%release-manifest
kubectl: kubectl:
image: %%IMG_REPO%%/%%IMG_PREFIX%%kubectl image: %%IMG_REPO%%/%%IMG_PREFIX%%kubectl
version: 1.30.3 version: 1.30.3

View File

@@ -1,6 +1,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.0 #!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.1
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.1-%RELEASE%
#!BuildVersion: 15.6 #!BuildVersion: 15.6
ARG SLE_VERSION ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
@@ -16,11 +16,11 @@ FROM micro AS final
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)" LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE Edge Upgrade Controller Container Image" LABEL org.opencontainers.image.title="SLE Edge Upgrade Controller Container Image"
LABEL org.opencontainers.image.description="Edge Update Controller Image based on the SLE Base Container Image." LABEL org.opencontainers.image.description="Edge Update Controller Image based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="0.1.0" LABEL org.opencontainers.image.version="0.1.1"
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/" LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC" LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.0-%RELEASE%" LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%" 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.eula="SUSE Combined EULA February 2024"

View File

@@ -4,15 +4,13 @@
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="exclude">.git</param> <param name="exclude">.git</param>
<param name="revision">v0.1.0</param> <param name="revision">v0.1.1</param>
<param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param> <param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param>
<param name="versionrewrite-replacement">\1.\2.\3</param> <param name="versionrewrite-replacement">\1.\2.\3</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
</service> </service>
<service mode="buildtime" name="tar" /> <service mode="buildtime" name="tar">
<service mode="buildtime" name="recompress"> <param name="obsinfo">upgrade-controller.obsinfo</param>
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service> </service>
<service name="go_modules"> <service name="go_modules">
<param name="compression">gz</param> <param name="compression">gz</param>

View File

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