1
0
Fork 0
hscloud/dc/cmc-proxy
q3k 97b5cd7b58 go: re-do the entire thing
This is a mega-change, but attempting to split this up further is
probably not worth the effort.

Summary:

1. Bump up bazel, rules_go, and others.
2. Switch to new go target naming (bye bye go_default_library)
3. Move go deps to go.mod/go.sum, use make gazelle generate from that
4. Bump up Python deps a bit

And also whatever was required to actually get things to work - loads of
small useless changes.

Tested to work on NixOS and Ubuntu 20.04:

   $ bazel build //...
   $ bazel test //...

Change-Id: I8364bdaa1406b9ae4d0385a6b607f3e7989f98a9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1583
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-09-22 21:50:19 +00:00
..
proto go: re-do the entire thing 2023-09-22 21:50:19 +00:00
BUILD.bazel go: re-do the entire thing 2023-09-22 21:50:19 +00:00
README.md go/svc/(dc stuff) -> dc/ 2019-07-21 15:20:51 +02:00
client.go go/svc/(dc stuff) -> dc/ 2019-07-21 15:20:51 +02:00
main.go go/svc/(dc stuff) -> dc/ 2019-07-21 15:20:51 +02:00

README.md

Dell M1000e gRPC Proxy

Cursedness level: 6.5/10 (regexp XML parsing, JSONP scraping, limited sessions).

This is a small gRPC proxy to allow programmatic access to a Dell M1000e Chassis Management Controller. It's based on scraping the web interface, as the alternative (WSMAN) is even more ridiculous.

Functionality

The only feature supported so far is getting information for an iDRAC KVM console. This can be used to run a iDRAC KVM proxy (to be implemented), or the original client.

Usage

./cmc-proxy -h

Flags are self-explanatory. The proxy listens on gRPC and a status HTTP debug server.

Example

$ grpc-dev -d '{"blade_num": 6}' cmc.q3k.svc.cluster.local:4200 proto.CMCProxy.GetKVMData
{
  "arguments": [
    "10.10.10.16:443",
    "5901",
    "oojo2obohhaWiu3A",
    "1",
    "0",
    "3668",
    "3669",
    "511",
    "5900",
    "1",
    "EN"
  ]
}