* Include -channel suffix to channel names
This prevent collisions with the SL Micro 6.1 channel
name provided in previous versions.
Signed-off-by: David Cassany <dcassany@suse.com>
(cherry picked from commit 9426f08849)
* Do not delete ManagedOSVersions by default
Signed-off-by: David Cassany <dcassany@suse.com>
(cherry picked from commit 7d42ed2096)
* Set default channel variable names consistent with OS version
Signed-off-by: David Cassany <dcassany@suse.com>
(cherry picked from commit a836fecfcc)
---------
Signed-off-by: David Cassany <dcassany@suse.com>
Co-authored-by: David Cassany <dcassany@suse.com>
* Bump libraries to incorporate CVE fixes
Bump golang.org/x/net to cover CVE-2025-22870 and fix bsc#1238700.
Bump golang.org/x/crypto to cover CVE-2025-22869 and fix bsc#1239335.
In addition and as a requirement of the new x/crypto library go is bumped to 1.23
Signed-off-by: David Cassany <dcassany@suse.com>
* Dockerfile: bump golang container to 1.24 (#912)
Required since vendored x/crypto lib requires go ver >= 1.23
Related to #dd41431b0b2792f0fca005adf3abc3cf471877c4
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* CVE-2025-22872
Bump golang.org/x/net
https://github.com/advisories/GHSA-vvgc-356p-c3xw
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* go mod vendor
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: David Cassany <dcassany@suse.com>
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
Co-authored-by: David Cassany <dcassany@suse.com>
* Label Templates: fix Random check
This commit fixes the panic occurring with a malformed Random
template label (${Random}).
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Label Templates: don't fail registration for a wrong label
A wrong Random label syntax causes an error that fails and stops
the registration process: don't stop the registration, just log the
error, skip the label and proceed.
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
The airgap script used to work with the Mike Farah's yq.
Anyway, it was incompatible with the Andrey Kislyuk's yq version (which
is the main python3 version you would get via pip).
Drop the eval arg from yq in the airgap script to make it compatible
with both.
Also check the yaml keys are there before trying recursion (which would
led to error out with some yq parsers)
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Fix generation of already present resources
Signed-off-by: David Cassany <dcassany@suse.com>
* Fix legacy name
Signed-off-by: David Cassany <dcassany@suse.com>
---------
Signed-off-by: David Cassany <dcassany@suse.com>
[...]
level=warning msg="[config_reader] The output format `github-actions` is
deprecated, please use `colored-line-number`"
[...]
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* util: add network util functions
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Label Templates: add IPAddress to the Network vars
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* util/net: rework to allow mocking system ip address retrieval
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* util/net: return all the available network addresses
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Label Templates: add IPAddresses.{num} to the Network vars
track all available network addresses
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* make generate-mocks
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: add util/net coverage
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* error strings should not be capitalized
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* RBAC: restrict SeedImage controller auth to fleet-default
do not allow the seedimage-controller to operate on pods, services and
configmaps outside of the fleet-default namespace.
Fixes#457
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* RBAC: move all rbac resources to rbac.yaml
Also have all of them collected and generated via kustomize
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Build e2e chart locally
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add mockgen to build tools
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add missing GINKGO tool
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Reduce e2e tests concurrency
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Make test more verbose
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Bump system-upgrade-controller version
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Raise timeout
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Print error
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Add plan crd
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Adjust timeout
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Do not deploy operator twice
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Restore vendored helper
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Do not attempt to delete pods multiple times
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Remove debug println
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Disable e2e workflow
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Update ele-testhelpers library
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Label Templates: render also annotations
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: move label templates tests to separate file
from api_registration_test.go to labeltmpl_test.go
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: re-use hostinfo variable
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: drop leftover printf()
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: add updateInventoryAnnotations() coverage
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Structure OBS package recipes in folders matching the OBS package name
Signed-off-by: David Cassany <dcassany@suse.com>
* Adapting specfile to new package format
Signed-off-by: David Cassany <dcassany@suse.com>
* Adding _service files to .obs sources
Signed-off-by: David Cassany <dcassany@suse.com>
* Fine tune specfile
Signed-off-by: David Cassany <dcassany@suse.com>
* Use %VERSION% as the version placeholder
Signed-off-by: David Cassany <dcassany@suse.com>
* Remove unneeded OBS workflow
Signed-off-by: David Cassany <dcassany@suse.com>
* Adapt Makefile to new charts paths
Signed-off-by: David Cassany <dcassany@suse.com>
---------
Signed-off-by: David Cassany <dcassany@suse.com>
* Label Templates: rework collection of 'System Data' info
Allow automatic conversion of data to map[string]interface{} (Template
Labels format) using reflection where all data can be useful.
Still do manual collection of data in the map[string]interface{} when
dropping of part of the data is needed.
Use the original hostinfo field names, drop spaces in the keys.
Import also the SMBIOS data from hostinfo, since are there (so also
without dmidecode tool some SMBIOS info will be available).
Keep support of old HARDWARE variable (to be deprecated sooner or
later).
* register/dumpdata: rework initial version adding more options
notably the "label" output format, which is now the default
* register: send both legacy and new Label Templates variables
we don't want to break possible setups using the older Label Templates
variables: send both.
* tests: check new hostinfo Label Templates format
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
'dumpdata' allows to inspect host data from the running host as they are
collected during the registration phase: those are the data made
available in the Elemental Label Templates feature.
This subcommand was developed while working at #834 and since could be
handy for debugging and even for users (elemental sysadmins) adding it
to the elemental-register binary.
'version' is the very first step in moving the elemental-register flags
to command, as requested by #832.
Related to issues: #832, #834
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
The new Registry field allows to prepend a common registry to the
image URLs of the embedded ManagedOSVersion resources.
Fixes#549
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* operator: render 'Random' template lables once
Otherwise we would keep overwriting the template labels which have
Random variables, that are rendered each time differently.
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* tests: check Random template labels overwrite rules
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Use after-install && after-reset stages to initialize system
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Use dynamic CLOUD_INIT_PATHS
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* Use IPAM driven network config on Recovery
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
* operator/register: merge network config retrieval with registration
use the same websocket connection to exchange all the data
* tests: fix tests
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* operator: introduce support to IPAM assigned IP address
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
* Add nmstate support
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
---------
Signed-off-by: Francesco Giudici <francesco.giudici@suse.com>
Signed-off-by: Andrea Mazzotti <andrea.mazzotti@suse.com>
Co-authored-by: Francesco Giudici <francesco.giudici@suse.com>