Commit Graph

778 Commits

Author SHA1 Message Date
Christian Goll
edf42d61aa Merge pull request #495 from mslacken/reflections-cmdline
Use reflection for node and profile manipulation
2022-09-12 16:36:39 +02:00
Gregory M. Kurtzer
37c2229e17 Merge pull request #519 from anderbubble/anderbubble-syncusers-log-period
Removed extra period from log message
2022-09-08 08:58:53 -07:00
Gregory M. Kurtzer
707e4fec55 Merge pull request #528 from anderbubble/syncuser-argument-description-typos
Minor typo fix in syncuser argument description
2022-09-08 08:58:39 -07:00
Jonathon Anderson
903ba7417e Minor typo fix in syncuser argument description
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-09-08 09:52:17 -06:00
Jonathon Anderson
cd8b0d86c5 Fix a typo in symlink wwbackup implementation
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-09-02 15:40:45 -06:00
Christian Goll
18eb531d4b fixed deletion of network and deletion of tags 2022-09-02 16:45:37 +02:00
Jonathon Anderson
1ed5a531bb Removed extra period from log message
I think the `.` in `uid./gid not synced` is erroneous.
2022-08-31 11:53:37 -06:00
Christian Goll
255ff61dc8 adding netname option back 2022-08-31 17:05:28 +02:00
Christian Goll
cb0a7b402e Merge pull request #511 from anderbubble/issues/510
new man pages for warewulf.conf and nodes.conf
2022-08-31 11:51:05 +02:00
Jonathon Anderson
db29b9ff3e Trim whitespace from IPMI output
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-08-24 15:43:02 -06:00
Jonathon Anderson
351d5dbf0a More generic defaults for warewulf.conf
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-08-24 03:58:09 -06:00
Christian Goll
063c781710 recreate CreateFlag based on NodeConf
This will always create the network named default,
so this has to be changed if a new netowk is set
2022-08-19 16:33:46 +02:00
Christian Goll
b485ea999f removed optionStrMap in favor of NodeConf
openStrMap is a map[string]string which is sent arround. This is now
done by using a unmarshalled NodeConf instead.
2022-08-18 19:22:55 +02:00
Christian Goll
2016588f36 fallten the Nodes and NodeProfile before write 2022-08-16 17:15:39 +02:00
Christian Goll
0ca17dd454 using functor for Get and GetReal 2022-08-16 15:38:07 +02:00
Christian Goll
f744934122 fixed linting 2022-08-12 15:52:38 +02:00
Christian Goll
02d47e8f11 automatic add primary for single netdev 2022-08-12 15:41:57 +02:00
Christian Goll
bc647f0bf3 Fix IpCIDR for templates 2022-08-12 10:17:32 +02:00
Christian Goll
b2dc31e20b fixed mergin profiles into nodes 2022-08-12 09:30:16 +02:00
Christian Goll
20fa9d2e2a fix regression on container import 2022-08-11 16:38:43 +02:00
Christian Goll
8c2d40881d use reflect on overlays 2022-08-10 17:09:10 +02:00
Christian Goll
41d12888ab reflections for unmarshal 2022-08-10 14:16:48 +02:00
Christian Goll
d819eef792 tags for ipmi and kernel 2022-08-04 20:07:24 +02:00
Christian Goll
ba46e34a4d merging profile update 2022-08-03 14:49:50 +02:00
Christian Goll
ed5b2bbf35 using tag instead of key 2022-08-03 13:44:12 +02:00
Christian Goll
96731a4b87 node list imporvement 2022-08-03 11:47:25 +02:00
Christian Goll
b548d8583d reflection on constructor 2022-08-03 11:28:15 +02:00
Christian Goll
925a5a2155 Fix node set 2022-07-26 12:01:13 +02:00
Christian Goll
d252b974bf Fix Nodeadd with ipaddr count 2022-07-21 08:41:36 +02:00
Christian Goll
99e9316011 restore old node list 2022-07-20 12:13:19 +02:00
Christian Goll
e23f794166 simplified node list command 2022-07-19 17:21:27 +02:00
Christian Goll
1dd519a7e6 clean up and linting fix 2022-07-18 15:04:38 +02:00
Christian Goll
26fff30897 node add with all options now 2022-07-18 14:42:00 +02:00
Christian Goll
e6ef30ed53 porfile add has now all otions of set 2022-07-15 11:10:12 +02:00
Christian Goll
510f6a60a9 added excludellist to CreateFlags 2022-07-14 10:40:46 +02:00
Christian Goll
e0c62a81a4 testing profile set 2022-07-14 10:35:27 +02:00
Christian Goll
d10b4c352f new apinode namespace in wwapid 2022-07-13 16:05:16 +02:00
Christian Goll
14b86a5e8e added profile set over API 2022-07-13 15:56:04 +02:00
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
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