diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a803bf..1533b15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## [1.0.0-beta.1] - 2023-06-29 +The latest release, version **1.0.0-beta.1**, enhances the authentication functionalities while also introducing two new features: Device Location and Support Archive. + +#### Enhanced Authentication +A novel method is unveiled within this iteration, affording users the ability to institute a new password for their miners. + +#### Device Location Functionality +The Locate Device feature debuts, offering users the capability to activate or deactivate LEDs on the device. This serves as a visual aid, allowing the client to precisely identify the targeted device. + +#### Introduction of Support Archive +A new API has emerged, facilitating streamlined access to a comprehensive support archive. This archive acts as a valuable repository, housing crucial information for troubleshooting and problem resolution. + +### Added +* Introduction of a new `braiins.bos.v1.AuthenticationService::SetPassword()` method that allows the user to set a new password on the miner, +* Introduction of a new `braiins.bos.v1.ActionsService::SetLocateDeviceStatus()` and `braiins.bos.v1.ActionsService::GetLocateDeviceStatus()` methods to turn on/off device location function, +* Introduction of a new `braiins.bos.v1.MinerService::GetSupportArchive()` streaming method that allows to download BOS support archive. +* Extension of the `braiins.bos.v1.GetMinerDetailsResponse` message with `sticker_hashrate` field that contains HR declared by miner vendor, + +**Important:** This iteration bears resemblance to **1.0.0-alpha.1**, yet it is grounded in a licenses-integrated branch and encompasses a broader array of features. + +--- + ## [1.0.0-beta] - 2023-05-11 The latest release, version 1.0.0-beta, introduces a significant addition: the all-new BOS+ License feature. diff --git a/README.md b/README.md index b7fe5db..2ef1e07 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,11 @@ This repository contains protocol buffers for the new Braiins OS+ Public API, wh ### Versions -| Public API Version | BOS+ version | -|---------------------|--------------| -| 1.0.0-beta (latest) | 23.04 | -| 1.0.0-alpha | 23.03 | +| Public API Version | BOS+ version | +|-----------------------|--------------| +| 1.0.0-beta.1 (latest) | 23.05 | +| 1.0.0-beta | 23.04 | +| 1.0.0-alpha | 23.03 | ### Overview @@ -185,10 +186,14 @@ Contains miner actions related protobuf messages and **ActionsService** with var * **PauseMining** - method to pause mining, * **ResumeMining** - method to resume mining, * **Restart** - method to restart mining, -* **Reboot** - method to reboot whole miner. +* **Reboot** - method to reboot whole miner, +* **SetLocateDeviceStatus** - method to enable/disable locate device mode, +* **GetLocateDeviceStatus** - method to retrieve the locate device mode status. #### 2. proto/bos/v1/authentication.proto -Contains **AuthenticationService** with **login** method to log in and get auth. token. +Contains authentication related messages and **AuthenticationService** with various methods: +* **Login** - method to log in and get auth. token, +* **SetPassword** - method to set new password. #### 3. proto/bos/v1/common.proto Contains **SaveAction** enumeration used for setting configuration. Options: @@ -217,7 +222,8 @@ Contains license related messages and **LicenseService** with method to read lic Contains miner related messages and **MinerService** with various methods to read info about miner: * **GetMinerDetails** - method to read miner details info like model, IP, uptime, etc., * **GetMinerStats** - method to read aggregated miner stats, -* **GetHashboards** - method to read miner hashboards state and statistics. +* **GetHashboards** - method to read miner hashboards state and statistics, +* **GetSupportArchive** - method to download BOS support archive. #### 9. proto/bos/v1/pool.proto Contains pools related messages and **PoolService** with various methods to read or modify pool settings: diff --git a/proto/bos/v1/actions.proto b/proto/bos/v1/actions.proto index 61405d6..f4eaf9b 100644 --- a/proto/bos/v1/actions.proto +++ b/proto/bos/v1/actions.proto @@ -75,6 +75,19 @@ message ResumeMiningResponse { bool already_mining = 1; } +// Request message to enable/disable locate device +message SetLocateDeviceStatusRequest { + bool enable = 1; +} + +// Response with locate device status +message LocateDeviceStatusResponse { + bool enabled = 1; +} + +// Request for locate device status action. +message GetLocateDeviceStatusRequest {} + service ActionsService { // Method to start bosminer rpc Start(StartRequest) returns (StartResponse); @@ -93,4 +106,10 @@ service ActionsService { // Method to reboot whole miner rpc Reboot(RebootRequest) returns (RebootResponse); + + // Method to enable/disable locate device mode + rpc SetLocateDeviceStatus(SetLocateDeviceStatusRequest) returns (LocateDeviceStatusResponse); + + // Method to retrieve the locate device mode status + rpc GetLocateDeviceStatus(GetLocateDeviceStatusRequest) returns (LocateDeviceStatusResponse); } diff --git a/proto/bos/v1/authentication.proto b/proto/bos/v1/authentication.proto index f8d9939..e22f4d6 100644 --- a/proto/bos/v1/authentication.proto +++ b/proto/bos/v1/authentication.proto @@ -24,13 +24,26 @@ syntax = "proto3"; package braiins.bos.v1; +// Request for login action. message LoginRequest { string username = 1; string password = 2; } +// Response for login action. message LoginResponse {} +// Request for set password action. +message SetPasswordRequest { + optional string password = 1; +} + +// Response for set password action. +message SetPasswordResponse {} + service AuthenticationService { + // Method to login and retrieve authentication token rpc Login(LoginRequest) returns (LoginResponse); + // Method to set password + rpc SetPassword(SetPasswordRequest) returns (SetPasswordResponse); } diff --git a/proto/bos/v1/cooling.proto b/proto/bos/v1/cooling.proto index 73cef6c..57f5352 100644 --- a/proto/bos/v1/cooling.proto +++ b/proto/bos/v1/cooling.proto @@ -1,4 +1,3 @@ - // Copyright (C) 2023 Braiins Systems s.r.o. // // This file is part of Braiins Open-Source Initiative (BOSI). diff --git a/proto/bos/v1/miner.proto b/proto/bos/v1/miner.proto index cb4c6e8..4e7c509 100644 --- a/proto/bos/v1/miner.proto +++ b/proto/bos/v1/miner.proto @@ -111,6 +111,8 @@ message GetMinerDetailsResponse { string mac_address = 7; // System uptime uint64 system_uptime = 8; + // Miner hashrate declared by manufacturer + braiins.bos.v1.GigaHashrate sticker_hashrate = 9; } message GetMinerStatsRequest {} @@ -140,6 +142,25 @@ message Hashboard { braiins.bos.v1.WorkSolverStats stats = 7; } +// Enumeration for support archive format +enum SupportArchiveFormat { + SUPPORT_ARCHIVE_FORMAT_UNSPECIFIED = 0; + // Compressed zip format + SUPPORT_ARCHIVE_FORMAT_ZIP = 1; + // BOS custom format + SUPPORT_ARCHIVE_FORMAT_BOS = 2; +} + +message GetSupportArchiveRequest { + // Support archive format. + SupportArchiveFormat format = 1; +} + +message GetSupportArchiveResponse { + // Support archive data + bytes chunk_data = 1; +} + message GetHashboardsRequest {} message GetHashboardsResponse { @@ -154,4 +175,7 @@ service MinerService { rpc GetMinerStats(GetMinerStatsRequest) returns (GetMinerStatsResponse); // Method to get miner hashboards state and statistics. rpc GetHashboards(GetHashboardsRequest) returns (GetHashboardsResponse); + // Method to download BOS support archive + // Method returns stream of messages with binary chunks that needs to be concatenated on the caller side + rpc GetSupportArchive(GetSupportArchiveRequest) returns (stream GetSupportArchiveResponse); } diff --git a/proto/bos/version.proto b/proto/bos/version.proto index 893ecee..587871e 100644 --- a/proto/bos/version.proto +++ b/proto/bos/version.proto @@ -31,7 +31,7 @@ package braiins.bos; // proto3 extensions and proto3 does not allow specifying custom // default values. Value follows semver format. -// LATEST_API_VERSION=1.0.0-beta +// LATEST_API_VERSION=1.0.0-beta.1 message ApiVersion { uint64 major = 1; uint64 minor = 2;