mirror of
https://github.com/davidallendj/magellan.git
synced 2025-12-20 03:27:03 -07:00
Updated README.md with features section
This commit is contained in:
parent
1ea779e802
commit
2d4293359a
1 changed files with 20 additions and 12 deletions
32
README.md
32
README.md
|
|
@ -2,6 +2,18 @@
|
||||||
|
|
||||||
The `magellan` CLI tool is a Redfish-based, board management controller (BMC) discovery tool designed to scan networks and is written in Go. The tool collects information from BMC nodes using the provided Redfish RESTful API with [`gofish`](https://github.com/stmcginnis/gofish) and loads the queried data into an [SMD](https://github.com/OpenCHAMI/smd/tree/master) instance. The tool strives to be more flexible by implementing multiple methods of discovery to work for a wider range of systems (WIP) and is capable of using independently of other tools or services.
|
The `magellan` CLI tool is a Redfish-based, board management controller (BMC) discovery tool designed to scan networks and is written in Go. The tool collects information from BMC nodes using the provided Redfish RESTful API with [`gofish`](https://github.com/stmcginnis/gofish) and loads the queried data into an [SMD](https://github.com/OpenCHAMI/smd/tree/master) instance. The tool strives to be more flexible by implementing multiple methods of discovery to work for a wider range of systems (WIP) and is capable of using independently of other tools or services.
|
||||||
|
|
||||||
|
## Main Features
|
||||||
|
|
||||||
|
The `magellan` tool comes packed with a handleful of features for doing discovery, such as:
|
||||||
|
|
||||||
|
- Simple network scanning
|
||||||
|
- Redfish-based inventory collection
|
||||||
|
- Redfish-based firmware updating
|
||||||
|
- Integration with OpenCHAMI SMD
|
||||||
|
- Write inventory data to JSON
|
||||||
|
|
||||||
|
See the [TODO](#todo) section for a list of soon-ish goals planned.
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
[Build](#building) and [run on bare metal](#running-the-tool) or run and test with Docker using the [latest prebuilt image](#running-with-docker). For quick testing, the repository integrates a Redfish emulator that can be ran by executing the `emulator/setup.sh` script or running `make emulator`.
|
[Build](#building) and [run on bare metal](#running-the-tool) or run and test with Docker using the [latest prebuilt image](#running-with-docker). For quick testing, the repository integrates a Redfish emulator that can be ran by executing the `emulator/setup.sh` script or running `make emulator`.
|
||||||
|
|
@ -52,10 +64,6 @@ docker pull ghcr.io/openchami/magellan:latest
|
||||||
|
|
||||||
See the ["Running with Docker"](#running-with-docker) section below about running with the Docker container.
|
See the ["Running with Docker"](#running-with-docker) section below about running with the Docker container.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
The sections below assume that the BMC nodes have an IP address available to query Redfish. Currently, `magellan` does not support discovery with MAC addresses although that may change in the future.
|
The sections below assume that the BMC nodes have an IP address available to query Redfish. Currently, `magellan` does not support discovery with MAC addresses although that may change in the future.
|
||||||
|
|
@ -89,7 +97,9 @@ This should return a JSON response with general information. The output below ha
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
To see all of the available commands, run `magellan` with the `help` subcommand:
|
### Running the Tool
|
||||||
|
|
||||||
|
There are three main commands to use with the tool: `scan`, `list`, and `collect`. To see all of the available commands, run `magellan` with the `help` subcommand:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./magellan help
|
./magellan help
|
||||||
|
|
@ -120,9 +130,7 @@ Flags:
|
||||||
Use "magellan [command] --help" for more information about a command.
|
Use "magellan [command] --help" for more information about a command.
|
||||||
```
|
```
|
||||||
|
|
||||||
### Running the Tool
|
To start a network scan for BMC nodes, use the `scan` command. If the port is not specified, `magellan` will probe ports 623 and 443 by default:
|
||||||
|
|
||||||
There are three main commands to use with the tool: `scan`, `list`, and `collect`. To start a network scan for BMC nodes, use the `scan` command. If the port is not specified, `magellan` will probe ports 623 and 443 by default:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./magellan scan \
|
./magellan scan \
|
||||||
|
|
@ -234,13 +242,13 @@ See the [issue list](https://github.com/OpenCHAMI/magellan/issues) for plans for
|
||||||
|
|
||||||
* [X] Confirm loading different components into SMD
|
* [X] Confirm loading different components into SMD
|
||||||
* [X] Add ability to set subnet mask for scanning
|
* [X] Add ability to set subnet mask for scanning
|
||||||
* [ ] Add ability to scan with other protocols like LLDP
|
* [ ] Add ability to scan with other protocols like LLDP and SSDP
|
||||||
* [ ] Add more debugging messages with the `-v/--verbose` flag
|
* [X] Add more debugging messages with the `-v/--verbose` flag
|
||||||
* [ ] Separate `collect` subcommand with making request to endpoint
|
* [ ] Separate `collect` subcommand with making request to endpoint
|
||||||
* [X] Support logging in with `opaal` to get access token
|
* [X] Support logging in with `opaal` to get access token
|
||||||
* [X] Support using CA certificates with HTTP requests to SMD
|
* [X] Support using CA certificates with HTTP requests to SMD
|
||||||
* [ ] Add unit tests for `scan`, `list`, and `collect` commands
|
* [ ] Add tests for the regressions and compatibility
|
||||||
* [ ] Clean up, remove unused, and tidy code
|
* [X] Clean up, remove unused, and tidy code (first round)
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue