253 Commits

Author SHA1 Message Date
Jonathon Anderson
e07efeee4c New architecture-specific wwclient overlays
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-31 11:56:53 -06:00
Jonathon Anderson
40f0cebe64 Configure destination of grub.cfg at overlay render time
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-29 21:27:47 -06:00
Jonathon Anderson
91a69e8756 Rename debian.interfaces to ifupdown
When I first split the debian interfaces support from wwinit, I was unable to
figure out what it was called. I used the inelegant name "debian.interfaces" to
identify it; but I have since learned that it is called "ifupdown." I have
since learned that there is even a variant implementation, ifupdown-ng, that is
used by Alpine Linux.

This PR renames the overlay to ifupdown, but retains a copy of it at
debian.interfaces for backwards compatibility.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-09-15 09:50:59 -06:00
Timothy Middelkoop
c1027053d0 Add support for EL10
* Upadate dev container to use EL10
* Update CI to use EL10
* Update spec file for EL10
* Add `make rpm` target for building RPMs
* Use `mktemp` for `make dist` to use devcontainer filesystem
* Set default dhcpd and tftpd to dnsmasq for EL10
* Fix dnsmasq template tftp paths to use basename

Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-08-24 21:43:14 +00:00
Jonathon Anderson
b98eae4b01 Refactor ignition support during dracut
- Control root device using the node/profile root field
- Add support for `/warewulf/wwinit.d` to run scripts during first stage
- Move first-stage ignition support to `/warewulf/wwinit.d/`
- Add `wwctl <node|profile> set --parttype`
- Add overlay template functions `SystemdEscape` and `SystemdEscapePath`
- Support configuring ignition with resources

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-30 23:19:31 -06:00
Jonathon Anderson
4b23d11c54 Move the wwclient binary to wwclient overlay
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-06-11 21:07:21 -06:00
Jonathon Anderson
b5d72fb393 Address unhandled deadcode issues
- Fix `make deadcode` to properly fail GitHub checks
- Resolve "dead" code by refactoring other code to use it

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-05-10 11:26:11 -06:00
Matt Hink
be73ac056a Initial cut for removing the old API.
Remove API reverse proxy server and google dependencies.
Remove API config.
Remove API client.
Remove API GRPC server.
Remove unused ImageCopy function. image.Duplicate is used.
Update Makefile to avoid protobuf builds.

Signed-off-by: Matt Hink <mhink@ciq.com>
2025-05-10 10:58:03 -06:00
Shane Nehring
d9db96a453 adding override for nm-wait-online-initrd.service to wait for interface config
Signed-off-by: Shane Nehring <snehring@iastate.edu>
2025-04-21 13:59:41 -05:00
Jonathon Anderson
4a246e1b72 Release v4.6.1
- Back-port previous GitHub release notes to `.github/releases/`
- Fix SUSE and Rocky Linux 8 builds

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-04 05:12:57 -06:00
Jonathon Anderson
4005afac4c Add a new OpenAPI v3 REST API to warewulfd at /api
Co-authored-by: jason yang <jasonyangshadow@gmail.com>

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-04-03 07:12:03 -06:00
Christian Goll
d256d15c20 fixup pdf build
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-03-18 12:21:03 -06:00
Stephen Simpson
2852cd5e88 Added new sosreport plugin
New sos report plugin added as separate RPM

Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
2025-03-18 10:34:39 -06:00
Jonathon Anderson
9e41378e1c Documentation reorg for v4.6.0
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-03-01 11:32:33 -07:00
Jonathon Anderson
4fa8601b75 Updated wwinit for clarity #1156
Also:

- Renamed /warewulf/wwinit to /warewulf/prescripts

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-17 02:48:16 -07:00
Christian Goll
6914a4050a Add help to Makefile
Signed-off-by: Christian Goll <cgoll@suse.com>
2025-02-14 18:33:43 -07:00
Jonathon Anderson
8d9c99f739 Hide internal wwctl completion and wwctl genconfig commands
Also remove the redundant `wwctl genconfig completions` command.

- Closes: #1716

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-10 14:22:22 -07:00
Jonathon Anderson
66c4e4bb0e Stop including $(config) in dist
This turned out to be the wrong thing; including `$(config)` in dist prevented
it from being re-built with new build-time variables.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-07 15:12:01 -07:00
Jonathon Anderson
0160248429 Properly handle writing $(config) files to dist
The `cp` operation was copying files to the root of dist, rather than to the
proper relative location. Including them in the dist file mainfest lets tar
handle this properly.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-07 14:37:29 -07:00
Jonathon Anderson
97cc5576b1 Remove non-POSIX commands from Makefile
The use of `<()` in `dist` was incompatible with the GitHub runner.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-07 12:53:02 -07:00
Jonathon Anderson
3f652ceb02 Run staticcheck as part of GitHub CI
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-06 22:11:13 -07:00
Jonathon Anderson
6dbfa52dbc Create site overlay directory
This was previously added to warewulf.spec, but the directory wasn't actually
being created.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-05 09:23:19 -07:00
Jonathon Anderson
ea7cd49f85 Simplify Makefile and spec
- explicitly indicate what to include in dist
- prevent duplication of files in specfile

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-05 09:23:06 -07:00
Jonathon Anderson
53c939608b Enforce updating license dependencies
- Closes: #1148

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-21 09:42:27 -07:00
Jonathon Anderson
ed78da4123 Move distribution overlays to datadir
This typically puts the overlays into `/usr/share/warewulf/overlays/`.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-20 11:12:47 +01:00
Jonathon Anderson
a80ba8ee01 Configure nodes.conf path dynamically from config
Removes the use of init() to initialize the variable.

- Closes: #1596
- See also: #1569

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-17 11:04:43 -07:00
Christian Goll
4597fdfaa9 use ipmitool created from template file
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-11-07 23:01:32 -07:00
Jonathon Anderson
df92a270c7 Add deadcode to Makefile
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-10-18 15:09:09 -06:00
Jonathon Anderson
adb54a870d Remove vestigial default.conf components
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-10-17 23:00:57 -04:00
Christian Goll
132869f8b3 Merge pull request #1306 from anderbubble/split-test-overlays
Split overlays into discrete functionality and test
2024-09-27 14:59:37 +02:00
Jonathon Anderson
8d4cb37b24 Move UTC selection to testsuite environment variable
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-26 18:23:47 -06:00
Jonathon Anderson
57f7a8f158 Omit internal tests from overlay installation
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-26 10:48:40 -06:00
Jonathon Anderson
053dd9953a Split overlays into discrete functionality and test
- Closes #987

To make the overlays testable in isolation, and after discussion with
the TSC, removed host/time/source from overlay files.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-26 10:48:38 -06:00
Jonathon Anderson
614cb9a339 Fixes for logrotate.d packaging
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-08-02 17:36:32 -06:00
Christian Goll
fbf3e3c0a8 Add a logrotate config for warewulfd.log
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-08-02 17:06:21 -06:00
Jonathon Anderson
f23b95f69f Prevent make dist from including previous dists
`make dist` may accidentially include previously-made dist tarballs;
this change adjusts the target to exclude these tarballs from the dist.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-07-05 11:16:22 -06:00
Jonathon Anderson
18cebb8652 New warewulf-dracut subpackage
warewulf-dracut includes a dracut module to be installed in a container
image to support building an initramfs that can boot from Warewulf.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-06-06 03:15:08 -04:00
Jonathon Anderson
864a4e7447 Don't build the API for CentOS 7
A recent security update breaks compatibility with CentOS 7 through
gpgme. This change omits building the API by default and does not build
it when packaging for EL 7.

- Closes #1171

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-04-17 19:54:18 -06:00
Jonathon Anderson
f07401ce41 Calculate VERSION and RELEASE dynamically from git
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-04-05 19:48:26 -06:00
Jonathon Anderson
bd468537ed Never attempt to build protocol buffers offline
Building protocol buffers requires fetching utilities from the
Internet. Typically this is done at development time and the finished
buffers are included in dist; but if timestamps get off this can lead
mock to try to rebuild them during an offline build, causing the build
to fail.

This change moves all of the protoc targets into a section of the
Makefile that is disabled during an offline build.

- Closes #1155

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-03-28 16:55:08 -06:00
Jonathon Anderson
6cc13455f6 Move overlays to rootfs and and set ownership
Move all overlay contents to a rootfs subdirectory, which was already
supported, and set ownership to root:root.

Closes #1078

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-02-17 10:39:06 -07:00
Christian Goll
5e94766895 do not export version and rc
create also a new warewulf.conf so that the compiled
in paths are in sync with the configuration

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-02-16 17:38:34 -07:00
Jonathon Anderson
a1832ad8c1 Complete transfer of Warewulf from HPCng
Warewulf is now being maintained in its own GitHub organization at
github.com/warewulf

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-26 21:35:04 -07:00
Christian Goll
4379c4c18d use grub/shim from host system
Also the boot method is now configured globaly as this is
the only way to make sure that unkonwn nodes get the right
stuff

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
60dc8f6251 enable grub boot for all nodes
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Jonathon Anderson
038329ebce Remove ipxe binaries and configure for Rocky Linux
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-12-09 01:29:48 -07:00
Christian Goll
7e1cb014c2 use distribution ipxe binaries
exclude .github and .vscode for make dist
honor git tag when generating spec file

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-08 22:38:57 -07:00
Christian Goll
8cbeb25c8b seperate the path for the iPXE binaries
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-08 22:38:43 -07:00
Christian Goll
48768abb6d Update Makefile to install symlinks and dirs
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-11-25 01:16:48 -07:00
Jonathon Anderson
f015d85996 Increase linter timeout to 5 minutes
Fixes #968

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-11-24 11:47:16 -07:00