Commit Graph

172 Commits

Author SHA1 Message Date
Jonathon Anderson
1bfce7d1df Small dist cleanup
- Add .dist to gitignore
- Purge emacs temporary files from dist

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-08-24 06:18:32 -06:00
Jonathon Anderson
247c61295c Install new config file man pages
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-08-24 06:15:36 -06:00
Christian Goll
e23f794166 simplified node list command 2022-07-19 17:21:27 +02:00
Christian Goll
c8d70e23ad rebased on new API 2022-07-11 16:34:08 +02:00
MatthewHink
d8cd6049ac Initial cut of wwapi.
We need an API for Warewulf in order to automate around it. The initial version of the API will look a lot like wwctl. wwctl will call the API so that we do not need to maintain separate code paths. In this preview wwctl calls the API via direct function call, but we can change that to a gprc or REST call to a Warewulf server in the future.

This commit contains:
wwapid WareWulf API Daemon. A grpc server with mTLS auth.
wwapic WareWulf API Client. A grpc client with mTLS auth. It's just a sample that reads the version from the server.
wwapird WareWulf API Rest Daemon. A http REST reverse proxy to wwapid.
There are also sample insecure and secure curls to test with.

Implemented Functionality:
wwctl node add
wwctl node delete
wwctl node list
wwctl node set
wwctl node status
wwctl container build
wwctl container delete
wwctl container import
wwctl container list
wwctl container show

Some notes on the files:

    Logic that was in wwctl has moved to warewulf/internal/pkg/api. wwctl just calls the API. wwctl functionality is unchanged.
    Everything under the /google directory is copied google proto code to stand up wwapird. It's a bit strange to copy in the code, but that is currently how it's done.
    Everything in warewulf/internal/pkg/api/routes/wwapiv1 is generated code.

There are some loose ends here, such as no service installers. I just ran off the command line for development.
The Makefile could use improvement. I'm building by make clean setup proto all build wwapid wwapic wwapird ; echo $?
I copied the configs from warewulf/etc to /usr/local/etc/warewulf manually.
2022-06-24 08:39:30 -07:00
Gregory Kurtzer
235c23c516 Bump makefile to version 4.3.0 2022-06-15 14:15:07 -07:00
Christian Goll
53735f7cad Upodated Makefile to rc6 2022-06-10 08:45:26 +02:00
Gregory Kurtzer
27ea7f2022 Update to new PXE which should support imgextract 2022-05-26 19:55:00 -07:00
Gregory Kurtzer
e1be0dc205 Bump version 2022-05-25 21:58:16 -07:00
Gregory M. Kurtzer
5ec2e77394 Merge pull request #423 from kcdodd/refac/provision
Refactor of server, logging, building of images, template updates
2022-05-25 14:49:50 -07:00
Christian Goll
e36477c59b updated Makefile and CHANGELOG to rc3 2022-05-18 10:31:12 +02:00
Carter Dodd
379faad51d Refactor of server, logging, building of images, template updates
* Combine provision response handling, add hwaddr and interface to dhcp
* Simplify stage cases, add backward compatible uri parse
* Move control of image compression to client
* Fix kernel search path for ubuntu, buffer template generation
* Implement cpio and gz as functions, add log named functions
* Generalize fs image creation routine
* Combine daemonLogf to generalized wwlog
* Fix template newline insertion, update dhcp and hosts tmpl
* Update IPXE template to handle non-compressed files
* Update DHCP template to set network interfaces and server IP assignment
* Update DHCP/hosts templates to choose a host-name self-consistently
2022-05-13 16:52:59 -05:00
Gregory M. Kurtzer
9cefa32198 Merge pull request #415 from gmkurtzer/minor_fixups_for_4.3.0
Minor fix ups for 4.3.0
2022-05-03 22:24:44 -07:00
Gregory Kurtzer
97a21d60c8 Fix default location for the wwprovisiondir to not be localstate 2022-05-03 21:52:41 -07:00
Christian Goll
2f836aaf87 uisng short hash for version var 2022-04-26 11:30:22 +02:00
Christian Goll
c29848171e Makefile 4.3.0rc2 2022-04-14 14:58:08 +02:00
Christian Goll
4641b947db added update_configuration 2022-04-12 18:03:05 +02:00
Christian Goll
78a7ef34a5 Makefile update for test coverage 2022-04-09 13:44:31 +02:00
Christian Goll
6c0fd068cc updated Makefile for v4.3.0-rc1 2022-04-07 17:22:38 +02:00
Christian Goll
e0681148e9 compiling config_defaults, unmarshall all values 2022-04-07 12:43:16 +02:00
Christian Goll
60490eed9f Cleanup TOOLS_DIR and updated linter version 2022-04-07 11:32:08 +02:00
Christian Goll
95d1b23921 use secure overlay dir
If there is a user writeable file in the host overlay, a user can
create arbitrary files on the host root file system. Although these
files will belong to this user, this might allow users to modify
any files.
So this patch restricts the access to the host overlay to root and
produces a warning if this was changed.
2022-04-07 11:05:00 +02:00
Yoshiaki SENDA
bfbc357cf4 Create $(DESTDIR)$(WWDATADIR)/ipxe directory
`$(DESTDIR)$(WWDATADIR)/ipxe` was file.
This cause a problem when copying *.efi files to `$(DESTDIR)$(WWDATADIR)/ipxe`.
This commit makes `$(DESTDIR)$(WWDATADIR)/ipxe` to be directory from file.
2022-03-25 14:56:35 +09:00
jcsiadal
8827937a9d Update for LSB compliance
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-03-09 07:32:02 +00:00
jcsiadal
3ad6c49a3e Update standard paths
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-03-09 06:26:40 +00:00
jcsiadal
e99c48577c Update build variables
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-03-09 06:21:32 +00:00
Gregory Kurtzer
f760ded5cd Clean warewulf.spec 2022-03-05 08:25:33 -08:00
Christian Goll
f0075fb94c remved hosts.tmpl as not needed any more 2022-02-26 22:39:50 +00:00
Christian Goll
eeb062cf85 moved dhcpd configuration to host templating 2022-02-26 22:39:50 +00:00
jcsiadal
67b8018d69 TFTP update
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-02-26 22:39:50 +00:00
Gregory Kurtzer
8abe1c48d1 rpmbuild fix from tru (ref #298) 2022-02-13 04:33:30 +00:00
Gregory Kurtzer
0cdc8d1492 Moved the static files out of the go internal source 2022-02-12 01:35:14 +00:00
Gregory M. Kurtzer
1eabba2ef7 Merge pull request #266 from mslacken/ipxe-install-fix
removed static embeded pxe files in wwctl
2022-02-11 17:32:16 -08:00
Gregory M. Kurtzer
67ee3bf5f8 Revert "Move configuration code out of wwctl" 2022-02-11 16:20:05 -08:00
jcsiadal
378dda2ca1 Rebase updates
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-02-10 19:54:09 +00:00
jcsiadal
c9c8a683a7 Updates specfile to match distro guidelines. Suppots modifying client directory path at build time.
- Support relocating client files at build time (required for LSB compliant nodes)
- OS varable added to perform some make choices
- Saving and exporting the Makefile vars now scripted using list of variables
- Updated specfile to match RH and SUSE requirements and guidelines
- Moved /usr/local/var to /var/local; dynamic files shall not use /usr.
- State files use %sharedstatedir for path (std for SLE and RHEL)
- Release value adjusted to meet different DEB and RPM reqs.

Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-02-10 19:47:50 +00:00
Christian Goll
7b2d34f317 make location of buildconf 2022-02-09 10:18:18 +01:00
Christian Goll
1a1e967aba removed static embeded pxe files in wwctl 2022-02-03 11:38:54 +01:00
Gregory Kurtzer
af32998c2b Fix some of the install paths 2022-01-26 03:46:22 +00:00
Gregory Kurtzer
ae0455eba1 Allow configuration generation for builds 2022-01-16 01:20:34 +00:00
Gregory Kurtzer
432cc5a413 Minor fix to changelog, config not required for lint anymore 2022-01-15 04:39:11 +00:00
Gregory Kurtzer
8da7dd415a Extend and optimize relocatable build config infrastructure 2022-01-15 04:00:18 +00:00
jcsiadal
3f68bc86db Minor fixes
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-01-12 03:10:50 +00:00
jcsiadal
5df101cd37 Relocate default to /var/lib; fix default const
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-01-11 05:56:32 +00:00
jcsiadal
8e626e9a62 Add config option for shared state dir
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>

Changes default share to /srv/warewulf
Update specfile
Some changes to match Golang standards
2022-01-11 05:52:58 +00:00
Gregory Kurtzer
e3d76f01e2 Merge branch 'main' of github.com:hpcng/warewulf into overlay_refactor 2022-01-06 00:37:17 +00:00
Gregory Kurtzer
d406231c10 Clean vendor directory on make clean 2021-12-31 01:18:35 +00:00
Gregory Kurtzer
e5edd87b43 Fix default permission of config file so users can use it. 2021-12-31 01:09:37 +00:00
Gregory Kurtzer
9f53bca1bf Various fixes found in testing 2021-12-29 17:16:53 -08:00
Gregory Kurtzer
00d8d42e9d First pass at a rework of the overlay subsystem in Warewulf 2021-12-29 16:11:25 -08:00