Commit Graph

1262 Commits

Author SHA1 Message Date
Christian Goll
f0eb3f8504 fixed embeded init for linitng 2022-07-13 14:43:02 +02:00
Christian Goll
59141a6dac change network hadnling 2022-07-13 11:52:24 +02:00
Christian Goll
c8d70e23ad rebased on new API 2022-07-11 16:34:08 +02:00
Christian Goll
29573e26ad added more values 2022-07-07 11:39:02 +02:00
Christian Goll
a37fa71de0 add explicit set of netname 2022-07-07 11:38:19 +02:00
Christian Goll
8902f08c87 added hangling of map[string]*struct 2022-07-07 11:37:18 +02:00
Christian Goll
84d3b72f63 added more abstrac setter for nested structs 2022-07-07 11:29:58 +02:00
Christian Goll
f5b6287486 Explicit setter func at complie time 2022-07-07 11:29:19 +02:00
Christian Goll
bd2543d484 relection test for comment 2022-07-07 11:28:27 +02:00
Christian Goll
9796e61678 Merge pull request #469 from mslacken/fix-468
fix nil map for networks
2022-07-06 21:38:55 +02:00
Christian Goll
7878712b8a Merge pull request #471 from MatthewHink/mhink-development-wwapi-rebase
Initial cut of wwapi.
2022-07-06 21:37:37 +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
Christian Goll
a13a00a03d fix nil map for networks 2022-06-24 17:20:47 +02:00
Christian Goll
d976e7fc31 Merge pull request #467 from mslacken/single-Overlay
enable overlay rendering
2022-06-24 09:50:14 +02:00
Christian Goll
5034413361 Merge pull request #466 from mslacken/ssh-bash-completion
bash completion for ssh command
2022-06-24 09:48:46 +02:00
Christian Goll
67eb5dca76 Merge pull request #465 from mslacken/type
add type to network configs
2022-06-24 09:48:37 +02:00
Christian Goll
2edbd37bcd Merge pull request #464 from mslacken/bool-fmt
add brackets for PrintB if its default
2022-06-24 09:48:27 +02:00
Christian Goll
0b5a39272f Merge pull request #463 from hpcng/main
Main
2022-06-24 09:42:04 +02:00
Christian Goll
f4a4d40170 Merge pull request #462 from e73kiel/patch-1
Update CHANGELOG.md
2022-06-24 09:40:50 +02:00
e73kiel
2bb6662c00 Update CHANGELOG.md 2022-06-24 09:36:04 +02:00
Christian Goll
3ced0e2836 add brackets for PrintB if its default 2022-06-23 12:35:19 +02:00
Christian Goll
d99717f288 Merge pull request #455 from mslacken/suse-mock
Add suse builds mock build
2022-06-23 10:36:35 +02:00
Christian Goll
1c850335ac add type to network configs 2022-06-22 14:45:56 +02:00
Christian Goll
cc6b75a4f6 bash completion for ssh command 2022-06-22 12:17:04 +02:00
Christian Goll
a79503eddd Added right mock build 2022-06-20 14:46:00 +02:00
Christian Goll
e0afbced13 Add suse builds mock build 2022-06-20 14:35:35 +02:00
Gregory Kurtzer
235c23c516 Bump makefile to version 4.3.0 2022-06-15 14:15:07 -07:00
Gregory M. Kurtzer
af86122a6e Merge pull request #453 from elguero/main
Adjust release build artifacts upload to handle pre-releases
2022-06-14 22:29:25 -07:00
Gregory M. Kurtzer
19065b3cc5 Merge pull request #450 from mslacken/fix-set-profile
Fix wwct node set profile for single profile
2022-06-14 22:28:29 -07:00
Michael L. Young
3f86dcc3a5 Adjust release build artifacts upload to handle pre-releases
Update the upload-artifacts and download-artifacts version

Signed-off-by: Michael L. Young <myoung@ciq.co>
2022-06-12 08:19:14 -04:00
Christian Goll
8cd4b0aa02 Fix wwct node set profile for single profile 2022-06-10 13:39:05 +02:00
Christian Goll
f3c59fc18a Merge pull request #448 from mslacken/update_contrib
Updated Contributors
2022-06-10 10:08:33 +02:00
Christian Goll
53735f7cad Upodated Makefile to rc6 2022-06-10 08:45:26 +02:00
Christian Goll
04db6f1735 Updated Contributors 2022-06-10 08:42:42 +02:00
Gregory M. Kurtzer
4d44d3a299 Merge pull request #438 from kcdodd/fix/srvdisco
Fix server thread safety of discoverable node and overlay build
2022-06-09 22:18:23 -07:00
Gregory Kurtzer
3cb59b89ea Very minor fix to force minimum args for ssh 2022-06-08 21:43:31 -07:00
Gregory M. Kurtzer
b1e76d2519 Merge pull request #442 from gmkurtzer/4.3.0-ssh
Add feature to use wwctl to spawn ssh commands
2022-06-08 21:16:13 -07:00
Gregory M. Kurtzer
eeb3dac99b Merge pull request #445 from mslacken/prometheus
finally add the contents to prometheus
2022-06-08 12:09:43 -07:00
Gregory M. Kurtzer
1fb8ebd250 Merge pull request #444 from mslacken/fix-remove
Fix removal of values
2022-06-08 12:09:05 -07:00
Gregory M. Kurtzer
4d692f8a2f Merge pull request #443 from mslacken/fix-openSUSE-dhcpd
Fix-openSUSE-dhcpd
2022-06-08 12:07:56 -07:00
Christian Goll
664fdd3f35 finally add the contents to prometheus 2022-06-08 17:04:30 +02:00
Christian Goll
28de9f5220 addnil to remove option 2022-06-08 16:20:17 +02:00
Christian Goll
04551ef264 for removing a value an empty string is needed 2022-06-08 16:16:52 +02:00
Christian Goll
95e03b3df4 get arguments for show --render right 2022-06-08 15:56:10 +02:00
Christian Goll
69c058f106 added bash completion for overlay commands 2022-06-08 15:49:55 +02:00
Christian Goll
53667157c5 parse not own command but show --render 2022-06-08 15:36:20 +02:00
Christian Goll
2f4757600d added quiet option 2022-06-08 15:10:47 +02:00
Christian Goll
312596276e Add source for parse 2022-06-08 15:10:47 +02:00
Christian Goll
98e085c6f2 Trim 'ww' suffix on output 2022-06-08 15:10:46 +02:00
Christian Goll
9e5b2d1aa3 added the wwctl overlay parse command
The `wwctl overlay parse -n NODE FILE` will interpret the given overlay file and print it stdout, via wwlog.PRINTF.
The overlay code had to be refactored for this, but hopefully this makes the code a bit more readable. Also the tstruct has not its own initilization code.
2022-06-08 15:10:46 +02:00