1
0
forked from suse-edge/Factory

Compare commits

..

31 Commits

Author SHA256 Message Date
cf6abb24fb Merge pull request 'fixed versions in eib artifacts' (#42) from dprodanov/Factory:fix-eib-versions into main
Reviewed-on: suse-edge/Factory#42
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2024-12-04 16:00:26 +01:00
602249c98d fixed versions in eib artifacts
All checks were successful
OBS: hauler - standard/aarch64
OBS: nm-configurator - standard/aarch64
OBS: baremetal-operator-image - images/aarch64
OBS: kubectl-image - images/aarch64
OBS: edge-image-builder-image - images/x86_64
OBS: cluster-api-provider-metal3-image - images/aarch64
OBS: kube-rbac-proxy-image - images/aarch64
OBS: ip-address-manager-image - images/aarch64
OBS: ip-address-manager-image - images/x86_64
OBS: akri-opcua-discovery-handler-image - images/x86_64
OBS: akri-webhook-configuration-image - images/x86_64
OBS: akri-debug-echo-discovery-handler-image - images/x86_64
OBS: akri-udev-discovery-handler-image - images/x86_64
OBS: akri-onvif-discovery-handler-image - images/x86_64
OBS: metallb-controller-image - images/aarch64
OBS: akri-controller-image - images/x86_64
OBS: akri-agent-image - images/x86_64
OBS: upgrade-controller-image - images/aarch64
OBS: metallb-speaker-image - images/aarch64
OBS: endpoint-copier-operator-image - images/aarch64
OBS: edge-image-builder-image - images/aarch64
OBS: ironic-ipa-ramdisk - standard/x86_64
OBS: akri-debug-echo-discovery-handler-image - images/aarch64
OBS: akri-opcua-discovery-handler-image - images/aarch64
OBS: akri-controller-image - images/aarch64
OBS: akri-onvif-discovery-handler-image - images/aarch64
OBS: akri-agent-image - images/aarch64
OBS: ironic-ipa-downloader-image - images/x86_64
OBS: akri-udev-discovery-handler-image - images/aarch64
OBS: akri-webhook-configuration-image - images/aarch64
2024-12-04 16:02:41 +02:00
8a93aae7c5
kiwi-builder-image: Align with OBS latest version
All checks were successful
OBS: kube-rbac-proxy-image - images/x86_64
OBS: cluster-api-provider-metal3 - standard/aarch64
OBS: metallb-controller-image - images/x86_64
OBS: metallb-speaker-image - images/x86_64
OBS: upgrade-controller-image - images/x86_64
OBS: cri-tools - standard/aarch64
OBS: crudini - standard/aarch64
OBS: cluster-api-provider-metal3-image - images/aarch64
OBS: cosign - standard/aarch64
OBS: baremetal-operator-image - images/aarch64
OBS: endpoint-copier-operator - standard/aarch64
OBS: akri-agent-image - images/aarch64
OBS: edge-image-builder - standard/aarch64
OBS: fakeroot - standard/aarch64
OBS: endpoint-copier-operator-image - images/aarch64
OBS: frr-k8s - standard/aarch64
OBS: ip-address-manager - standard/aarch64
OBS: kube-rbac-proxy - standard/aarch64
OBS: metallb - standard/aarch64
OBS: upgrade-controller - standard/aarch64
OBS: hauler - standard/aarch64
OBS: ip-address-manager-image - images/aarch64
OBS: kube-rbac-proxy-image - images/aarch64
OBS: metallb-controller-image - images/aarch64
OBS: metallb-speaker-image - images/aarch64
OBS: upgrade-controller-image - images/aarch64
OBS: edge-image-builder-image - images/x86_64
OBS: edge-image-builder-image - images/aarch64
OBS: ironic-ipa-ramdisk - standard/x86_64
OBS: ironic-ipa-downloader-image - images/x86_64
Aligns with the latest fixes in isv:SUSE:Edge:KiwiBuilder/kiwi-builder-10
2024-12-02 18:19:04 +00:00
aba448b275 Merge pull request 'updated longhorn and neuvector to latest 105 charts' (#38) from dprodanov/Factory:update-release-manifests into main
Reviewed-on: suse-edge/Factory#38
Reviewed-by: Ivo Petrov <ipetrov117@noreply.src.opensuse.org>
2024-11-28 16:05:04 +01:00
09954e5818 updated longhorn and neuvector to latest 105 charts 2024-11-28 16:57:54 +02:00
636493adba
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
2024-11-27 08:23:32 +00:00
f5cc155d16 Fix kubevirt chart build tags 2024-11-22 10:54:32 +01:00
a5633fd239 Remove the suffix from kubectl package name 2024-11-22 10:52:54 +01:00
d719b5b6e5 rancher-turtles: image/version fixes
After further testing I discovered that the cluster-api-controller is
not correctly pinned or using the downstream image, and a similar
problem exists for CAPM3 (but only after upgrade from an older chart)
due to a mistake in the templating.
2024-11-22 10:52:15 +01:00
dda8040420 Add missing kubectl image (#32)
Reviewed-on: suse-edge/Factory#32
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Co-authored-by: Ivo Petrov <ivo.petrov@suse.com>
Co-committed-by: Ivo Petrov <ivo.petrov@suse.com>
2024-11-22 10:16:53 +01:00
dc44cb42bf Fix service param definitions (#30)
Reviewed-on: suse-edge/Factory#30
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Co-authored-by: Atanas Dinov <atanas.dinov@suse.com>
Co-committed-by: Atanas Dinov <atanas.dinov@suse.com>
2024-11-21 17:26:05 +01:00
ee82509ce9 Merge pull request 'add frr image' (#29) from import-frr into main
Reviewed-on: suse-edge/Factory#29
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2024-11-21 16:48:00 +01:00
bfd031153d run sync package 2024-11-20 19:31:00 +02:00
a8bd38569b add frr image 2024-11-20 16:16:11 +02:00
cfe2e92d13 Merge pull request 'Bump release manifest to 3.2.0' (#27) from release-manifest-3.2.0-prep into main
Reviewed-on: suse-edge/Factory#27
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2024-11-20 10:47:29 +01:00
40010f5c4f
Fix chart tags 2024-11-20 11:18:07 +02:00
729dbefe78
Fix Edge charts versioning 2024-11-19 19:48:50 +02:00
6b530a91d9
Fix missed 302 chart prefixes
The CDI chart should only use CHART_MAJOR, and the cluster-api-operator
subchart doesn't need to use a prefix
2024-11-19 16:50:59 +00:00
996ee3b221
Bump release manifest to 3.2.0 2024-11-19 17:00:37 +02:00
5c2204ba3e Add initial release-manifest image (#26)
Copies over the [current](https://build.suse.de/package/show/ISV:SUSE:Edge:3.1/release-manifest-310-image) release-manifest image used for Edge 3.1.1.

Reviewed-on: suse-edge/Factory#26
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Co-authored-by: Atanas Dinov <atanas.dinov@suse.com>
Co-committed-by: Atanas Dinov <atanas.dinov@suse.com>
2024-11-19 14:56:42 +01:00
f1bf24e9dd Merge pull request 'add templating for chart major versions' (#25) from template-chart-versions into main
Reviewed-on: suse-edge/Factory#25
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2024-11-18 15:24:48 +01:00
4ad7e30ea7 updated _service files for the templating 2024-11-18 15:14:29 +02:00
e9b3caf318 add templating for chart major versions 2024-11-18 15:03:25 +02:00
ed9a5df069 Merge pull request 'init for chart version updates' (#14) from update-charts-version into main
Reviewed-on: suse-edge/Factory#14
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2024-11-18 12:55:33 +01:00
a66325901d init for chart version updates 2024-11-18 11:53:50 +02:00
8b6dce500e Update SR-IOV chart to v1.4.0
Aligning with https://github.com/suse-edge/charts/pull/167
2024-11-18 10:49:50 +01:00
fc3da390e9
Add kubevirt-chart
Imported from https://github.com/suse-edge/charts/tree/main/charts/kubevirt/0.4.0
2024-11-15 17:30:49 +00:00
fcbe8b9452
capm3: temporarily downgrade to 1.7.2
To align with the current rancher turtles chart we need to align with
1.7.2, which matches the 1.7.x CAPI core provided by this turtles release
2024-11-15 17:14:24 +00:00
044e5be211
Remove cluster-api-provider-rke2 package/images
Since #16 this has been replaced by an alternative downstream image:

registry.rancher.com/rancher/cluster-api-provider-rke2-bootstrap
registry.rancher.com/rancher/cluster-api-provider-rke2-controlplane
2024-11-15 17:10:32 +00:00
10f6ffd6c0
Remove cluster-api-operator image
Since #16 this is replaced by an alternative downstream image:

registry.rancher.com/rancher/cluster-api-operator
2024-11-15 17:10:30 +00:00
9ff2fc03b9
Remove cluster-api core package/image
Since #16 this is replaced by an alternate downstream image:

registry.rancher.com/rancher/cluster-api-controller
2024-11-15 17:10:27 +00:00
80 changed files with 9108 additions and 564 deletions

View File

@ -66,14 +66,6 @@ staging_build:
source_package: frr-k8s source_package: frr-k8s
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-operator
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: kubectl source_package: kubectl
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -82,10 +74,6 @@ staging_build:
source_package: upgrade-controller source_package: upgrade-controller
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-provider-rke2
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: nm-configurator source_package: nm-configurator
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -122,10 +110,6 @@ staging_build:
source_package: cdi-chart source_package: cdi-chart
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-controller-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: cluster-api-provider-metal3-image source_package: cluster-api-provider-metal3-image
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -134,10 +118,6 @@ staging_build:
source_package: metallb-chart source_package: metallb-chart
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-operator-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: sriov-crd-chart source_package: sriov-crd-chart
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -154,10 +134,6 @@ staging_build:
source_package: ironic-ipa-downloader-image source_package: ironic-ipa-downloader-image
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-provider-rke2-controlplane-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: upgrade-controller-image source_package: upgrade-controller-image
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -170,10 +146,6 @@ staging_build:
source_package: baremetal-operator-image source_package: baremetal-operator-image
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging target_project: isv:SUSE:Edge:Factory:Staging
- branch_package:
source_package: cluster-api-provider-rke2-bootstrap-image
source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging
- branch_package: - branch_package:
source_package: sriov-network-operator-chart source_package: sriov-network-operator-chart
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
@ -238,3 +210,19 @@ staging_build:
source_package: kiwi-builder-image source_package: kiwi-builder-image
source_project: isv:SUSE:Edge:Factory source_project: isv:SUSE:Edge:Factory
target_project: isv:SUSE:Edge:Factory:Staging 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

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%akri-chart:0.12.20 #!BuildTag: %%IMG_PREFIX%%akri-chart:%%CHART_MAJOR%%.0.0_up0.12.20
#!BuildTag: %%IMG_PREFIX%%akri-chart:0.12.20-%RELEASE% #!BuildTag: %%IMG_PREFIX%%akri-chart:%%CHART_MAJOR%%.0.0_up0.12.20-%RELEASE%
annotations: annotations:
catalog.cattle.io/display-name: Akri catalog.cattle.io/display-name: Akri
apiVersion: v2 apiVersion: v2
@ -8,4 +8,4 @@ description: A Helm chart for Akri
icon: https://raw.githubusercontent.com/project-akri/akri-docs/main/art/icon/akri-icon-light.svg icon: https://raw.githubusercontent.com/project-akri/akri-docs/main/art/icon/akri-icon-light.svg
name: akri name: akri
type: application type: application
version: 0.12.20 version: "%%CHART_MAJOR%%.0.0+up0.12.20"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,20 +1,20 @@
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:1.2.0 #!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0
#!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:1.2.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%akri-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%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
catalog.cattle.io/kube-version: '>= v1.26.0-0' catalog.cattle.io/kube-version: ">= v1.26.0-0"
catalog.cattle.io/namespace: cattle-ui-plugin-system catalog.cattle.io/namespace: cattle-ui-plugin-system
catalog.cattle.io/os: linux catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux, windows catalog.cattle.io/permits-os: linux, windows
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"
apiVersion: v2 apiVersion: v2
appVersion: 1.2.0 appVersion: 1.2.0
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 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: 1.2.0 version: "%%CHART_MAJOR%%.0.0+up1.2.0"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,9 +1,9 @@
#!BuildTag: %%IMG_PREFIX%%cdi-chart:0.4.0 #!BuildTag: %%IMG_PREFIX%%cdi-chart:%%CHART_MAJOR%%.0.0_up0.4.0
#!BuildTag: %%IMG_PREFIX%%cdi-chart:0.4.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%cdi-chart:%%CHART_MAJOR%%.0.0_up0.4.0-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: 1.60.1 appVersion: 1.60.1
description: A Helm chart for Containerized Data Importer (CDI) description: A Helm chart for Containerized Data Importer (CDI)
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/kubevirt/icon/color/kubevirt-icon-color.svg icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/kubevirt/icon/color/kubevirt-icon-color.svg
name: cdi name: cdi
type: application type: application
version: 0.4.0 version: "%%CHART_MAJOR%%.0.0+up0.4.0"

View File

@ -4,5 +4,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,36 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%cluster-api-controller:v%%cluster-api_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-controller:%%cluster-api_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-controller:%%cluster-api_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 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
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE cluster-api Container Image"
LABEL org.opencontainers.image.description="cluster-api based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%cluster-api_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:%%cluster-api_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-controller /manager
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
USER 65532
ENTRYPOINT [ "/manager" ]

View File

@ -1,35 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%cluster-api-operator:%%cluster-api-operator_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-operator:%%cluster-api-operator_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-operator 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-operator
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE cluster-api-operator Container Image"
LABEL org.opencontainers.image.description="cluster-api-operator based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%cluster-api-operator_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-operator:%%cluster-api-operator_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-operator-controller /manager
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
USER 65532
ENTRYPOINT [ "/manager" ]

View File

@ -1,23 +0,0 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/kubernetes-sigs/cluster-api-operator</param>
<param name="scm">git</param>
<param name="revision">v0.12.0</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,52 +0,0 @@
#
# spec file for package cluster-api-operator
#
# 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-operator
Version: 0.12.0
Release: 0
Summary: Cluster API Core Controller
License: Apache-2.0
URL: https://github.com/kubernetes-sigs/cluster-api-operator
Source: cluster-api-operator-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.21
ExcludeArch: s390
ExcludeArch: %{ix86}
%description
Cluster API operator
%prep
%autosetup -a1 -n cluster-api-operator-%{version}
%build
go build \
-mod=vendor \
-buildmode=pie \
-o cluster-api-operator cmd/main.go
%install
install -D -m0755 cluster-api-operator %{buildroot}%{_bindir}/cluster-api-operator-controller
%files
%license LICENSE
%doc README.md
%{_bindir}/cluster-api-operator-controller
%changelog

View File

@ -2,7 +2,7 @@
<service name="obs_scm"> <service name="obs_scm">
<param name="url">https://github.com/metal3-io/cluster-api-provider-metal3</param> <param name="url">https://github.com/metal3-io/cluster-api-provider-metal3</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="revision">v1.8.2</param> <param name="revision">v1.7.2</param>
<param name="version">_auto_</param> <param name="version">_auto_</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>

View File

@ -17,7 +17,7 @@
Name: cluster-api-provider-metal3 Name: cluster-api-provider-metal3
Version: 1.8.2 Version: 1.7.2
Release: 0 Release: 0
Summary: Cluster API Infrastructure Provider for Metal3 Summary: Cluster API Infrastructure Provider for Metal3
License: Apache-2.0 License: Apache-2.0

View File

@ -1,36 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-bootstrap:v%%cluster-api-provider-rke2_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-bootstrap:%%cluster-api-provider-rke2_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-bootstrap:%%cluster-api-provider-rke2_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-rke2-bootstrap 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-rke2
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE cluster-api-provider-rke2 Container Image"
LABEL org.opencontainers.image.description="cluster-api-provider-rke2 based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%cluster-api-provider-rke2_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-rke2-bootstrap:%%cluster-api-provider-rke2_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/rke2-bootstrap-manager /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-rke2_version%%</param>
<param name="package">cluster-api-provider-rke2-bootstrap</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,36 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-controlplane:v%%cluster-api-provider-rke2_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-controlplane:%%cluster-api-provider-rke2_version%%
#!BuildTag: %%IMG_PREFIX%%cluster-api-provider-rke2-controlplane:%%cluster-api-provider-rke2_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-rke2-control-plane 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-rke2
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE cluster-api-provider-rke2 Container Image"
LABEL org.opencontainers.image.description="cluster-api-provider-rke2 based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="%%cluster-api-provider-rke2_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-rke2-controlplane:%%cluster-api-provider-rke2_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/rke2-control-plane-manager /manager
# Use uid of nonroot user (65532) because kubernetes expects numeric user when applying pod security policies
USER 65532
ENTRYPOINT [ "/manager" ]

View File

@ -1,23 +0,0 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/rancher-sandbox/cluster-api-provider-rke2</param>
<param name="scm">git</param>
<param name="revision">v0.8.0</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,61 +0,0 @@
#
# spec file for package cluster-api-provider-rke2
#
# 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-rke2
Version: 0.8.0
Release: 0
Summary: Cluster API provider for RKE2
License: Apache-2.0
URL: https://github.com/rancher-sandbox/cluster-api-provider-rke2
Source: cluster-api-provider-rke2-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390
ExcludeArch: %{ix86}
%description
Cluster API provider for RKE2
%package bootstrap
Summary: Cluster API bootstrap controller for RKE2
%description bootstrap
Cluster API bootstrap controller for RKE2
%package control-plane
Summary: Cluster API control-plane controller for RKE2
%description control-plane
Cluster API control-plane controller for RKE2
%prep
%autosetup -a1 -n cluster-api-provider-rke2-%{version}
%build
make managers
%install
install -D -m0755 bin/rke2-bootstrap-manager %{buildroot}%{_bindir}/rke2-bootstrap-manager
install -D -m0755 bin/rke2-control-plane-manager %{buildroot}%{_bindir}/rke2-control-plane-manager
%files bootstrap
%{_bindir}/rke2-bootstrap-manager
%files control-plane
%{_bindir}/rke2-control-plane-manager
%changelog

View File

@ -1,23 +0,0 @@
<services>
<service name="obs_scm">
<param name="url">https://github.com/kubernetes-sigs/cluster-api</param>
<param name="scm">git</param>
<param name="revision">v1.8.4</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 cluster-api
#
# 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
Version: 1.8.4
Release: 0
Summary: Cluster API Core Controller
License: Apache-2.0
URL: https://github.com/kubernetes-sigs/cluster-api
Source: cluster-api-%{version}.tar.gz
Source1: vendor.tar.gz
BuildRequires: golang(API) = 1.22
ExcludeArch: s390
ExcludeArch: %{ix86}
%description
Cluster API core controller
%prep
%autosetup -a1 -n cluster-api-%{version}
%build
go build \
-mod=vendor \
-buildmode=pie \
%install
install -D -m0755 cluster-api %{buildroot}%{_bindir}/cluster-api-controller
%files
%license LICENSE
%doc README.md
%{_bindir}/cluster-api-controller
%changelog

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.0+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,8 +1,8 @@
#!BuildTag: %%IMG_PREFIX%%endpoint-copier-operator-chart:0.2.1 #!BuildTag: %%IMG_PREFIX%%endpoint-copier-operator-chart:%%CHART_MAJOR%%.0.0_up0.2.1
#!BuildTag: %%IMG_PREFIX%%endpoint-copier-operator-chart:0.2.1-%RELEASE% #!BuildTag: %%IMG_PREFIX%%endpoint-copier-operator-chart:%%CHART_MAJOR%%.0.0_up0.2.1-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: v0.2.0 appVersion: v0.2.0
description: A Helm chart for Kubernetes description: A Helm chart for Kubernetes
name: endpoint-copier-operator name: endpoint-copier-operator
type: application type: application
version: 0.2.1 version: "%%CHART_MAJOR%%.0.0+up0.2.1"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

58
frr-image/Dockerfile Normal file
View File

@ -0,0 +1,58 @@
# SPDX-License-Identifier: MIT
#!BuildTag: %%IMG_PREFIX%%frr:8.4
#!BuildTag: %%IMG_PREFIX%%frr:8.4-%RELEASE%
#!BuildVersion: 15.5
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 tcpdump libpcap-devel iproute2 iputils strace socat frr python3 catatonit sed util-linux; 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.frr
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="FRR Container Image"
LABEL org.opencontainers.image.description="frr based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="8.4"
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%%frr:8.4-%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 /
#Install frr
USER root
ENV PYTHONDONTWRITEBYTECODE yes
# frr.sh is the entry point. This script examines environment
# variables to direct operation and configure ovn
ADD frr.sh /root/
ADD daemons /etc/frr
ADD frr.conf /etc/frr
ADD vtysh.conf /etc/frr
RUN chown frr:frr /etc/frr/daemons /etc/frr/frr.conf
RUN ln -s /usr/bin/catatonit /sbin/tini
RUN usermod -a -G frrvty frr
COPY docker-start /usr/libexec/frr/docker-start
RUN cp -r /usr/libexec/frr /usr/lib/ # required because of the different path on rhel
WORKDIR /root
ENTRYPOINT ["/sbin/tini", "--"]
COPY docker-start /usr/lib/frr/docker-start
RUN chmod +x /usr/lib/frr/docker-start
CMD ["/usr/lib/frr/docker-start"]

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">%%cluster-api_version%%</param>
<param name="package">cluster-api</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>

82
frr-image/daemons Normal file
View File

@ -0,0 +1,82 @@
# This file tells the frr package which daemons to start.
#
# Entries are in the format: <daemon>=(yes|no|priority)
# 0, "no" = disabled
# 1, "yes" = highest priority
# 2 .. 10 = lower priorities
#
# For daemons which support multiple instances, a 2nd line listing
# the instances can be added. Eg for ospfd:
# ospfd=yes
# ospfd_instances="1,2"
#
# Priorities were suggested by Dancer <dancer@zeor.simegen.com>.
# They're used to start the FRR daemons in more than one step
# (for example start one or two at network initialization and the
# rest later). The number of FRR daemons being small, priorities
# must be between 1 and 9, inclusive (or the initscript has to be
# changed). /etc/init.d/frr then can be started as
#
# /etc/init.d/frr <start|stop|restart|<priority>>
#
# where priority 0 is the same as 'stop', priority 10 or 'start'
# means 'start all'
#
# Sample configurations for these daemons can be found in
# /usr/share/doc/frr/examples/.
#
# ATTENTION:
#
# When activation a daemon at the first time, a config file, even if it is
# empty, has to be present *and* be owned by the user and group "frr", else
# the daemon will not be started by /etc/init.d/frr. The permissions should
# be u=rw,g=r,o=.
# When using "vtysh" such a config file is also needed. It should be owned by
# group "frrvty" and set to ug=rw,o= though. Check /etc/pam.d/frr, too.
#
watchfrr_enable=yes
watchfrr_options="-r '/usr/lib/frr/frr restart %s' -s '/usr/lib/frr/frr start %s' -k '/usr/lib/frr/frr stop %s'"
#
zebra=yes
bgpd=yes
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
nhrpd=no
eigrpd=no
sharpd=no
pbrd=no
staticd=yes
bfdd=yes
fabricd=no
#
# Command line options for the daemons
#
zebra_options=("-A 127.0.0.1")
bgpd_options=("-A 127.0.0.1")
ospfd_options=("-A 127.0.0.1")
ospf6d_options=("-A ::1")
ripd_options=("-A 127.0.0.1")
ripngd_options=("-A ::1")
isisd_options=("-A 127.0.0.1")
pimd_options=("-A 127.0.0.1")
nhrpd_options=("-A 127.0.0.1")
eigrpd_options=("-A 127.0.0.1")
sharpd_options=("-A 127.0.0.1")
pbrd_options=("-A 127.0.0.1")
staticd_options=("-A 127.0.0.1")
bfdd_options=("-A 127.0.0.1")
fabricd_options=("-A 127.0.0.1")
#
# If the vtysh_enable is yes, then the unified config is read
# and applied if it exists. If no unified frr.conf exists
# then the per-daemon <daemon>.conf files are used)
# If vtysh_enable is no or non-existant, the frr.conf is ignored.
# it is highly suggested to have this set to yes
vtysh_enable=yes

4
frr-image/docker-start Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
source /usr/lib/frr/frrcommon.sh
/usr/lib/frr/watchfrr $(daemon_list)

53
frr-image/frr.conf Normal file
View File

@ -0,0 +1,53 @@
frr defaults traditional
log file /var/log/frr/frr.log
log syslog informational
log stdout debugging
ipv6 forwarding
service integrated-vtysh-config
!
debug bgp updates in
debug bgp updates out
debug bgp zebra
!
interface eth0
no ipv6 nd suppress-ra
ipv6 nd ra-interval 10
!
router bgp OCPASN
bgp router-id OCPROUTERID
bgp bestpath as-path multipath-relax
bgp bestpath compare-routerid
!
neighbor OCPnodes peer-group
neighbor OCPnodes description Internal OCP Nodes
neighbor OCPnodes remote-as OCPASN
neighbor OCPnodes bfd
neighbor OCPnodes capability extended-nexthop
!neighbor eth0 interface peer-group OCPnodes
!neighbor OCPPEER remote-as OCPASN peer-group OCPnodes
neighbor OCPPEER peer-group OCPnodes
!
address-family ipv4 unicast
redistribute connected
neighbor OCPnodes activate
exit-address-family
!
address-family ipv6 unicast
redistribute connected
neighbor OCPnodes activate
neighbor OCPnodes nexthop-local unchanged
exit-address-family
!
!
bfd
peer OCPPEER vrf default interface eth0
receive-interval 2000
transmit-interval 2000
echo-mode
echo-interval 3000
no shutdown
exit
!
line vty
!

124
frr-image/frr.sh Normal file
View File

@ -0,0 +1,124 @@
#!/bin/bash
#set -euo pipefail
# Enable verbose shell output if FRR_SH_VERBOSE is set to 'true'
if [[ "${FRR_SH_VERBOSE:-}" == "true" ]]; then
set -x
fi
# The argument to the command is the operation to be performed
# frr-node display display_env
# a cmd must be provided, there is no default
cmd=${1:-""}
# The frr user id, by default it is going to be frr:frr
frr_user_id=${FRR_USER_ID:-""}
# frr options
frr_options=${FRR_OPTIONS:-""}
# This script is the entrypoint to the image.
# frr.sh version (update when API between daemonset and script changes - v.x.y)
frr_version="3"
# The daemonset version must be compatible with this script.
# The default when FRR_DAEMONSET_VERSION is not set is version 3
frr_daemonset_version=${FRR_DAEMONSET_VERSION:-"3"}
# hostname is the host's hostname when using host networking,
# This is useful on the master
# otherwise it is the container ID (useful for debugging).
frr_pod_host=${K8S_NODE:-$(hostname)}
# The ovs user id, by default it is going to be root:root
frr_user_id=${FRR_USER_ID:-""}
# frr options
frr_options=${FRR_OPTIONS:-""}
# frr.conf variables
ocp_asn=${OCPASN:-65000}
ocp_routerid=${OCPROUTERID:-"10.10.10.1"}
ocp_peer=${OCPPEER:-"10.10.10.1"}
FRR_ETCDIR=/etc/frr
FRR_RUNDIR=/var/run/frr
FRR_LOGDIR=/var/log/frr
# =========================================
setup_frr_permissions() {
chown -R ${frr_user_id} ${FRR_RUNDIR}
chown -R ${frr_user_id} ${FRR_LOGDIR}
chown -R ${frr_user_id} ${FRR_ETCDIR}
}
# =========================================
display_version() {
echo " =================== hostname: ${frr_pod_host}"
echo " =================== daemonset version ${frr_daemonset_version}"
if [[ -f /root/git_info ]]; then
disp_ver=$(cat /root/git_info)
return
fi
}
display_env() {
echo FRR_USER_ID ${frr_user_id}
echo FRR_OPTIONS ${frr_options}
echo frr.sh version ${frr_version}
echo ocp_asn ${ocp_asn}
echo ocp_routerid ${ocp_routerid}
echo ocp_peer ${ocp_peer}
}
# frr-node - all nodes
frr-node() {
trap 'kill $(jobs -p) ; exit 0' TERM
rm -f ${FRR_RUNDIR}/frr.pid
echo "=============== frr-node ========== update frr.conf"
sed -i "s/OCPASN/$ocp_asn/" /etc/frr/frr.conf
sed -i "s/OCPPEER/$ocp_peer/" /etc/frr/frr.conf
sed -i "s/OCPROUTERID/$ocp_routerid/" /etc/frr/frr.conf
#chown -R frr:frr /etc/frr
chown -R frr:frr ${FRR_RUNDIR}
echo "=============== frr-node ========== starting"
# /usr/lib/frr/frrinit.sh start
# bash -x /usr/lib/frr/frrinit.sh start
bash -x
/usr/lib/frr/frrinit.sh start
frrResult=$?
echo "=============== frrinit result is ${frrResult} "
# Sleep forever
exec tail -f /dev/null
}
echo "================== frr.sh --- version: ${frr_version} ================"
display_version
display_env
case ${cmd} in
"frr-node")
frr-node
;;
"display_env")
display_env
exit 0
;;
"display")
display
exit 0
;;
*)
echo "invalid command ${cmd}"
echo "valid v3 commands: frr-node display_env display "
exit 0
;;
esac
exit 0

0
frr-image/vtysh.conf Normal file
View File

View File

@ -2,7 +2,7 @@
<service name="obs_scm"> <service name="obs_scm">
<param name="url">https://github.com/metal3-io/ip-address-manager</param> <param name="url">https://github.com/metal3-io/ip-address-manager</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="revision">v1.8.1</param> <param name="revision">v1.7.2</param>
<param name="version">_auto_</param> <param name="version">_auto_</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>

View File

@ -17,7 +17,7 @@
Name: ip-address-manager Name: ip-address-manager
Version: 1.8.1 Version: 1.7.2
Release: 0 Release: 0
Summary: Metal3 IPAM controller Summary: Metal3 IPAM controller
License: Apache-2.0 License: Apache-2.0

View File

@ -1,5 +1,6 @@
#!BuildTag: kiwi-builder:10.1 #!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0
FROM registry.suse.com/bci/kiwi:10.1.10 #!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.1.16.0-%RELEASE%
FROM registry.suse.com/bci/kiwi:10.1.16
MAINTAINER SUSE LLC (https://www.suse.com/) MAINTAINER SUSE LLC (https://www.suse.com/)
# Define labels according to https://en.opensuse.org/Building_derived_containers # Define labels according to https://en.opensuse.org/Building_derived_containers
@ -11,7 +12,7 @@ LABEL org.opencontainers.image.version="%PACKAGE_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:10.1.16.0"
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,10 +21,6 @@ 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
# Should be provided via https://github.com/SUSE/BCI-dockerfile-generator/pull/1770
# RUN zypper in -y gawk && zypper clean -a
# Configure Kiwi to use kpartx # Configure Kiwi to use kpartx
RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml RUN echo -e "mapper:\n - part_mapper: kpartx" > /etc/kiwi.yml

View File

@ -8,32 +8,40 @@ 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:10.1.16.0
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:10.1.16.0 build-image
To build a "Base" SelfInstall ISO, you can add additional flags, for example:
# podman run --privileged -v /etc/zypp/repos.d:/micro-sdk/repos/ -v ./output:/tmp/output -it %%IMG_REPO%%/%%IMG_PREFIXkiwi-builder:10.1.16.0 build-image -p Base-SelfInstall
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:10.1.16.0 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:10.1.16.0 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:10.1.16.0 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:10.1.16.0 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:10.1.16.0 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:

View File

@ -21,43 +21,45 @@
# #
# 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
usage(){ usage(){
cat <<-EOF cat <<-EOF
============================== ==============================
SLE Micro 6.0 Kiwi SDK Builder SLE Micro 6.0 Kiwi SDK Builder
============================== ==============================
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
* Base-RT: RAW Disk Image with kernel-rt * Default: RAW Disk Image with podman and kvm
* Base-RT-SelfInstall: SelfInstall ISO with kernel-rt * Default-SelfInstall: SelfInstall ISO with podman and kvm
* Base-RT: RAW Disk Image 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
while getopts 'p:bh' OPTION; do while getopts 'p:bh' OPTION; do
case "${OPTION}" in case "${OPTION}" in
p) p)
PROFILE="${OPTARG}" PROFILE="${OPTARG}"
;; ;;
b) b)
LARGEBLOCK=true LARGEBLOCK=true
;; ;;
?) ?)
usage && exit 2 usage && exit 2
;; ;;
esac esac
done done
# To avoid wasting time, perform the loop creation test first, and exit with a warning to re-run. # To avoid wasting time, perform the loop creation test first, and exit with a warning to re-run.
@ -88,4 +90,4 @@ if [ $RESULT -eq 0 ]; then
echo -e "\n\nINFO: Image build successful, generated images are available in the 'output' directory." echo -e "\n\nINFO: Image build successful, generated images are available in the 'output' directory."
else else
echo -e "\n\nERROR: Failed to build the image, please see above logs." echo -e "\n\nERROR: Failed to build the image, please see above logs."
fi fi

34
kubectl-image/Dockerfile Normal file
View File

@ -0,0 +1,34 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%kubectl:1.30.3
#!BuildTag: %%IMG_PREFIX%%kubectl:1.30.3-%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 kubectl; 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.kubectl
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE kubectl image"
LABEL org.opencontainers.image.description="kubectl on the SLE Base Container Image."
LABEL org.opencontainers.image.version="1.30.3"
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kubectl:1.30.3-%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 /
ENTRYPOINT ["/usr/bin/kubectl"]

View File

@ -1,12 +1,5 @@
<services> <services>
<service mode="buildtime" name="kiwi_metainfo_helper"/> <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-operator_version%%</param>
<param name="package">cluster-api-operator</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

@ -1,6 +1,6 @@
%global debug_package %{nil} %global debug_package %{nil}
Name: kubectl-1303 Name: kubectl
Version: 1.30.3 Version: 1.30.3
Release: 0 Release: 0
Summary: Command-line utility for interacting with a Kubernetes cluster Summary: Command-line utility for interacting with a Kubernetes cluster

View File

@ -0,0 +1,9 @@
#!BuildTag: %%IMG_PREFIX%%kubevirt-chart:%%CHART_MAJOR%%.0.0_up0.4.0-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%kubevirt-chart:%%CHART_MAJOR%%.0.0_up0.4.0
apiVersion: v2
appVersion: 1.3.1
description: A Helm chart for KubeVirt
icon: https://raw.githubusercontent.com/cncf/artwork/main/projects/kubevirt/icon/color/kubevirt-icon-color.svg
name: kubevirt
type: application
version: "%%CHART_MAJOR%%.0.0+up0.4.0"

10
kubevirt-chart/_service Normal file
View File

@ -0,0 +1,10 @@
<services>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service name="replace_using_env" mode="buildtime">
<param name="file">Chart.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_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service>
</services>

View File

@ -0,0 +1 @@
KubeVirt is a virtual machine management add-on for Kubernetes. The aim is to provide a common ground for virtualization solutions on top of Kubernetes.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
Verify that all KubeVirt components are installed correctly:
kubectl get all -n {{ .Release.Namespace }}

View File

@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "kubevirt.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "kubevirt.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "kubevirt.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "kubevirt.labels" -}}
helm.sh/chart: {{ include "kubevirt.chart" . }}
{{ include "kubevirt.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "kubevirt.selectorLabels" -}}
app.kubernetes.io/name: {{ include "kubevirt.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "kubevirt.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "kubevirt.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,47 @@
{{/* Hook annotations */}}
{{- define "kubevirt.hook.annotations" -}}
annotations:
"helm.sh/hook": {{ .hookType }}
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
"helm.sh/hook-weight": {{ .hookWeight | quote }}
{{- end -}}
{{/* Namespace modifying hook annotations */}}
{{- define "kubevirt.namespaceHook.annotations" -}}
{{ template "kubevirt.hook.annotations" merge (dict "hookType" "pre-install") . }}
{{- end -}}
{{/* CRD upgrading hook annotations */}}
{{- define "kubevirt.crdUpgradeHook.annotations" -}}
{{ template "kubevirt.hook.annotations" merge (dict "hookType" "pre-upgrade") . }}
{{- end -}}
{{/* Custom resource uninstalling hook annotations */}}
{{- define "kubevirt.crUninstallHook.annotations" -}}
{{ template "kubevirt.hook.annotations" merge (dict "hookType" "pre-delete") . }}
{{- end -}}
{{/* CRD uninstalling hook annotations */}}
{{- define "kubevirt.crdUninstallHook.annotations" -}}
{{ template "kubevirt.hook.annotations" merge (dict "hookType" "post-delete") . }}
{{- end -}}
{{/* Namespace modifying hook name */}}
{{- define "kubevirt.namespaceHook.name" -}}
{{ include "kubevirt.fullname" . }}-namespace-modify
{{- end }}
{{/* CRD upgrading hook name */}}
{{- define "kubevirt.crdUpgradeHook.name" -}}
{{ include "kubevirt.fullname" . }}-crd-upgrade
{{- end }}
{{/* Custom resource uninstalling hook name */}}
{{- define "kubevirt.crUninstallHook.name" -}}
{{ include "kubevirt.fullname" . }}-uninstall
{{- end }}
{{/* CRD uninstalling hook name */}}
{{- define "kubevirt.crdUninstallHook.name" -}}
{{ include "kubevirt.fullname" . }}-crd-uninstall
{{- end }}

View File

@ -0,0 +1,55 @@
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUninstallHook.name" . }}
{{ template "kubevirt.crdUninstallHook.annotations" (dict "hookWeight" 1) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "kubevirt.crdUninstallHook.name" . }}
{{ template "kubevirt.crdUninstallHook.annotations" (dict "hookWeight" 1) }}
rules:
- apiGroups: [ "apiextensions.k8s.io" ]
resources: [ "customresourcedefinitions" ]
resourceNames:
- "kubevirts.kubevirt.io"
verbs: [ "delete" ]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "kubevirt.crdUninstallHook.name" . }}
{{ template "kubevirt.crdUninstallHook.annotations" (dict "hookWeight" 2) }}
subjects:
- kind: ServiceAccount
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUninstallHook.name" . }}
roleRef:
kind: ClusterRole
name: {{ template "kubevirt.crdUninstallHook.name" . }}
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUninstallHook.name" . }}
{{ template "kubevirt.crdUninstallHook.annotations" (dict "hookWeight" 3) }}
spec:
template:
metadata:
name: {{ template "kubevirt.crdUninstallHook.name" . }}
spec:
serviceAccountName: {{ template "kubevirt.crdUninstallHook.name" . }}
restartPolicy: {{ .Values.hookRestartPolicy }}
containers:
- name: {{ template "kubevirt.crdUninstallHook.name" . }}
image: {{ .Values.hookImage }}
args:
- delete
- customresourcedefinitions
- kubevirts.kubevirt.io
securityContext:
{{- toYaml .Values.hookSecurityContext | nindent 12 }}

View File

@ -0,0 +1,80 @@
apiVersion: v1
kind: ConfigMap
metadata:
namespace: {{ .Release.Namespace }}
name: kubevirt-crd-manifest
{{ template "kubevirt.crdUpgradeHook.annotations" (dict "hookWeight" 1) }}
data:
crd: |-
{{ $.Files.Get "crds/kubevirt.yaml" | nindent 4 }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
{{ template "kubevirt.crdUpgradeHook.annotations" (dict "hookWeight" 2) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
{{ template "kubevirt.crdUpgradeHook.annotations" (dict "hookWeight" 2) }}
rules:
- apiGroups: [ "" ]
resources: [ "configmaps" ]
resourceNames:
- "kubevirt-crd-manifest"
verbs: [ "get" ]
- apiGroups: [ "apiextensions.k8s.io" ]
resources: [ "customresourcedefinitions" ]
resourceNames:
- "kubevirts.kubevirt.io"
verbs: [ "get", "patch" ]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
{{ template "kubevirt.crdUpgradeHook.annotations" (dict "hookWeight" 3) }}
subjects:
- kind: ServiceAccount
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
roleRef:
kind: ClusterRole
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
{{ template "kubevirt.crdUpgradeHook.annotations" (dict "hookWeight" 4) }}
spec:
template:
metadata:
name: {{ template "kubevirt.crdUpgradeHook.name" . }}
spec:
serviceAccountName: {{ template "kubevirt.crdUpgradeHook.name" . }}
restartPolicy: {{ .Values.hookRestartPolicy }}
containers:
- name: {{ template "kubevirt.crdUpgradeHook.name" . }}
securityContext:
{{- toYaml .Values.hookSecurityContext | nindent 12 }}
image: {{ .Values.hookImage }}
args:
- apply
- -f
- /etc/manifests/crd.yaml
volumeMounts:
- name: crd-volume
mountPath: /etc/manifests
volumes:
- name: crd-volume
configMap:
name: kubevirt-crd-manifest
items:
- key: crd
path: crd.yaml

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,71 @@
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crUninstallHook.name" . }}
{{ template "kubevirt.crUninstallHook.annotations" (dict "hookWeight" 1) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crUninstallHook.name" . }}
{{ template "kubevirt.crUninstallHook.annotations" (dict "hookWeight" 1) }}
rules:
- apiGroups: [ "kubevirt.io" ]
resources: [ "kubevirts" ]
resourceNames:
- "kubevirt"
verbs: [ "get", "list", "delete" ]
- apiGroups: [ "apps" ]
resources: [ "deployments", "daemonsets" ]
verbs: [ "get", "list" ]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crUninstallHook.name" . }}
{{ template "kubevirt.crUninstallHook.annotations" (dict "hookWeight" 2) }}
subjects:
- kind: ServiceAccount
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crUninstallHook.name" . }}
roleRef:
kind: Role
name: {{ template "kubevirt.crUninstallHook.name" . }}
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.crUninstallHook.name" . }}
{{ template "kubevirt.crUninstallHook.annotations" (dict "hookWeight" 3) }}
spec:
template:
metadata:
name: {{ template "kubevirt.crUninstallHook.name" . }}
spec:
serviceAccountName: {{ template "kubevirt.crUninstallHook.name" . }}
restartPolicy: {{ .Values.hookRestartPolicy }}
containers:
- name: {{ template "kubevirt.crUninstallHook.name" . }}
image: {{ .Values.hookImage }}
securityContext:
{{- toYaml .Values.hookSecurityContext | nindent 12 }}
args:
- delete
- kubevirt
- kubevirt
- name: {{ template "kubevirt.crUninstallHook.name" . }}-cleanup
image: {{ .Values.hookImage }}
securityContext:
{{- toYaml .Values.hookSecurityContext | nindent 12 }}
args:
- wait
- --for=delete
- deployments/virt-api
- deployments/virt-controller
- daemonsets/virt-handler
- --timeout=60s

View File

@ -0,0 +1,32 @@
apiVersion: kubevirt.io/v1
kind: KubeVirt
metadata:
name: kubevirt
namespace: {{ .Release.Namespace }}
spec:
{{- with .Values.kubevirt.configuration }}
configuration:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.kubevirt.customizeComponents }}
customizeComponents:
{{- toYaml . | nindent 4 }}
{{- end }}
imagePullPolicy: {{ .Values.kubevirt.imagePullPolicy }}
{{- with .Values.kubevirt.infra }}
infra:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.kubevirt.uninstallStrategy }}
uninstallStrategy: {{ .Values.kubevirt.uninstallStrategy }}
{{- end }}
{{- with .Values.kubevirt.workloadUpdateStrategy }}
workloadUpdateStrategy:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.kubevirt.monitorNamespace }}
monitorNamespace: {{ .Values.kubevirt.monitorNamespace }}
{{- end }}
{{- if .Values.kubevirt.monitorAccount }}
monitorAccount: {{ .Values.kubevirt.monitorAccount }}
{{- end }}

View File

@ -0,0 +1,60 @@
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.namespaceHook.name" . }}
{{ template "kubevirt.namespaceHook.annotations" (dict "hookWeight" 1) }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "kubevirt.namespaceHook.name" . }}
{{ template "kubevirt.namespaceHook.annotations" (dict "hookWeight" 1) }}
rules:
- apiGroups: [ "" ]
resources: [ "namespaces" ]
resourceNames:
- {{ .Release.Namespace | quote }}
verbs: [ "get", "patch" ]
- apiGroups: [ "management.cattle.io" ] # Rancher
resources: [ "projects" ]
verbs: [ "updatepsa" ]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "kubevirt.namespaceHook.name" . }}
{{ template "kubevirt.namespaceHook.annotations" (dict "hookWeight" 2) }}
subjects:
- kind: ServiceAccount
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.namespaceHook.name" . }}
roleRef:
kind: ClusterRole
name: {{ template "kubevirt.namespaceHook.name" . }}
apiGroup: rbac.authorization.k8s.io
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: {{ template "kubevirt.namespaceHook.name" . }}
{{ template "kubevirt.namespaceHook.annotations" (dict "hookWeight" 3) }}
spec:
template:
metadata:
name: {{ template "kubevirt.namespaceHook.name" . }}
spec:
serviceAccountName: {{ template "kubevirt.namespaceHook.name" . }}
restartPolicy: {{ .Values.hookRestartPolicy }}
containers:
- name: {{ template "kubevirt.namespaceHook.name" . }}
securityContext:
{{- toYaml .Values.hookSecurityContext | nindent 12 }}
image: {{ .Values.hookImage }}
args:
- label
- namespace
- {{ .Release.Namespace }}
- kubevirt.io=
- pod-security.kubernetes.io/enforce=privileged

View File

@ -0,0 +1,34 @@
operator:
image: registry.suse.com/suse/sles/15.6/virt-operator
version: 1.3.1-150600.5.9.1
pullPolicy: IfNotPresent
kubevirt:
# Holds kubevirt configurations. Same as the virt-configMap.
configuration: {}
customizeComponents: {}
# The ImagePullPolicy to use.
imagePullPolicy: IfNotPresent
# Selectors and tolerations that should apply to KubeVirt infrastructure components.
infra: {}
# Specifies if KubeVirt can be deleted if workloads are still present.
# This is mainly a precaution to avoid accidental data loss.
uninstallStrategy: ""
# WorkloadUpdateStrategy defines at the cluster level how to handle automated workload updates.
workloadUpdateStrategy: {}
# Optionally enable ServiceMonitor for prometheus, see
# https://kubevirt.io/user-guide/user_workloads/component_monitoring/
monitorAccount: ""
monitorNamespace: ""
hookImage: rancher/kubectl:v1.30.2
hookRestartPolicy: OnFailure
hookSecurityContext:
seccompProfile:
type: RuntimeDefault
runAsNonRoot: true
runAsUser: 1000
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:1.2.0 #!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0
#!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:1.2.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%kubevirt-dashboard-extension-chart:%%CHART_MAJOR%%.0.0_up1.2.0-%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
@ -17,4 +17,4 @@ description: 'SUSE Edge: KubeVirt extension for Rancher Dashboard'
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg 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: 1.2.0 version: "%%CHART_MAJOR%%.0.0+up1.2.0"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%metal3-chart:302.0.0_up0.9.0 #!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0
#!BuildTag: %%IMG_PREFIX%%metal3-chart:302.0.0_up0.9.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.0-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: 0.9.0 appVersion: 0.9.0
dependencies: dependencies:
@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg 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: 302.0.0+up0.9.0 version: "%%CHART_MAJOR%%.0.0+up0.9.0"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%metallb-chart:0.14.9 #!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9
#!BuildTag: %%IMG_PREFIX%%metallb-chart:0.14.9-%RELEASE% #!BuildTag: %%IMG_PREFIX%%metallb-chart:%%CHART_MAJOR%%.0.0_up0.14.9-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: v0.14.3 appVersion: v0.14.3
dependencies: dependencies:
@ -20,4 +20,4 @@ name: metallb
sources: sources:
- https://github.com/metallb/metallb - https://github.com/metallb/metallb
type: application type: application
version: 0.14.9 version: "%%CHART_MAJOR%%.0.0+up0.14.9"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:302.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.13.0
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:302.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-airgap-resources-chart:%%CHART_MAJOR%%.0.0_up0.13.0
apiVersion: v2 apiVersion: v2
appVersion: 0.13.0 appVersion: 0.13.0
description: Rancher Turtles utility chart for airgap scenarios description: Rancher Turtles utility chart for airgap scenarios
@ -7,4 +7,4 @@ 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: 302.0.0+up0.13.0 version: "%%CHART_MAJOR%%.0.0+up0.13.0"

View File

@ -4,5 +4,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:302.0.0_up0.13.0 #!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.13.0
#!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:302.0.0_up0.13.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%rancher-turtles-chart:%%CHART_MAJOR%%.0.0_up0.13.0-%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
@ -29,4 +29,4 @@ keywords:
- provisioning - provisioning
name: rancher-turtles name: rancher-turtles
type: application type: application
version: 302.0.0+up0.13.0 version: "%%CHART_MAJOR%%.0.0+up0.13.0"

View File

@ -11,5 +11,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -2,17 +2,6 @@
{{- $namespace := index .Values "cluster-api-operator" "cluster-api" "metal3" "infrastructure" "namespace" }} {{- $namespace := index .Values "cluster-api-operator" "cluster-api" "metal3" "infrastructure" "namespace" }}
{{- if not (lookup "v1" "Namespace" "" $namespace) }} {{- if not (lookup "v1" "Namespace" "" $namespace) }}
--- ---
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: ClusterctlConfig
metadata:
name: clusterctl-config
namespace: rancher-turtles-system
spec:
providers:
- name: metal3
url: "https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.2/infrastructure-components.yaml"
type: InfrastructureProvider
---
apiVersion: v1 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
@ -23,6 +12,20 @@ metadata:
{{- end }} {{- end }}
--- ---
apiVersion: turtles-capi.cattle.io/v1alpha1 apiVersion: turtles-capi.cattle.io/v1alpha1
kind: ClusterctlConfig
metadata:
name: clusterctl-config
namespace: rancher-turtles-system
annotations:
"helm.sh/hook": "post-install, post-upgrade"
"helm.sh/hook-weight": "1"
spec:
providers:
- name: metal3
url: "https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.2/infrastructure-components.yaml"
type: InfrastructureProvider
---
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: CAPIProvider kind: CAPIProvider
metadata: metadata:
name: metal3 name: metal3
@ -33,8 +36,8 @@ metadata:
spec: spec:
name: metal3 name: metal3
type: infrastructure type: infrastructure
{{- if index .Values "cluster-api-operator" "cluster-api" "rke2" "version" }} {{- if index .Values "cluster-api-operator" "cluster-api" "metal3" "version" }}
version: {{ index .Values "cluster-api-operator" "cluster-api" "rke2" "version" }} version: {{ index .Values "cluster-api-operator" "cluster-api" "metal3" "version" }}
{{- end }} {{- end }}
configSecret: configSecret:
{{- if index .Values "cluster-api-operator" "cluster-api" "configSecret" "name" }} {{- if index .Values "cluster-api-operator" "cluster-api" "configSecret" "name" }}

View File

@ -52,18 +52,19 @@ 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: "" imageUrl: "registry.rancher.com/rancher/cluster-api-controller:v1.7.7"
fetchConfig: fetchConfig:
url: "" url: ""
selector: "" selector: ""
rke2: rke2:
enabled: true enabled: true
version: "" 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" imageUrl: "registry.rancher.com/rancher/cluster-api-provider-rke2-bootstrap:v0.8.0"
@ -78,7 +79,7 @@ cluster-api-operator:
selector: "" selector: ""
metal3: metal3:
enabled: true enabled: true
version: "" version: "v1.7.2"
infrastructure: infrastructure:
namespace: capm3-system namespace: capm3-system
imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%cluster-api-provider-metal3:1.7.2" imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%cluster-api-provider-metal3:1.7.2"
@ -87,4 +88,4 @@ cluster-api-operator:
selector: "" selector: ""
ipam: ipam:
namespace: capm3-system namespace: capm3-system
imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%images/ip-address-manager:1.7.2" imageUrl: "%%IMG_REPO%%/%%IMG_PREFIX%%ip-address-manager:1.7.2"

View File

@ -0,0 +1,23 @@
#!BuildTag: %%IMG_PREFIX%%release-manifest:3.2.0
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.edge.manifest
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SUSE Edge Release Manifest"
LABEL org.opencontainers.image.description="Release Manifest containing information about a specific SUSE Edge release"
LABEL org.opencontainers.image.version="3.2.0"
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.2.0"
LABEL org.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="release-manifest"
LABEL com.suse.release-stage="released"
# endlabelprefix
COPY release_manifest.yaml release_manifest.yaml

View File

@ -1,12 +1,5 @@
<services> <services>
<service mode="buildtime" name="kiwi_metainfo_helper"/> <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-rke2_version%%</param>
<param name="package">cluster-api-provider-rke2-control-plane</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>
@ -16,4 +9,13 @@
<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 name="replace_using_env" mode="buildtime">
<param name="file">release_manifest.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="var">CHART_REPO</param>
<param name="eval">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service>
</services> </services>

View File

@ -0,0 +1,104 @@
apiVersion: lifecycle.suse.com/v1alpha1
kind: ReleaseManifest
metadata:
name: release-manifest-3-2-0
spec:
releaseVersion: 3.2.0
components:
kubernetes:
k3s:
version: v1.31.2+k3s1
rke2:
version: v1.31.2+rke2r1
operatingSystem:
version: "6.0"
zypperID: "SL-Micro"
cpeScheme: "cpe:/o:suse:sl-micro:6.0"
prettyName: "SUSE Linux Micro 6.0"
supportedArchs:
- "x86_64"
- "aarch64"
workloads:
helm:
- prettyName: Rancher
releaseName: rancher
chart: rancher
version: v2.10.0
repository: https://releases.rancher.com/server-charts/stable
- prettyName: Longhorn
releaseName: longhorn
chart: longhorn
version: 105.1.0+up1.7.2
repository: https://charts.rancher.io
dependencyCharts:
- releaseName: longhorn-crd
chart: longhorn-crd
version: 105.1.0+up1.7.2
repository: https://charts.rancher.io
- prettyName: MetalLB
releaseName: metallb
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metallb-chart
version: %%CHART_MAJOR%%.0.0+up0.14.9
- prettyName: CDI
releaseName: cdi
chart: %%CHART_REPO%%/%%IMG_PREFIX%%cdi-chart
version: %%CHART_MAJOR%%.0.0+up0.4.0
- prettyName: KubeVirt
releaseName: kubevirt
chart: %%CHART_REPO%%/%%IMG_PREFIX%%kubevirt-chart
version: %%CHART_MAJOR%%.0.0+up0.4.0
addonCharts:
- releaseName: kubevirt-dashboard-extension
chart: %%CHART_REPO%%/%%IMG_PREFIX%%kubevirt-dashboard-extension-chart
version: %%CHART_MAJOR%%.0.0+up1.2.0
- prettyName: NeuVector
releaseName: neuvector
chart: neuvector
version: 105.0.0+up2.8.3
repository: https://charts.rancher.io
dependencyCharts:
- releaseName: neuvector-crd
chart: neuvector-crd
version: 105.0.0+up2.8.3
repository: https://charts.rancher.io
addonCharts:
- releaseName: neuvector-ui-ext
chart: neuvector-ui-ext
repository: https://github.com/rancher/ui-plugin-charts/raw/main
version: 2.0.1
- prettyName: EndpointCopierOperator
releaseName: endpoint-copier-operator
chart: %%CHART_REPO%%/%%IMG_PREFIX%%endpoint-copier-operator-chart
version: %%CHART_MAJOR%%.0.0+up0.2.1
- prettyName: Elemental
releaseName: elemental-operator
chart: oci://registry.suse.com/rancher/elemental-operator-chart
version: 1.6.5
dependencyCharts:
- releaseName: elemental-operator-crds
chart: oci://registry.suse.com/rancher/elemental-operator-crds-chart
version: 1.6.5
- prettyName: SRIOV
releaseName: sriov-network-operator
chart: %%CHART_REPO%%/%%IMG_PREFIX%%sriov-network-operator-chart
version: %%CHART_MAJOR%%.0.0+up1.4.0
dependencyCharts:
- releaseName: sriov-crd
chart: %%CHART_REPO%%/%%IMG_PREFIX%%sriov-crd-chart
version: %%CHART_MAJOR%%.0.0+up1.4.0
- prettyName: Akri
releaseName: akri
chart: %%CHART_REPO%%/%%IMG_PREFIX%%akri-chart
version: %%CHART_MAJOR%%.0.0+up0.12.20
addonCharts:
- releaseName: akri-dashboard-extension
chart: %%CHART_REPO%%/%%IMG_PREFIX%%akri-dashboard-extension-chart
version: %%CHART_MAJOR%%.0.0+up1.1.0
- prettyName: Metal3
releaseName: metal3
chart: %%CHART_REPO%%/%%IMG_PREFIX%%metal3-chart
version: %%CHART_MAJOR%%.0.0+up0.9.0
- prettyName: RancherTurtles
releaseName: rancher-turtles
chart: %%CHART_REPO%%/%%IMG_PREFIX%%rancher-turtles-chart
version: %%CHART_MAJOR%%.0.0+up0.4.0

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:1.3.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:%%CHART_MAJOR%%.0.0_up1.4.0-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:1.3.0 #!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:%%CHART_MAJOR%%.0.0_up1.4.0
annotations: annotations:
catalog.cattle.io/experimental: "true" catalog.cattle.io/experimental: "true"
catalog.cattle.io/hidden: "true" catalog.cattle.io/hidden: "true"
@ -10,4 +10,4 @@ apiVersion: v2
description: Installs the CRDs for the SR-IOV operator description: Installs the CRDs for the SR-IOV operator
name: sriov-crd name: sriov-crd
type: application type: application
version: 1.3.0 version: "%%CHART_MAJOR%%.0.0+up1.4.0"

View File

@ -4,5 +4,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,19 +1,19 @@
#!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:1.3.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:%%CHART_MAJOR%%.0.0_up1.4.0-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:1.3.0 #!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:%%CHART_MAJOR%%.0.0_up1.4.0
annotations: annotations:
catalog.cattle.io/auto-install: sriov-crd=match catalog.cattle.io/auto-install: sriov-crd=match
catalog.cattle.io/experimental: "true" catalog.cattle.io/experimental: "true"
catalog.cattle.io/namespace: cattle-sriov-system catalog.cattle.io/namespace: cattle-sriov-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/upstream-version: 1.3.0 catalog.cattle.io/upstream-version: 1.4.0
apiVersion: v2 apiVersion: v2
appVersion: v1.3.0 appVersion: v1.4.0
dependencies: dependencies:
- condition: sriov-nfd.enabled - condition: sriov-nfd.enabled
name: sriov-nfd name: sriov-nfd
repository: file://./charts/sriov-nfd repository: file://./charts/sriov-nfd
version: 0.15.6 version: 0.15.7
description: SR-IOV network operator configures and manages SR-IOV networks in the description: SR-IOV network operator configures and manages SR-IOV networks in the
kubernetes cluster kubernetes cluster
home: https://github.com/k8snetworkplumbingwg/sriov-network-operator home: https://github.com/k8snetworkplumbingwg/sriov-network-operator
@ -25,4 +25,4 @@ name: sriov-network-operator
sources: sources:
- https://github.com/k8snetworkplumbingwg/sriov-network-operator - https://github.com/k8snetworkplumbingwg/sriov-network-operator
type: application type: application
version: 1.3.0 version: "%%CHART_MAJOR%%.0.0+up1.4.0"

View File

@ -38,9 +38,20 @@ For additional information and methods for installing Helm, refer to the officia
### Deploy SR-IOV Network Operator ### Deploy SR-IOV Network Operator
#### Deploy from OCI repo
``` ```
$ helm install -n sriov-network-operator --create-namespace --version 1.3.0 --set sriovOperatorConfig.deploy=true sriov-network-operator oci://ghcr.io/k8snetworkplumbingwg/sriov-network-operator-chart
```
#### Deploy from project sources
```
# Clone project
$ git clone https://github.com/k8snetworkplumbingwg/sriov-network-operator.git ; cd sriov-network-operator
# Install Operator # Install Operator
$ helm install -n sriov-network-operator --create-namespace --wait sriov-network-operator ./ $ helm install -n sriov-network-operator --create-namespace --wait --set sriovOperatorConfig.deploy=true sriov-network-operator ./deployment/sriov-network-operator-chart
# View deployed resources # View deployed resources
$ kubectl -n sriov-network-operator get pods $ kubectl -n sriov-network-operator get pods
@ -128,3 +139,13 @@ This section contains general parameters that apply to both the operator and dae
| `images.sriovDevicePlugin` | SR-IOV device plugin image | | `images.sriovDevicePlugin` | SR-IOV device plugin image |
| `images.resourcesInjector` | Resources Injector image | | `images.resourcesInjector` | Resources Injector image |
| `images.webhook` | Operator Webhook image | | `images.webhook` | Operator Webhook image |
### Extra objects parameters
**Disclaimer**:
Please note that any resources deployed using the `extraDeploy` in this Helm chart are the sole responsibility of the user. It is important to review and understand the implications of these deployed resources. The maintainers of this Helm chart take no responsibility for any issues or damages caused by the deployment or operation of these resources.
| Name | description |
| ---- | ------------|
|`extraDeploy`| Array of extra objects to deploy with the release |

View File

@ -4,5 +4,7 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>

View File

@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
appVersion: v0.15.6 appVersion: v0.15.7
description: Detects hardware features available on each node in a Kubernetes cluster, description: Detects hardware features available on each node in a Kubernetes cluster,
and advertises those features using node labels and advertises those features using node labels
home: https://github.com/kubernetes-sigs/node-feature-discovery home: https://github.com/kubernetes-sigs/node-feature-discovery
@ -11,4 +11,4 @@ name: sriov-nfd
sources: sources:
- https://github.com/kubernetes-sigs/node-feature-discovery - https://github.com/kubernetes-sigs/node-feature-discovery
type: application type: application
version: 0.15.6 version: 0.15.7

View File

@ -3,7 +3,7 @@ image:
# This should be set to 'IfNotPresent' for released version # This should be set to 'IfNotPresent' for released version
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# tag, if defined will use the given image tag, else Chart.AppVersion will be used # tag, if defined will use the given image tag, else Chart.AppVersion will be used
tag: v0.15.6-build20240822 tag: v0.15.7-build20241113
imagePullSecrets: [] imagePullSecrets: []
nameOverride: "" nameOverride: ""

View File

@ -0,0 +1,8 @@
{{- range .Values.extraDeploy }}
---
{{- if typeIs "string" . }}
{{- tpl . $ }}
{{- else }}
{{- tpl (. | toYaml) $ }}
{{- end }}
{{- end }}

View File

@ -20,6 +20,8 @@ spec:
maxUnavailable: 33% maxUnavailable: 33%
template: template:
metadata: metadata:
annotations:
openshift.io/required-scc: restricted-v2
labels: labels:
name: sriov-network-operator name: sriov-network-operator
spec: spec:

View File

@ -96,26 +96,27 @@ supportedExtraNICs: []
images: images:
operator: operator:
repository: rancher/hardened-sriov-network-operator repository: rancher/hardened-sriov-network-operator
tag: v1.3.0-build20240816 tag: v1.4.0-build20241113
sriovConfigDaemon: sriovConfigDaemon:
repository: rancher/hardened-sriov-network-config-daemon repository: rancher/hardened-sriov-network-config-daemon
tag: v1.3.0-build20240816 tag: v1.4.0-build20241113
sriovCni: sriovCni:
repository: rancher/hardened-sriov-cni repository: rancher/hardened-sriov-cni
tag: v2.8.1-build20240820 tag: v2.8.1-build20241113
ibSriovCni: ibSriovCni:
repository: rancher/hardened-ib-sriov-cni repository: rancher/hardened-ib-sriov-cni
tag: v1.1.1-build20240816 tag: v1.1.1-build20241113
sriovDevicePlugin: sriovDevicePlugin:
repository: rancher/hardened-sriov-network-device-plugin repository: rancher/hardened-sriov-network-device-plugin
tag: v3.7.0-build20240816 tag: v3.8.0-build20241114
resourcesInjector: resourcesInjector:
repository: rancher/hardened-sriov-network-resources-injector repository: rancher/hardened-sriov-network-resources-injector
tag: v1.6.0-build20240816 tag: v1.6.0-build20241113
webhook: webhook:
repository: rancher/hardened-sriov-network-webhook repository: rancher/hardened-sriov-network-webhook
tag: v1.3.0-build20240816 tag: v1.4.0-build20241113
imagePullSecrets: [] imagePullSecrets: []
extraDeploy: []
global: global:
cattle: cattle:
systemDefaultRegistry: "" systemDefaultRegistry: ""

View File

@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:0.1.0 #!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.0
#!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:0.1.0-%RELEASE% #!BuildTag: %%IMG_PREFIX%%upgrade-controller-chart:%%CHART_MAJOR%%.0.0_up0.1.0-%RELEASE%
apiVersion: v2 apiVersion: v2
appVersion: 0.1.0 appVersion: 0.1.0
dependencies: dependencies:
@ -10,4 +10,4 @@ dependencies:
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: 0.1.0 version: "%%CHART_MAJOR%%.0.0+up0.1.0"

View File

@ -11,6 +11,8 @@
<param name="file">Chart.yaml</param> <param name="file">Chart.yaml</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">CHART_MAJOR=$(rpm --macros=/root/.rpmmacros -E %{?chart_major})</param>
<param name="var">CHART_MAJOR</param>
</service> </service>
</services> </services>