Compare commits
47 Commits
dprodanov-
...
main
Author | SHA256 | Date | |
---|---|---|---|
e20624cf98
|
|||
afba5dedef | |||
5cbf832b02 | |||
7cf1b8ea26 | |||
83b44c9bc7 | |||
a7cb23a9c1 | |||
07505665e4 | |||
13b18090d0 | |||
22947d9847 | |||
3d087070a7 | |||
9bc3066279 | |||
ec4c51d003 | |||
70ff1fdd31 | |||
ce6519f470 | |||
0ccade5817 | |||
87f163939c | |||
f0d7ede6e0 | |||
aa677745a8 | |||
08797b0030 | |||
8b37096c3a | |||
6ca1cc0ded | |||
fc24747ee5 | |||
9c2d445b06 | |||
e5de658ae9 | |||
8cc06f4ccb | |||
9dc5ba4c52
|
|||
f92f3600e6 | |||
e379d5df4e | |||
346d6137fe | |||
1f36228510 | |||
ec7da715f4 | |||
1ad6c99257 | |||
12e91c2102
|
|||
6fb80441cd | |||
93a5f6813d | |||
bdaa422813 | |||
c25bf622bc | |||
fa57d15ff9 | |||
1a29da28ca | |||
f2d39a7025 | |||
629e96dded | |||
c190a1c800 | |||
be87fb0fc6 | |||
01dfdc5fd9 | |||
90ce8e165c | |||
ad68a91755 | |||
c37782e077 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
*/.osc
|
||||
*/__pycache__
|
||||
.venv/
|
||||
.venv/
|
||||
.idea/
|
@@ -1,3 +1,3 @@
|
||||
PROJECT = "isv:SUSE:Edge:3.3"
|
||||
PROJECT = "isv:SUSE:Edge:Factory"
|
||||
REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
|
||||
BRANCH = "3.3"
|
||||
BRANCH = "main"
|
||||
|
5
_config
5
_config
@@ -60,6 +60,7 @@ BuildFlags: onlybuild:release-manifest-image
|
||||
BuildFlags: excludebuild:endpoint-copier-operator-image
|
||||
BuildFlags: excludebuild:ironic-image
|
||||
BuildFlags: excludebuild:ironic-ipa-downloader-image
|
||||
BuildFlags: excludebuild:kiwi-builder-image
|
||||
BuildFlags: excludebuild:kubectl-image
|
||||
BuildFlags: excludebuild:kube-rbac-proxy-image
|
||||
BuildFlags: excludebuild:metallb-controller-image
|
||||
@@ -149,6 +150,10 @@ BuildFlags: onlybuild:release-manifest-image
|
||||
%else
|
||||
%if "%{sub %{reverse %_project} 1 7}" != "%{reverse :ToTest}" && "%{sub %{reverse %_project} 1 9}" != "%{reverse :Snapshot}"
|
||||
BuildFlags: excludebuild:kiwi-builder-image
|
||||
%else
|
||||
%ifarch aarch64
|
||||
BuildFlags: onlybuild:kiwi-builder-image
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
@@ -1,4 +1,3 @@
|
||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2
|
||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.1
|
||||
#!BuildTag: %%CHART_PREFIX%%akri-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.1-%RELEASE%
|
||||
annotations:
|
||||
|
@@ -5,7 +5,7 @@ metallb:
|
||||
endpoint-copier-operator:
|
||||
chart: endpoint-copier-operator
|
||||
repository: "%%CHART_REPO%%/%%CHART_PREFIX%%"
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.2.1"
|
||||
version: "%%CHART_MAJOR%%.0.1+up0.3.0"
|
||||
kubernetes:
|
||||
k3s:
|
||||
selinuxPackage: k3s-selinux-1.6-1.slemicro.noarch
|
||||
|
@@ -1,8 +1,8 @@
|
||||
#!BuildTag: %%CHART_PREFIX%%endpoint-copier-operator:%%CHART_MAJOR%%.0.0_up0.2.1
|
||||
#!BuildTag: %%CHART_PREFIX%%endpoint-copier-operator:%%CHART_MAJOR%%.0.0_up0.2.1-%RELEASE%
|
||||
#!BuildTag: %%CHART_PREFIX%%endpoint-copier-operator:%%CHART_MAJOR%%.0.1_up0.3.0
|
||||
#!BuildTag: %%CHART_PREFIX%%endpoint-copier-operator:%%CHART_MAJOR%%.0.1_up0.3.0-%RELEASE%
|
||||
apiVersion: v2
|
||||
appVersion: v0.2.0
|
||||
appVersion: v0.3.0
|
||||
description: A Helm chart for Kubernetes
|
||||
name: endpoint-copier-operator
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.2.1"
|
||||
version: "%%CHART_MAJOR%%.0.1+up0.3.0"
|
||||
|
@@ -20,8 +20,23 @@ spec:
|
||||
labels:
|
||||
{{- include "endpoint-copier-operator.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- command:
|
||||
- /manager
|
||||
|
@@ -7,9 +7,9 @@ metadata:
|
||||
name: {{ include "endpoint-copier-operator.fullname" . }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "discovery.k8s.io"
|
||||
resources:
|
||||
- endpoints
|
||||
- endpointslices
|
||||
verbs:
|
||||
- create
|
||||
- delete
|
||||
|
@@ -8,7 +8,7 @@ image:
|
||||
repository: %%IMG_REPO%%/%%IMG_PREFIX%%endpoint-copier-operator
|
||||
pullPolicy: IfNotPresent
|
||||
# Overrides the image tag whose default is the chart appVersion.
|
||||
tag: "0.2.0"
|
||||
tag: "0.3.0"
|
||||
|
||||
nameOverride: "endpoint-copier-operator"
|
||||
fullnameOverride: "endpoint-copier-operator"
|
||||
@@ -29,6 +29,8 @@ podSecurityContext:
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
|
||||
priorityClassName: "system-cluster-critical"
|
||||
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -37,11 +39,11 @@ securityContext:
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 10m
|
||||
cpu: 100m
|
||||
memory: 64Mi
|
||||
requests:
|
||||
cpu: 5m
|
||||
memory: 32Mi
|
||||
|
||||
autoscaling:
|
||||
enabled: false
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<service name="obs_scm">
|
||||
<param name="url">https://github.com/suse-edge/endpoint-copier-operator</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">v0.2.0</param>
|
||||
<param name="revision">v0.3.0</param>
|
||||
<param name="version">_auto_</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
|
@@ -17,14 +17,14 @@
|
||||
|
||||
|
||||
Name: endpoint-copier-operator
|
||||
Version: 0.2.0
|
||||
Release: 0.2.0
|
||||
Version: 0.3.0
|
||||
Release: 0.3.0
|
||||
Summary: Implements a Kubernetes API for copying endpoint resources
|
||||
License: Apache-2.0
|
||||
URL: https://github.com/suse-edge/endpoint-copier-operator
|
||||
Source: endpoint-copier-operator-%{version}.tar
|
||||
Source1: vendor.tar.gz
|
||||
BuildRequires: golang(API) = 1.20
|
||||
BuildRequires: golang(API) = 1.24
|
||||
ExcludeArch: s390
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
|
@@ -1,57 +0,0 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
|
||||
{% if env.LISTEN_ALL_INTERFACES | lower == "true" %}
|
||||
Listen {{ env.IRONIC_INSPECTOR_LISTEN_PORT }}
|
||||
<VirtualHost *:{{ env.IRONIC_INSPECTOR_LISTEN_PORT }}>
|
||||
{% else %}
|
||||
Listen {{ env.IRONIC_URL_HOST }}:{{ env.IRONIC_INSPECTOR_LISTEN_PORT }}
|
||||
<VirtualHost {{ env.IRONIC_URL_HOST }}:{{ env.IRONIC_INSPECTOR_LISTEN_PORT }}>
|
||||
{% endif %}
|
||||
{% if env.IRONIC_INSPECTOR_PRIVATE_PORT == "unix" %}
|
||||
ProxyPass "/" "unix:/shared/inspector.sock|http://127.0.0.1/"
|
||||
ProxyPassReverse "/" "unix:/shared/inspector.sock|http://127.0.0.1/"
|
||||
{% else %}
|
||||
ProxyPass "/" "http://127.0.0.1:{{ env.IRONIC_INSPECTOR_PRIVATE_PORT }}/"
|
||||
ProxyPassReverse "/" "http://127.0.0.1:{{ env.IRONIC_INSPECTOR_PRIVATE_PORT }}/"
|
||||
{% endif %}
|
||||
|
||||
SetEnv APACHE_RUN_USER ironic-suse
|
||||
SetEnv APACHE_RUN_GROUP ironic-suse
|
||||
|
||||
ErrorLog /dev/stdout
|
||||
LogLevel debug
|
||||
CustomLog /dev/stdout combined
|
||||
|
||||
SSLEngine On
|
||||
SSLProtocol {{ env.IRONIC_SSL_PROTOCOL }}
|
||||
SSLCertificateFile {{ env.IRONIC_INSPECTOR_CERT_FILE }}
|
||||
SSLCertificateKeyFile {{ env.IRONIC_INSPECTOR_KEY_FILE }}
|
||||
|
||||
{% if "INSPECTOR_HTPASSWD" in env and env.INSPECTOR_HTPASSWD | length %}
|
||||
<Location / >
|
||||
AuthType Basic
|
||||
AuthName "Restricted area"
|
||||
AuthUserFile "/etc/ironic-inspector/htpasswd"
|
||||
Require valid-user
|
||||
</Location>
|
||||
|
||||
<Location ~ "^/(v1/?)?$" >
|
||||
Require all granted
|
||||
</Location>
|
||||
|
||||
<Location /v1/continue >
|
||||
Require all granted
|
||||
</Location>
|
||||
{% endif %}
|
||||
</VirtualHost>
|
@@ -1,68 +0,0 @@
|
||||
[DEFAULT]
|
||||
auth_strategy = noauth
|
||||
debug = true
|
||||
transport_url = fake://
|
||||
use_stderr = true
|
||||
{% if env.INSPECTOR_REVERSE_PROXY_SETUP == "true" %}
|
||||
{% if env.IRONIC_INSPECTOR_PRIVATE_PORT == "unix" %}
|
||||
listen_unix_socket = /shared/inspector.sock
|
||||
# NOTE(dtantsur): this is not ideal, but since the socket is accessed from
|
||||
# another container, we need to make it world-writeable.
|
||||
listen_unix_socket_mode = 0666
|
||||
{% else %}
|
||||
listen_port = {{ env.IRONIC_INSPECTOR_PRIVATE_PORT }}
|
||||
listen_address = 127.0.0.1
|
||||
{% endif %}
|
||||
{% elif env.LISTEN_ALL_INTERFACES | lower == "true" %}
|
||||
listen_port = {{ env.IRONIC_INSPECTOR_LISTEN_PORT }}
|
||||
listen_address = ::
|
||||
{% else %}
|
||||
listen_port = {{ env.IRONIC_INSPECTOR_LISTEN_PORT }}
|
||||
listen_address = {{ env.IRONIC_IP }}
|
||||
{% endif %}
|
||||
host = {{ env.IRONIC_IP }}
|
||||
{% if env.IRONIC_INSPECTOR_TLS_SETUP == "true" and env.INSPECTOR_REVERSE_PROXY_SETUP == "false" %}
|
||||
use_ssl = true
|
||||
{% endif %}
|
||||
|
||||
[database]
|
||||
connection = sqlite:////var/lib/ironic-inspector/ironic-inspector.db
|
||||
|
||||
{% if env.IRONIC_INSPECTOR_ENABLE_DISCOVERY == "true" %}
|
||||
[discovery]
|
||||
enroll_node_driver = ipmi
|
||||
{% endif %}
|
||||
|
||||
[ironic]
|
||||
auth_type = none
|
||||
endpoint_override = {{ env.IRONIC_BASE_URL }}
|
||||
{% if env.IRONIC_TLS_SETUP == "true" %}
|
||||
cafile = {{ env.IRONIC_CACERT_FILE }}
|
||||
insecure = {{ env.IRONIC_INSECURE }}
|
||||
{% endif %}
|
||||
|
||||
[processing]
|
||||
add_ports = all
|
||||
always_store_ramdisk_logs = true
|
||||
keep_ports = present
|
||||
{% if env.IRONIC_INSPECTOR_ENABLE_DISCOVERY == "true" %}
|
||||
node_not_found_hook = enroll
|
||||
{% endif %}
|
||||
permit_active_introspection = true
|
||||
power_off = false
|
||||
processing_hooks = $default_processing_hooks,lldp_basic
|
||||
ramdisk_logs_dir = /shared/log/ironic-inspector/ramdisk
|
||||
store_data = database
|
||||
|
||||
[pxe_filter]
|
||||
driver = noop
|
||||
|
||||
[service_catalog]
|
||||
auth_type = none
|
||||
endpoint_override = {{ env.IRONIC_INSPECTOR_BASE_URL }}
|
||||
|
||||
{% if env.IRONIC_INSPECTOR_TLS_SETUP == "true" and env.INSPECTOR_REVERSE_PROXY_SETUP == "false" %}
|
||||
[ssl]
|
||||
cert_file = {{ env.IRONIC_INSPECTOR_CERT_FILE }}
|
||||
key_file = {{ env.IRONIC_INSPECTOR_KEY_FILE }}
|
||||
{% endif %}
|
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
export IRONIC_DEPLOYMENT="API"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/configure-ironic.sh
|
||||
|
||||
export IRONIC_REVERSE_PROXY_SETUP=false
|
||||
|
||||
python3 -c 'import os; import sys; import jinja2; sys.stdout.write(jinja2.Template(sys.stdin.read()).render(env=os.environ))' < /tmp/httpd-ironic-api.conf.j2 > /etc/httpd/conf.d/ironic.conf
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/runhttpd
|
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
export IRONIC_DEPLOYMENT="Conductor"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/configure-ironic.sh
|
||||
|
||||
# Ramdisk logs
|
||||
mkdir -p /shared/log/ironic/deploy
|
||||
|
||||
run_ironic_dbsync
|
||||
|
||||
if [[ "$IRONIC_TLS_SETUP" == "true" ]] && [[ "${RESTART_CONTAINER_CERTIFICATE_UPDATED}" == "true" ]]; then
|
||||
# shellcheck disable=SC2034
|
||||
inotifywait -m -e delete_self "${IRONIC_CERT_FILE}" | while read -r file event; do
|
||||
kill $(pgrep ironic)
|
||||
done &
|
||||
fi
|
||||
|
||||
exec /usr/bin/ironic-conductor
|
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
CONFIG=/etc/ironic-inspector/ironic-inspector.conf
|
||||
|
||||
export IRONIC_INSPECTOR_ENABLE_DISCOVERY=${IRONIC_INSPECTOR_ENABLE_DISCOVERY:-false}
|
||||
export INSPECTOR_REVERSE_PROXY_SETUP=${INSPECTOR_REVERSE_PROXY_SETUP:-false}
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/tls-common.sh
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/ironic-common.sh
|
||||
# shellcheck disable=SC1091
|
||||
. /bin/auth-common.sh
|
||||
|
||||
if [[ "$USE_IRONIC_INSPECTOR" == "false" ]]; then
|
||||
echo "FATAL: ironic-inspector is disabled via USE_IRONIC_INSPECTOR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wait_for_interface_or_ip
|
||||
|
||||
IRONIC_INSPECTOR_PORT=${IRONIC_INSPECTOR_ACCESS_PORT}
|
||||
if [[ "$IRONIC_INSPECTOR_TLS_SETUP" == "true" ]]; then
|
||||
if [[ "${INSPECTOR_REVERSE_PROXY_SETUP}" == "true" ]] && [[ "${IRONIC_INSPECTOR_PRIVATE_PORT}" != "unix" ]]; then
|
||||
IRONIC_INSPECTOR_PORT=$IRONIC_INSPECTOR_PRIVATE_PORT
|
||||
fi
|
||||
else
|
||||
export INSPECTOR_REVERSE_PROXY_SETUP="false" # If TLS is not used, we have no reason to use the reverse proxy
|
||||
fi
|
||||
|
||||
export IRONIC_INSPECTOR_BASE_URL="${IRONIC_INSPECTOR_SCHEME}://${IRONIC_URL_HOST}:${IRONIC_INSPECTOR_PORT}"
|
||||
export IRONIC_BASE_URL="${IRONIC_SCHEME}://${IRONIC_URL_HOST}:${IRONIC_ACCESS_PORT}"
|
||||
|
||||
build_j2_config()
|
||||
{
|
||||
local CONFIG_FILE="$1"
|
||||
python3 -c 'import os; import sys; import jinja2; sys.stdout.write(jinja2.Template(sys.stdin.read()).render(env=os.environ))' < "$CONFIG_FILE.j2"
|
||||
}
|
||||
|
||||
# Merge with the original configuration file from the package.
|
||||
build_j2_config "$CONFIG" | crudini --merge "$CONFIG"
|
||||
|
||||
configure_inspector_auth
|
||||
|
||||
configure_client_basic_auth ironic "${CONFIG}"
|
||||
|
||||
ironic-inspector-dbsync --config-file "${CONFIG}" upgrade
|
||||
|
||||
if [[ "$INSPECTOR_REVERSE_PROXY_SETUP" == "false" ]] && [[ "${RESTART_CONTAINER_CERTIFICATE_UPDATED}" == "true" ]]; then
|
||||
# shellcheck disable=SC2034
|
||||
inotifywait -m -e delete_self "${IRONIC_INSPECTOR_CERT_FILE}" | while read -r file event; do
|
||||
kill $(pgrep ironic)
|
||||
done &
|
||||
fi
|
||||
|
||||
# Make sure ironic traffic bypasses any proxies
|
||||
export NO_PROXY="${NO_PROXY:-},$IRONIC_IP"
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
exec /usr/bin/ironic-inspector
|
@@ -1,6 +1,7 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0-%RELEASE%
|
||||
#!BuildTag: %%IMG_PREFIX%%kiwi-builder:10.2.12.0
|
||||
|
||||
# Base image version, should match the tag above
|
||||
ARG KIWIVERSION="10.2.12"
|
||||
FROM registry.suse.com/bci/kiwi:${KIWIVERSION}
|
||||
ARG KIWIVERSION
|
||||
@@ -10,11 +11,11 @@ ARG KIWIVERSION
|
||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||
LABEL org.opencontainers.image.title="SLE Kiwi Builder Container Image"
|
||||
LABEL org.opencontainers.image.description="kiwi-builder based on the SLE Base Container Image."
|
||||
LABEL org.opencontainers.image.version="%%kiwi_version%%"
|
||||
LABEL org.opencontainers.image.version="${KIWIVERSION}"
|
||||
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
|
||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:%%kiwi_version%%.0-%RELEASE%"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%kiwi-builder:${KIWIVERSION}.0-%RELEASE%"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
@@ -23,9 +24,6 @@ LABEL com.suse.image-type="application"
|
||||
LABEL com.suse.release-stage="released"
|
||||
# endlabelprefix
|
||||
|
||||
# help the build service understand the need for python3-kiwi
|
||||
RUN zypper -n install -d -D python3-kiwi; [ "%%kiwi_version%%" = "${KIWIVERSION}" ] || { echo "expected kiwi version ${KIWIVERSION}: version mismatch"; exit 1; }
|
||||
|
||||
# Copy build script into image and make it executable
|
||||
ADD build-image.sh /usr/bin/build-image
|
||||
RUN chmod a+x /usr/bin/build-image
|
||||
|
@@ -1,15 +1,9 @@
|
||||
<services>
|
||||
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||
<service name="docker_label_helper" mode="buildtime"/>
|
||||
<service name="replace_using_env" mode="buildtime">
|
||||
<param name="file">README</param>
|
||||
<param name="eval">IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo)</param>
|
||||
<param name="var">IMG_REPO</param>
|
||||
<param name="eval">IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix})</param>
|
||||
<param name="var">IMG_PREFIX</param>
|
||||
</service>
|
||||
<service name="replace_using_env" mode="buildtime">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="file">README</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>
|
||||
@@ -17,14 +11,4 @@
|
||||
<param name="eval">SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level)</param>
|
||||
<param name="var">SUPPORT_LEVEL</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="replace_using_package_version">
|
||||
<param name="file">Dockerfile</param>
|
||||
<param name="regex">%%kiwi_version%%</param>
|
||||
<param name="package">python3-kiwi</param>
|
||||
</service>
|
||||
<service mode="buildtime" name="replace_using_package_version">
|
||||
<param name="file">README</param>
|
||||
<param name="regex">%%kiwi_version%%</param>
|
||||
<param name="package">python3-kiwi</param>
|
||||
</service>
|
||||
</services>
|
||||
|
@@ -1,4 +1,3 @@
|
||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2
|
||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.2
|
||||
#!BuildTag: %%CHART_PREFIX%%kubevirt-dashboard-extension:%%CHART_MAJOR%%.0.2_up1.3.2-%RELEASE%
|
||||
annotations:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.7_up0.11.5
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.7_up0.11.5-%RELEASE%
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.8_up0.11.6
|
||||
#!BuildTag: %%CHART_PREFIX%%metal3:%%CHART_MAJOR%%.0.8_up0.11.6-%RELEASE%
|
||||
apiVersion: v2
|
||||
appVersion: 0.11.5
|
||||
appVersion: 0.11.6
|
||||
dependencies:
|
||||
- alias: metal3-baremetal-operator
|
||||
name: baremetal-operator
|
||||
@@ -15,7 +15,7 @@ dependencies:
|
||||
condition: global.enable_mariadb
|
||||
name: mariadb
|
||||
repository: file://./charts/mariadb
|
||||
version: 0.5.4
|
||||
version: 0.6.0
|
||||
- alias: metal3-media
|
||||
condition: global.enable_metal3_media_server
|
||||
name: media
|
||||
@@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal
|
||||
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
|
||||
name: metal3
|
||||
type: application
|
||||
version: "%%CHART_MAJOR%%.0.7+up0.11.5"
|
||||
version: "%%CHART_MAJOR%%.0.8+up0.11.6"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
apiVersion: v2
|
||||
appVersion: 10.6.7
|
||||
appVersion: "10.11"
|
||||
description: A Helm chart for MariaDB, used by Metal3
|
||||
name: mariadb
|
||||
type: application
|
||||
version: 0.5.4
|
||||
version: 0.6.0
|
||||
|
13
metal3-chart/charts/mariadb/templates/configmap-mariadb.yaml
Normal file
13
metal3-chart/charts/mariadb/templates/configmap-mariadb.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: mariadb-config
|
||||
labels:
|
||||
{{- include "mariadb.labels" . | nindent 4 }}
|
||||
data:
|
||||
ironic.conf: |
|
||||
[mariadb]
|
||||
max_connections 64
|
||||
max_heap_table_size 1M
|
||||
innodb_buffer_pool_size 5M
|
||||
innodb_log_buffer_size 512K
|
@@ -5,4 +5,7 @@ metadata:
|
||||
labels:
|
||||
{{- include "mariadb.labels" . | nindent 4 }}
|
||||
data:
|
||||
RESTART_CONTAINER_CERTIFICATE_UPDATED: "false"
|
||||
MARIADB_USER: ironic
|
||||
MARIADB_RANDOM_ROOT_PASSWORD: "yes"
|
||||
MARIADB_DATABASE: ironic
|
||||
MARIADB_AUTO_UPGRADE: "yes"
|
@@ -25,23 +25,50 @@ spec:
|
||||
serviceAccountName: {{ include "mariadb.serviceAccountName" . }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
initContainers:
|
||||
# This would run during entrypoint if run as root
|
||||
- name: set-volume-owners
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
allowPrivilegeEscalation: true
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
add:
|
||||
- CHOWN
|
||||
- FOWNER
|
||||
- DAC_OVERRIDE
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
volumeMounts:
|
||||
- name: mariadb-conf
|
||||
mountPath: /etc/mysql/conf.d
|
||||
- name: mariadb-run
|
||||
mountPath: /run/mysql
|
||||
{{- $volmounts }}
|
||||
command: ['bash', '-c', 'source /usr/local/bin/docker-entrypoint.sh && docker_create_db_directories']
|
||||
env:
|
||||
- name: DATADIR
|
||||
value: /var/lib/mysql
|
||||
- name: SOCKET
|
||||
value: /run/mysql/mysql.sock
|
||||
containers:
|
||||
- name: mariadb
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: mariadb-cm
|
||||
env:
|
||||
- name: MARIADB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: password
|
||||
name: ironic-mariadb
|
||||
- name: RESTART_CONTAINER_CERTIFICATE_UPDATED
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: mariadb-cm
|
||||
key: RESTART_CONTAINER_CERTIFICATE_UPDATED
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
@@ -52,9 +79,9 @@ spec:
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- mysqladmin status -uironic -p$(printenv MARIADB_PASSWORD)
|
||||
- healthcheck.sh
|
||||
- --connect
|
||||
- --innodb_initialized
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
@@ -67,19 +94,29 @@ spec:
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- mysqladmin status -uironic -p$(printenv MARIADB_PASSWORD)
|
||||
- healthcheck.sh
|
||||
- --connect
|
||||
- --innodb_initialized
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 10
|
||||
volumeMounts:
|
||||
- name: mariadb-conf
|
||||
mountPath: /etc/mysql/conf.d
|
||||
- name: mariadb-run
|
||||
mountPath: /run/mysql
|
||||
{{- $volmounts }}
|
||||
{{- with .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: mariadb-conf
|
||||
configMap:
|
||||
name: mariadb-config
|
||||
- name: mariadb-run
|
||||
emptyDir:
|
||||
sizeLimit: 20Mi
|
||||
{{- $volumes }}
|
||||
|
@@ -12,9 +12,9 @@ service:
|
||||
targetPort: 3306
|
||||
|
||||
image:
|
||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/suse/mariadb
|
||||
repository: registry.suse.com/suse/mariadb
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 10.6.15.1
|
||||
tag: 10.11
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
@@ -31,8 +31,8 @@ serviceAccount:
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 10060
|
||||
fsGroup: 10060
|
||||
runAsUser: 60
|
||||
fsGroup: 60
|
||||
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -60,6 +60,7 @@ persistence:
|
||||
volumeMounts:
|
||||
- name: mariadb-data-volume
|
||||
mountPath: /var/lib/mysql
|
||||
subPath: data
|
||||
|
||||
volumes:
|
||||
- name: mariadb-data-volume
|
||||
|
@@ -115,8 +115,8 @@ metal3-mariadb:
|
||||
persistence:
|
||||
storageClass: ""
|
||||
image:
|
||||
repository: "registry.suse.com/edge/mariadb"
|
||||
tag: "10.6.15.1"
|
||||
repository: "registry.suse.com/suse/mariadb"
|
||||
tag: "10.11"
|
||||
|
||||
#
|
||||
# Baremetal Operator
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#!BuildTag: %%IMG_PREFIX%%release-manifest:3.3.1
|
||||
#!BuildTag: %%IMG_PREFIX%%release-manifest:3.4.0
|
||||
ARG SLE_VERSION
|
||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION
|
||||
|
||||
@@ -7,11 +7,11 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION
|
||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||
LABEL org.opencontainers.image.title="SUSE Edge Release Manifest"
|
||||
LABEL org.opencontainers.image.description="Release Manifest containing information about a specific SUSE Edge release"
|
||||
LABEL org.opencontainers.image.version="3.3.1"
|
||||
LABEL org.opencontainers.image.version="3.4.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.3.1"
|
||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%release-manifest:3.4.0"
|
||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||
|
@@ -1,9 +1,9 @@
|
||||
apiVersion: lifecycle.suse.com/v1alpha1
|
||||
kind: ReleaseManifest
|
||||
metadata:
|
||||
name: release-manifest-3-3-1
|
||||
name: release-manifest-3-4-0
|
||||
spec:
|
||||
releaseVersion: 3.3.1
|
||||
releaseVersion: 3.4.0
|
||||
components:
|
||||
kubernetes:
|
||||
k3s:
|
||||
@@ -138,7 +138,7 @@ spec:
|
||||
- prettyName: EndpointCopierOperator
|
||||
releaseName: endpoint-copier-operator
|
||||
chart: "%%CHART_REPO%%/%%CHART_PREFIX%%endpoint-copier-operator"
|
||||
version: "%%CHART_MAJOR%%.0.0+up0.2.1"
|
||||
version: "%%CHART_MAJOR%%.0.1+up0.3.0"
|
||||
- prettyName: Elemental
|
||||
releaseName: elemental-operator
|
||||
chart: oci://registry.suse.com/rancher/elemental-operator-chart
|
||||
@@ -171,7 +171,7 @@ spec:
|
||||
- prettyName: Metal3
|
||||
releaseName: metal3
|
||||
chart: "%%CHART_REPO%%/%%CHART_PREFIX%%metal3"
|
||||
version: "%%CHART_MAJOR%%.0.7+up0.11.5"
|
||||
version: "%%CHART_MAJOR%%.0.8+up0.11.6"
|
||||
- prettyName: RancherTurtles
|
||||
releaseName: rancher-turtles
|
||||
chart: "%%CHART_REPO%%/%%CHART_PREFIX%%rancher-turtles"
|
||||
|
Reference in New Issue
Block a user