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>
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>
When editing an overlay, the temporary file was created within the
overlay directory structure. This could lead to the temporary file
being included in the overlay if not cleaned up properly.
This change modifies the behavior to create the temporary file in the
system's default temporary directory, avoiding any potential issues
with the overlay itself.
Not using this change the temporary file can be seen in the overlay:
DEBUG : Using temporary file /usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493
DEBUG : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
DEBUG : ExecInteractive(tee, [/usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493])
# find /srv | grep ww-overlay
/srv/warewulf/overlays/host/ww-overlay-edit-2879742493
With this patch applied:
DEBUG : Using temporary file /tmp/ww-overlay-edit-266752840
DEBUG : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
DEBUG : ExecInteractive(tee, [/tmp/ww-overlay-edit-266752840])
# find /srv | grep ww-overlay
Assisted-by: Gemini 2.5 Pro
Signed-off-by: Adrian Reber <areber@redhat.com>
Update wwclient such that each file in the runtime overlay is applied
atomically, and only if modified.
- Closes: #1307
- Closes: #1975
- Closes: #1226
Also adds --once flag to allow wwclient to be run one time.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Update wwclient such that each file in the runtime overlay is applied
atomically.
- Closes: #1307
- Closes: #1975
- Closes: #1226
Also adds --once flag to allow wwclient to be run one time.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
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>
To support this, also added `wwctl node import --yes`.
Also corrected the spelling of `--cvs` to `--csv`.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
By default, uses `runtime.NumCPU()`
The default value is rendered in the generated man pages, which made
their content dependent on build system characteristics.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>