928 Commits

Author SHA1 Message Date
Jonathon Anderson
2bad789f4f Fix newline handling in file, softlink, and ImportLink template functions
Use state-based routing instead of sentinel strings, so whitespace-trimming
syntax (e.g. `{{- file "name" -}}`) correctly creates all named files and
symlinks.

Fixes: #2118

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Co-authored-by: Christian Goll <cgoll@suse.com>
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-04-17 22:51:10 -06:00
Jonathon Anderson
f24c20fe17 Deprecated wwctl node set --force
never had any effect; will be removed in a future release

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-23 06:54:44 -06:00
Jonathon Anderson
c2cfe513d7 Remove remaining gRPC references with additional tests
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-23 06:54:44 -06:00
Jonathon Anderson
4cc6d03f2f Refactor gRPC-based profile functions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-23 06:54:44 -06:00
Jonathon Anderson
ec6884a878 Refactor gRPC-based node functions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-23 06:54:41 -06:00
Jonathon Anderson
3c895dd941 Refactor gRPC-based image functions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-22 01:02:03 -06:00
Jonathon Anderson
dbd54abe46 Migrate wwclient to use runtime/ route
Use the new runtime/ route path instead of provision/ with a stage
query parameter, in preparation for removing the legacy provision/
endpoint.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-19 09:08:31 +01:00
Christian Goll
8a03a7d6dd Merge pull request #2131 from anderbubble/docs-omnibus
Documentation improvements omnibus
2026-03-19 09:06:40 +01:00
Jonathon Anderson
c211529689 Update wwctl upgrade to manage TLS configuration
Also fixed an omission for API configuration in wwctl upgrade.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-18 21:36:43 -06:00
Jonathon Anderson
9e526c23fc Audit and correct documentation, cobra help text, and log messages for accuracy
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-18 16:58:39 -06:00
Jonathon Anderson
4f506e1b16 Clarify functionality of syncuser commands and overlay in documentation
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-18 13:19:01 -06:00
Jonathon Anderson
7909598a3d Distinguish between OS images and overlay images in documentation
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-18 08:10:49 -06:00
Jonathon Anderson
5f41465fac Prevent assetkey from leaking into wwclient logs
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-11 10:32:47 +01:00
Christian Goll
82b7cf9095 Adress linter issues from TLS update 2026-03-11 10:15:06 +01:00
Jonathon Anderson
cea25f5a87 Update staticcheck for golang v1.25 compatibility
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-11 09:32:52 +01:00
Jonathon Anderson
081d2ec61e Update linter for golang v1.25 compatibility
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-11 09:32:49 +01:00
Jonathon Anderson
2699f2628f Bump additional dependency versions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-11 09:29:51 +01:00
Jonathon Anderson
939f4290f4 Move stage display formatting to wwctl
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-10 16:11:09 -06:00
Jonathon Anderson
395fa2c283 Support requiring TLS for API access
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:48:20 -06:00
Jonathon Anderson
a886b4958b Simplify and clarify configuration
- changed "secure port" to "tls port"
- removed the --create flag for "wwctl configure tls"; made it the default behavior
- fixed a TLS creation bug in "wwctl configure --all"
- added logging to "wwctl configure tls" and "wwctl configure --all" (for the tls case)

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:42:26 -06:00
Jonathon Anderson
02c7d29314 Return an error from wwclient updateSystem
Avoiding calling os.Exit() directly.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Jonathon Anderson
6e85852c29 Move defer out of the for loop
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Jonathon Anderson
ff1bf8030c Remove unused TLS public key
The certificate is used in stead of a discrete public key. The generated public
key was never actually used.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Jonathon Anderson
2cac6b11a6 Explicitly set permissions on import TLS keys and certificates
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Jonathon Anderson
26cec668e6 Set an explicit minimum TLS version
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Jonathon Anderson
673d7627b5 Move TLS files from keys/ to tls/
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-09 21:35:19 -06:00
Christian Goll
bcf53f7efd renamed to tls instead of keys 2026-03-09 21:34:40 -06:00
Christian Goll
2f88b4c3d5 add https in wwclient and wwinit 2026-03-09 21:34:40 -06:00
Christian Goll
a1c11db8cc enable https and key handling
- add key generation and import for warewulfd
- add https port to warewulfd
- configuration optiions for port and

keys
2026-03-09 21:34:40 -06:00
jason scott
8397947d3d Adjusting profile comment field so that it's not inherited by nodes 2026-02-23 15:00:25 -07:00
Josh Burks
634982dc86 Enhance wwdoc comment handling by allowing whitespace trimming and updating regex for parsing
Signed-off-by: Josh Burks <jeburks2@asu.edu>
2026-02-03 17:01:19 -07:00
Christian Goll
a0efd7fe08 Added --partwipe flag for set 2026-01-21 10:38:47 +01:00
Christian Goll
f590da4916 fix wwctl image import --update 2025-12-17 12:30:43 -07:00
Jonathon Anderson
f82d90123a Additional tests for wwctl overlay info
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-12-09 23:16:03 -07:00
Jonathon Anderson
9ed245f9fe Update test suite for wwctl overlay info
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-12-09 23:16:03 -07:00
Jonathon Anderson
4e67db0be6 Reflection-based template walking
Rather than deriving the identity of template variables by string parsing the
name, identify its relationship to the underlying struct using reflection.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-12-09 23:16:00 -07:00
Jonathon Anderson
29136e17d4 Recommended changes from review
- Reorganized documentation
- Reordered columns
- Renamed column names
- Added `--` to options in output
- Updated aliases

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-12-09 22:52:44 -07:00
Christian Goll
0bbab7ac3c allocate writeFile and backupFile just once 2025-12-09 22:52:44 -07:00
Christian Goll
983a359c00 refactor to overlay info 2025-12-09 22:52:44 -07:00
Christian Goll
d1d398d2ff add more generic documentation via wwdoc(n)
doc
2025-12-09 22:52:44 -07:00
Christian Goll
68758e3e45 use comments of variables for help 2025-12-09 22:52:44 -07:00
Christian Goll
facde98fb5 new overlay variables command 2025-12-09 22:52:44 -07:00
Christian Goll
847a4386e1 don't show vars in overlay list
vars
2025-12-09 22:52:44 -07:00
Christian Goll
5d284b1c61 show used Tags for overlays 2025-12-09 22:52:44 -07:00
Timothy Middelkoop
c99cfec1b0 IPv6: wwclient support
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 02:55:34 +00:00
Timothy Middelkoop
4f58845a9e Add IPv6 support for Dnsmasq and NetworkManager
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2025-11-27 01:56:18 +00:00
Jonathon Anderson
685fd0338e Use a native library for SELinux in wwclient
This removes the dependency on shelling out to commands in the image.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-11-05 12:33:18 +01:00
Jonathon Anderson
be97ef15a0 Manage selinux context of tftp directory
- Fixes: #1997

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-29 20:11:41 -06:00
Jonathon Anderson
a4bde3b279 Fix "address already in use" after wwclient --once
- Closes: #2009

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-10-14 13:01:04 -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