IPMI library in pure Go
HEALTH ? 96 / Healthy
IPMI library in pure Go
// readme
Native Go implementation of IPMI. It does not shell out to ipmitool.
The library provides an IPMI client (remote and in-band) and a reference IPMI
server (BMC) for local development and tests, plus the protocol types they share.
Public APIs live under pkg/. To use the client, start with pkg/client.
This module has not reached v1.0.0. The public API may change between
versions, including renamed packages, types, functions, and constants.
Pin to a specific version or commit for production use.
v0 releases carry no backward-compatibility promise, per the
Go module versioning convention.
go get github.com/bougou/go-ipmi
package main
import (
"context"
"fmt"
"github.com/bougou/go-ipmi/pkg/client"
)
func main() {
c, err := client.NewClient("10.0.0.1", 623, "root", "123456")
if err != nil {
panic(err)
}
// c.WithInterface(client.InterfaceLan) // IPMI v1.5; default is lanplus (v2.0)
// openClient, err := client.NewOpenClient() // in-band on Linux / Windows
ctx := context.Background()
if err := c.Connect(ctx); err !=โฆ