forked from suse-edge/Factory
Compare commits
18 Commits
sriov_upda
...
turtles_up
Author | SHA256 | Date | |
---|---|---|---|
366032fb3c
|
|||
dc44cb42bf | |||
ee82509ce9 | |||
bfd031153d | |||
a8bd38569b | |||
cfe2e92d13 | |||
40010f5c4f | |||
729dbefe78 | |||
6b530a91d9
|
|||
996ee3b221 | |||
5c2204ba3e | |||
f1bf24e9dd | |||
4ad7e30ea7 | |||
e9b3caf318 | |||
ed9a5df069 | |||
a66325901d | |||
8b6dce500e | |||
fc3da390e9
|
@@ -210,3 +210,15 @@ 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
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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
58
frr-image/Dockerfile
Normal 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"]
|
13
frr-image/_service
Normal file
13
frr-image/_service
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||||
|
<service mode="buildtime" name="docker_label_helper"/>
|
||||||
|
<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>
|
82
frr-image/daemons
Normal file
82
frr-image/daemons
Normal 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
4
frr-image/docker-start
Normal 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
53
frr-image/frr.conf
Normal 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
124
frr-image/frr.sh
Normal 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
0
frr-image/vtysh.conf
Normal file
9
kubevirt-chart/Chart.yaml
Normal file
9
kubevirt-chart/Chart.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:%%CHART_MAJOR%%.0.0_up0.4.0-%RELEASE%
|
||||||
|
#!BuildTag: %%IMG_PREFIX%%sriov-crd-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
10
kubevirt-chart/_service
Normal 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>
|
1
kubevirt-chart/app-readme.md
Normal file
1
kubevirt-chart/app-readme.md
Normal 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.
|
6586
kubevirt-chart/crds/kubevirt.yaml
Normal file
6586
kubevirt-chart/crds/kubevirt.yaml
Normal file
File diff suppressed because it is too large
Load Diff
2
kubevirt-chart/templates/NOTES.txt
Normal file
2
kubevirt-chart/templates/NOTES.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Verify that all KubeVirt components are installed correctly:
|
||||||
|
kubectl get all -n {{ .Release.Namespace }}
|
62
kubevirt-chart/templates/_helpers.tpl
Normal file
62
kubevirt-chart/templates/_helpers.tpl
Normal 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 }}
|
47
kubevirt-chart/templates/_hooks.tpl
Normal file
47
kubevirt-chart/templates/_hooks.tpl
Normal 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 }}
|
55
kubevirt-chart/templates/crd-uninstall-hooks.yaml
Normal file
55
kubevirt-chart/templates/crd-uninstall-hooks.yaml
Normal 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 }}
|
80
kubevirt-chart/templates/crd-upgrade-hooks.yaml
Normal file
80
kubevirt-chart/templates/crd-upgrade-hooks.yaml
Normal 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
|
1361
kubevirt-chart/templates/kubevirt-operator.yaml
Normal file
1361
kubevirt-chart/templates/kubevirt-operator.yaml
Normal file
File diff suppressed because it is too large
Load Diff
71
kubevirt-chart/templates/kubevirt-uninstall-hooks.yaml
Normal file
71
kubevirt-chart/templates/kubevirt-uninstall-hooks.yaml
Normal 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
|
32
kubevirt-chart/templates/kubevirt.yaml
Normal file
32
kubevirt-chart/templates/kubevirt.yaml
Normal 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 }}
|
60
kubevirt-chart/templates/namespace-hooks.yaml
Normal file
60
kubevirt-chart/templates/namespace-hooks.yaml
Normal 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
|
34
kubevirt-chart/values.yaml
Normal file
34
kubevirt-chart/values.yaml
Normal 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
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
@@ -2,6 +2,15 @@
|
|||||||
{{- $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: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": "post-install, post-upgrade"
|
||||||
|
"helm.sh/hook-weight": "1"
|
||||||
|
name: {{ index .Values "cluster-api-operator" "cluster-api" "metal3" "infrastructure" "namespace" }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
apiVersion: turtles-capi.cattle.io/v1alpha1
|
apiVersion: turtles-capi.cattle.io/v1alpha1
|
||||||
kind: ClusterctlConfig
|
kind: ClusterctlConfig
|
||||||
metadata:
|
metadata:
|
||||||
@@ -13,15 +22,6 @@ spec:
|
|||||||
url: "https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.2/infrastructure-components.yaml"
|
url: "https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.7.2/infrastructure-components.yaml"
|
||||||
type: InfrastructureProvider
|
type: InfrastructureProvider
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
"helm.sh/hook": "post-install, post-upgrade"
|
|
||||||
"helm.sh/hook-weight": "1"
|
|
||||||
name: {{ index .Values "cluster-api-operator" "cluster-api" "metal3" "infrastructure" "namespace" }}
|
|
||||||
{{- end }}
|
|
||||||
---
|
|
||||||
apiVersion: turtles-capi.cattle.io/v1alpha1
|
apiVersion: turtles-capi.cattle.io/v1alpha1
|
||||||
kind: CAPIProvider
|
kind: CAPIProvider
|
||||||
metadata:
|
metadata:
|
||||||
@@ -33,8 +33,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" }}
|
||||||
|
@@ -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"
|
||||||
|
23
release-manifest-image/Dockerfile
Normal file
23
release-manifest-image/Dockerfile
Normal 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
|
21
release-manifest-image/_service
Normal file
21
release-manifest-image/_service
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||||
|
<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>
|
||||||
|
<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>
|
104
release-manifest-image/release_manifest.yaml
Normal file
104
release-manifest-image/release_manifest.yaml
Normal 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: 104.2.1+up1.7.2
|
||||||
|
repository: https://charts.rancher.io
|
||||||
|
dependencyCharts:
|
||||||
|
- releaseName: longhorn-crd
|
||||||
|
chart: longhorn-crd
|
||||||
|
version: 104.2.1+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: 104.0.2+up2.8.0
|
||||||
|
repository: https://charts.rancher.io
|
||||||
|
dependencyCharts:
|
||||||
|
- releaseName: neuvector-crd
|
||||||
|
chart: neuvector-crd
|
||||||
|
version: 104.0.2+up2.8.0
|
||||||
|
repository: https://charts.rancher.io
|
||||||
|
addonCharts:
|
||||||
|
- releaseName: neuvector-ui-ext
|
||||||
|
chart: neuvector-ui-ext
|
||||||
|
repository: https://github.com/rancher/ui-plugin-charts/raw/main
|
||||||
|
version: 2.0.0
|
||||||
|
- prettyName: EndpointCopierOperator
|
||||||
|
releaseName: endpoint-copier-operator
|
||||||
|
chart: %%CHART_REPO%%/%%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
|
@@ -1,5 +1,5 @@
|
|||||||
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:302.0.0_up1.4.0-%RELEASE%
|
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:%%CHART_MAJOR%%.0.0_up1.4.0-%RELEASE%
|
||||||
#!BuildTag: %%IMG_PREFIX%%sriov-crd-chart:302.0.0_up1.4.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: 302.0.0+up1.4.0
|
version: "%%CHART_MAJOR%%.0.0+up1.4.0"
|
||||||
|
@@ -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>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:302.0.0_up1.4.0-%RELEASE%
|
#!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:%%CHART_MAJOR%%.0.0_up1.4.0-%RELEASE%
|
||||||
#!BuildTag: %%IMG_PREFIX%%sriov-network-operator-chart:302.0.0_up1.4.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"
|
||||||
@@ -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: 302.0.0+up1.4.0
|
version: "%%CHART_MAJOR%%.0.0+up1.4.0"
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
@@ -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>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user