pbnj

command module
v0.0.0-...-30ff302 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

README

PBNJ

For each commit and PR stability

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.

Description

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.

Usage

Container

Build

make image

Run

# default gRPC port is 50051, default HTTP port is 9090
make run-image
Local

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

Authorization

Documentation on enabling authorization can be found here.

Contributing

See the contributors guide here.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1
pkg
oob
repository
Package repository provides primitives for putting tasks into a persistence layer.
Package repository provides primitives for putting tasks into a persistence layer.
server
httpsvr/log
package log sets up a shared zap.Logger that can be used by all packages.
package log sets up a shared zap.Logger that can be used by all packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL