Commit Graph

12 Commits

Author SHA1 Message Date
Jonathon Anderson
c2cfe513d7 Remove remaining gRPC references with additional tests
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-23 06:54:44 -06:00
Jonathon Anderson
081d2ec61e Update linter for golang v1.25 compatibility
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2026-03-11 09:32:49 +01:00
Jonathon Anderson
a1832ad8c1 Complete transfer of Warewulf from HPCng
Warewulf is now being maintained in its own GitHub organization at
github.com/warewulf

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-26 21:35:04 -07: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
mslacken
5643b71de6 fixed linting 2022-04-29 11:18:20 +02:00
mslacken
95c951e673 use bash export syntax for variables 2022-04-29 10:20:56 +02:00
mslacken
0fd8553bad add full output siwtch to wwctl version 2022-04-29 10:07:15 +02:00
Christian Goll
0a9e4b89a1 fixup format 2022-04-26 11:30:04 +02:00
Christian Goll
673253fbe0 Inlcude build in vars in version output 2022-04-26 11:13:54 +02:00
Christian Goll
0a6d8b39a6 on server start print version info 2021-11-29 11:00:28 +01:00
Christian Goll
58c6adaff4 using right syntax in Makefile 2021-11-29 11:00:25 +01:00
Christian Goll
32e0de5a0f added version information 2021-11-29 10:56:48 +01:00