1
0
forked from suse-edge/Factory

397 Commits

Author SHA256 Message Date
e9554a4399 Merge pull request 'Revert the removal of repo' (#252) from dprodanov/Factory:fix-rm into main
Reviewed-on: suse-edge/Factory#252
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-29 13:25:11 +02:00
45cd7fbc36 Revert the removal of repo 2025-08-29 14:24:06 +03:00
05f49fec7b Merge pull request 'Update rancher prime version to the GA' (#251) from dprodanov/Factory:update-rancher into main
Reviewed-on: suse-edge/Factory#251
Reviewed-by: Kristian Zhelyazkov <kzhelyazkov@noreply.src.opensuse.org>
2025-08-29 13:20:46 +02:00
d1cb632801 Update Rancher prime version to GA 2025-08-29 14:16:57 +03:00
a1ba635f5d Merge pull request 'upgrade-kubevirt' (#247) from dprodanov/Factory:upgrade-kubevirt into main
Reviewed-on: suse-edge/Factory#247
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-29 11:38:48 +02:00
0295819a86 bump chart version as well 2025-08-29 12:36:47 +03:00
6875eea67f Merge pull request 'changed the entry point for pre-commit to call the script from the venv' (#248) from dprodanov/Factory:fix-pre-commit into main
Reviewed-on: suse-edge/Factory#248
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-29 10:53:39 +02:00
3652c43179 changed the entry point for pre-commit to call the script from the venv 2025-08-29 11:51:53 +03:00
8403958d39 Update release manifest 2025-08-29 11:09:09 +03:00
b77a565a57 Upgrade Kubevirt to 1.5.2 2025-08-29 11:07:13 +03:00
a0180aa25a Upgrade CDI to 1.62.0 2025-08-29 11:03:39 +03:00
2a852b4266 Add release URL (#246)
Reviewed-on: suse-edge/Factory#246
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
2025-08-27 01:09:53 +02:00
1b112a8727 Merge pull request '[3.4.0] - updates to release-manifest' (#245) from dprodanov/Factory:3-4-0-release-manifest into main
Reviewed-on: suse-edge/Factory#245
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-26 13:29:03 +02:00
411e9ab220 [3.4.0] - updates to release-manifest 2025-08-26 12:28:51 +03:00
9227c1bbeb Merge pull request 'Bump BMO to 0.10.2' (#217) from nbelouin/Factory:bmo-upgrade into main
Reviewed-on: suse-edge/Factory#217
Reviewed-by: Marco Chiappero <mchiappero@noreply.src.opensuse.org>
Reviewed-by: Steven Hardy <steven.hardy@noreply.src.opensuse.org>
2025-08-22 15:27:10 +02:00
994273a2a3 Adding nessie to factory (#244)
Adding nessie to factory.
This aims to test the theory of conflict if there's same package and branch name, as was the case in #243

Authored-by: George <george_agriogiannis@yahoo.com>
Reviewed-on: suse-edge/Factory#244
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-22 09:25:32 +02:00
ec829ba559 Bump BMO to 0.10.2
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
2025-08-21 09:04:32 +02:00
9821dab715 Pin to latest commit for EIB (#228)
Reviewed-on: suse-edge/Factory#228
Reviewed-by: Denislav Prodanov <dprodanov@noreply.src.opensuse.org>
Co-authored-by: dbw7 <danial.bekhit@suse.com>
Co-committed-by: dbw7 <danial.bekhit@suse.com>
2025-08-20 08:36:43 +02:00
0eec81256f Merge pull request 'bump kubectl image in upgrade controller and turtles' (#239) from dprodanov/Factory:bump-kubectl-image into main
Reviewed-on: suse-edge/Factory#239
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-19 08:38:59 +02:00
0fd2e6472a bump kubectl image in upgrade controller and turtles 2025-08-18 16:29:53 +03:00
d648a17268 Merge pull request 'kubectl-image' (#238) from dprodanov/Factory:kubectl-image into main
Reviewed-on: suse-edge/Factory#238
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-18 15:24:38 +02:00
d056b82800 merge upstream 2025-08-18 13:56:30 +02:00
e935c18527 Merge pull request 'updated 3.4.0 release manifest versions' (#236) from dprodanov/Factory:update-rm into main
Reviewed-on: suse-edge/Factory#236
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
2025-08-18 13:49:03 +02:00
d1dcfadea6 update kubectl image to 1.33.4 2025-08-18 13:15:40 +03:00
594a388a50 updated 3.4.0 release manifest versions 2025-08-18 13:06:57 +03:00
a8a7b3a542 Bump metal3-chart due to ironicIP
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-15 08:28:33 +00:00
6059a859a1 Bring IRONIC_IP back and give provisioningIP higher priority
Revert the change that translated ironicIP into provisioningIP, as well
as the messages on deprecation. This is to allow for the use with Metal
LB in SV.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-14 15:54:57 +00:00
8da51ba73f Allow the use of IRONIC_IP again in ironic-image
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-14 15:54:56 +00:00
5bf3812659 Let every media download go through HTTPS if set up
Update some URLs to leverage HTTPs whenever VMEDIA_TLS_PORT is set.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-14 15:54:56 +00:00
a11bb47c19 Always generate IRONIC_EXTERNAL_HTTP_URL
Commit 03d7a39 introduced the possibility to externally configure
IRONIC_EXTERNAL_HTTP_URL, while removing also the value when the host
was not user provided.

Revert this last behaviour, by always adding the variable in the ironic
ConfigMap even if the host is not set in values, leveraging either
ironicIP or provisioningIP. This is required to fix the use of VMedia
TLS.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-14 06:28:18 +00:00
d18aef225e Clear IRONIC_IP when PROVISIONING_IP is IPv6
Make sure that only IRONIC_IPV6 is set with a valid value when
PROVISIONING_IP is an IPv6 address by also clearing IRONIC_IP

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-13 15:05:13 +00:00
8d1f677931 Align TLS HTTPD with HTTP
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-12 14:19:56 +00:00
d0bbc1d844 Update a few httpd config files
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-12 14:17:29 +00:00
47df258e97 Bump the metal3-chart versions after PR #223
Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-12 09:14:00 +00:00
5ece6cd64e Temporarily grant access to anything on HTTPS
Unfortuantely, likely due to some conflicts in the Apache, access cannot
be granted to /images/ only, so allow anyone for now.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-08 15:30:56 +00:00
0da5de1c06 Use Apache 2.4 syntax for access control on TLS HTTP server
Migrate the access rules for files in the HTTPS media server instance
to the newer 2.4 syntax, matching the HTTP media server in httpd.conf
2025-08-08 10:31:26 +00:00
27af056dce Fix a few ShellCheck reported warnings from PR #213
The checks on the upstream project have reported some warnings to the
code accepted in PR #213, fix them in this commit.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-07 20:20:09 +00:00
e233adfec2 Enable PreferDualStack on all the Services in the subcharts
Make sure that the services are created with both IPv4 and IPv6
addresses when the cluster has been created with both IPv4 and IPv6
ranges. They will behave as single stack otherwise.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:47:00 +00:00
8617c36789 Update the URL for the BMO to connect to Ironic
The BMO should now connect via the provisioningHostname if set or an IP
address. Add a helper that returns the ironic hostname or correctly
formatted IP to define the ironicApiHost variable in the BMO configmap.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:47:00 +00:00
aa56c231d4 Include the hostname for SAN in Certificates
Recently provisioningHostname has been introduced as an alternative way
to configure the IPs to bind and respond to. This however requires that
the Certificates for HTTPS also include a dnsNames section whenver such
value is present.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:47:00 +00:00
29dd8dda17 Introduce metal3.provisioningIP template and deprecate ironicIP
So far ironicIP has been part of values.yaml under the global section,
however this is very misleading: this variable is internal to the Ironic
startup scripts and should not be set, moreover it conflicts with
provisioningIP, which is instead a public configuration variable for the
purpose.

This commits thus introduces the following changes:
- removes the creation of IRONIC_IP in the Ironic configmap
- does not yet remove ironicIP from values.yaml to avoid breaking
  forward compatibility
- introduces a utility function to perform input validation while still
  prioritizing ironicIP if present

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:47:00 +00:00
6012f480b0 Allow to change the LISTEN_ALL_INTERFACE variable for Ironic
It should be possible to enable or disable the environment variable
LISTEN_ALL_INTERFACE in the Ironic configmap, as it allows to the way
Ironic binds to socket, especially in combination with the changes
introduced in v29.

However, if listenOnAll is false, Ironic will bind to a specific IPv4
and/or IPv6 address and the 127.0.0.1 address used for the liveness
and readiness probe will not be accepted. Also add a named template
that, when it is set to false, picks a different host IP or address,
according to the following priority:
- ironicIP (deprecated)
- provisioningIP
- provisioningHostname

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:47:00 +00:00
110a7b1f7c Introduce the provisioningHostname env variable in Ironic
Create a new provisioningHostname value in values.yaml in order to set
the new IRONIC_URL_HOSTNAME, that allows to set the address(es) Ironic
will bind to.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:30:27 +00:00
343fcd24b7 Remove unused env and helm variables
Since currently we can only define the provisioning network and the
external HTTP host, remove some clutter generating unused variables.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:30:26 +00:00
03d7a39ead Allow control over IRONIC_EXTERNAL_HTTP_URL via values.yaml
The purpose of this commit is to:
- avoid providing IRONIC_EXTERNAL_HTTP_URL by default, as the Ironic
  startup scripts will be able to derive the value from other variables
- define a new global value under the top values.yaml to generate
  IRONIC_EXTERNAL_HTTP_URL when actually needed
- make sure that the input, which can either be a hostname or an IP
  address, is correctly formatted in case of an IPv6.

This change also allows subsequent cleanups of the whole Configmap
template for Ironic.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-06 17:30:26 +00:00
e2d38a867c Let Apache use separate IPv4 and IPv6 sockets for listening to any
Enable the use of two separate sockets for IPv4 and IPv6 when
LISTEN_ALL_INTERFACES is set to true. While desirable, on Linux Apache uses
IPv4-mapped IPv6 addresses by default, thus leveraging a single IPv6 socket
for IPv4 connections as well.

This behaviour is far from being desirable and can be disabled at compile
time via the "--disable-v4-mapped" flag, so make sure both an ANY address
Listen directive is present for both IPv4 and IPv6. When Apache is compiled
with "--enable-v4-mapped", the IPv4 socket will be simply ignored.

Please see https://httpd.apache.org/docs/2.4/bind.html for more
information.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-04 14:47:42 +00:00
eecd30e90d Update httpd.conf to bind to IPv4 and/or IPv6 sockets
Enable the use of individual IPv4 and IPv6 sockets when the respective
IP is detected and LISTEN_ALL_INTERFACES is not set to true. This allows
to correctly bind to both the IPv4 and IPv6 addresses found and not just
one of them.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-04 14:47:42 +00:00
fc0cfda2c0 Let Ironic API use IPv4 and IPv6 sockets when possible
When LISTEN_ALL_INTERFACES is not set, Apache should make Ironic API
avaiable on either or both IPv4 and IPv6 sockets, depending on the
addresses requested or found on the system.

Make sure to set the "Listen" directive according to ENABLE_IPV4 and
ENABLE_IPV4, and the VirtualHost when IRONIC_URL_HOSTNAME is present.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-04 14:47:42 +00:00
582aaaa424 Set host_ip to an IPv6 address when found
Prioritize IPv6 over IPv4 when available to set host_ip in ironic.conf
when LISTEN_ALL_INTERFACES is not set to true.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-04 14:47:42 +00:00
a94cde2a35 Use my_ipv6 when IRONIC_IPV6 is defined in ironic.conf
As per the Ironic documentation:

"This field [my_ip] does accept an IPv6 address as an override for templates
and URLs, however it is recommended that [DEFAULT]my_ipv6 is used along with
DNS names for service URLs for dual-stack environments."

Fill my_ipv6 when an IPv6 address has been found for binding.

Signed-off-by: Marco Chiappero <marco.chiappero@suse.com>
2025-08-04 14:47:42 +00:00