This repository is Experimental meaning that it's based on untested ideas or techniques and not yet established or finalized or involves a radically new and innovative style! This means that support is best effort (at best!) and we strongly encourage you to NOT use this in production.
This service handles BMC interactions.
- machine and BMC power on/off/reset
- setting next boot device
- user management
- setting BMC network source
PBnJ started out as an HTTP server, listening by default on port 9090.
This server is scheduled for deprecation and not enabled by default.
To enable the HTTP server, you must run PBnJ with pbnj server --enableHTTP
or PBNJ_ENABLEHTTP=true pbnj server
.
The gRPC PBnJ server listens by default on port 50051.
This can be started with pbnj server
.
Use pbnj server --help
for more runtime details.
This dual-stack functionality is intended to ease the upgrade path and provide existing HTTP server users with user management functionality. Please note that the HTTP server is deprecated and will shortly be removed. If just getting starting with PBnJ, please use the gRPC server.
Build
make image
Run
# default gRPC port is 50051, default HTTP port is 9090
make run-image
Build
# builds the binary and puts it in ./bin/
make build
Run
# default gRPC port is 50051, default HTTP port is 9090; does a `go run` of the code base
make run-server
Documentation on enabling authorization can be found here.
See the contributors guide here.
For complete documentation, please visit the Tinkerbell project hosted at tinkerbell.org.