Makefile has included a Defaults.mk file to store variable configuration
from one run for implicit inclusion in future runs, but the creation of
this file has been automatic and opaque, and the state of it managed by
a series of PHONY targets (e.g., config, genconfig, rm_config). This
commit refactors config to name its files explicitly (so they can be
more properly monitored by make) and makes the generation of Defaults.mk
explicit so that its behavior is more obvious.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Several of the targets in Makefile don't create a file of their name,
and PHONY identifies these targets to make. Alongside, several comments
in Makefile don't provide additional details beyond what is
self-documented by the command or target name itself.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Updated the linter from 1.50 to 1.53.2 because the previous version
was falling over (likely OOM).
- Updated protoc build command for newer version of protobuf.
The make command below should work now:
```shell
make clean setup proto all build wwapid wwapic wwapird ; echo $?
```
Signed-off-by: MatthewHink <matthew_hink@ciq.com>
Also refactor New and Get to return pointers to match BaseConf methods.
This makes calling the methods immediately on the return values of the
constructors easier.
Also move config.ConfigFile to buildconfig.go.in. ConfigFile is still
used by wwctl as a default config file to reference; but it is removed
from other locations now.
Removed Persist, as nothing called it.
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
The wwinit overlay populates /warewulf/config with information about the
Warewulf configuration. This includes the IPMI password, which should not be
visible to regular users. This changes the installed permissions of the file to
be readable by root only.
Closes#728
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
Building off the work in #581, add additional detail to the staticfiles
README, and install an iPXE README alongside the iPXE files in their
final location.
Closes#189
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
The wwapi*.conf files are build from .in variants, so they should not be
tracked in the tree. Adding them to gitignore prevents them from being
added back in, and adding them to Makefile:clean cleans them up.
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
Makefile was checking WWCONFIGDIR in some places. In others it was
duplicating the explicit paths that make up WWCONFIGDIR. Here, update
all such references to always use the WWCONFIGDIR macro.
Signed-off-by: Jonathon Anderson <janderson@ciq.co>