https://github.com/greenpau/go-redfish-api-idrac
iDRAC Redfish API client library written in Go.
https://github.com/greenpau/go-redfish-api-idrac
dell idrac-client idrac9 redfish
Last synced: 6 months ago
JSON representation
iDRAC Redfish API client library written in Go.
- Host: GitHub
- URL: https://github.com/greenpau/go-redfish-api-idrac
- Owner: greenpau
- License: mit
- Created: 2020-03-31T17:10:20.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-09-05T23:57:01.000Z (almost 3 years ago)
- Last Synced: 2025-07-08T10:11:21.960Z (about 1 year ago)
- Topics: dell, idrac-client, idrac9, redfish
- Language: Go
- Size: 88.9 KB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-redfish-api-idrac
iDRAC Redfish API client library written in Go.
## Table of Contents
* [Getting Started](#getting-started)
* [API Client](#api-client)
* [References](#references)
## Getting Started
Tested with:
* Integrated Dell Remote Access Controller, Redfish API Version: `1.4.0`
### API Client
Install the client by running:
```
go get -u github.com/greenpau/go-redfish-api-idrac/cmd/go-redfish-api-idrac-client
```
Prior to using the client, add your credentials via the following environment
variables:
```bash
export IDRAC_API_USERNAME=admin
export IDRAC_API_PASSWORD=secret
```
Additionally, there is an option for adding host via environment variables:
```bash
export IDRAC_API_HOST=10.10.10.10
```
Alternative, the credentials may be kept in `config.yaml` configuration file.
The binary searches for the file `$HOME/.redfish` directory.
Next, use the API in the following manner:
```bash
bin/go-redfish-api-idrac-client --host 10.10.10.10 --operation get-info --log.level debug
bin/go-redfish-api-idrac-client --host 10.10.10.10 --operation get-systems --log.level debug
```
The list of available operations (`--operation` argument) follows:
* `get-info`: Get basic information about a remote API endpoint
* `get-system`: Get system information
Additionally, the `--resource` argument accepts any valid Redfish API Endpoint:
```bash
go-redfish-api-idrac-client --host 10.10.10.10 --resource "/redfish/v1/Systems" --log.level debug
go-redfish-api-idrac-client --host 10.10.10.10 --resource "/redfish/v1/Systems/System.Embedded.1" --log.level debug
```
## References
* [Open Data Protocol (OData)](https://en.wikipedia.org/wiki/Open_Data_Protocol)
* [OData Version 4.01 Documentation](https://www.odata.org/documentation/)