Compare commits
10 Commits
2507356cae
...
099f0a0488
| Author | SHA1 | Date | |
|---|---|---|---|
| 099f0a0488 | |||
| d6ffc0d4cb | |||
| a9dcfbe9fe | |||
| 8230e1f831 | |||
| a734b392b7 | |||
| dc1e2dd0cd | |||
| b8f37dec18 | |||
| aefd292807 | |||
| 9ba3bc3186 | |||
| a6baa4059d |
@ -18,6 +18,9 @@ message AppContract {
|
||||
uint64 nano_per_minute = 10;
|
||||
uint64 locked_nano = 11;
|
||||
string collected_at = 12;
|
||||
string hratls_pubkey = 13;
|
||||
optional bytes public_package_mr_enclave = 14;
|
||||
string app_name = 15;
|
||||
}
|
||||
|
||||
message NewAppReq {
|
||||
@ -26,8 +29,11 @@ message NewAppReq {
|
||||
AppResource resource = 3;
|
||||
string uuid = 4;
|
||||
string admin_pubkey = 5;
|
||||
uint64 price_per_unit = 15;
|
||||
uint64 locked_nano = 16;
|
||||
uint64 price_per_unit = 6;
|
||||
uint64 locked_nano = 7;
|
||||
string hratls_pubkey = 8;
|
||||
optional bytes public_package_mr_enclave = 9;
|
||||
string app_name = 10;
|
||||
}
|
||||
|
||||
message AppResource {
|
||||
@ -61,30 +67,57 @@ message ListAppContractsReq {
|
||||
// string node_pubkey = 3;
|
||||
}
|
||||
|
||||
|
||||
message AppNodeFilters {
|
||||
uint32 vcpus = 1;
|
||||
uint32 memory_mb = 2;
|
||||
uint32 storage_mb = 3;
|
||||
string country = 4;
|
||||
string region = 5;
|
||||
string city = 6;
|
||||
string ip = 7;
|
||||
string node_pubkey = 8;
|
||||
}
|
||||
|
||||
message AppNodeListResp {
|
||||
string operator = 1;
|
||||
string node_pubkey = 2;
|
||||
string country = 3;
|
||||
string region = 4;
|
||||
string city = 5;
|
||||
string ip = 6; // required for latency test
|
||||
uint64 price = 7; // nanoLP per unit per minute
|
||||
repeated string reports = 8; // TODO: this will become an enum
|
||||
}
|
||||
|
||||
service BrainAppCli {
|
||||
rpc CreateApp (NewAppReq) returns (NewAppRes);
|
||||
rpc DeployApp (NewAppReq) returns (NewAppRes);
|
||||
rpc DeleteApp (DelAppReq) returns (Empty);
|
||||
rpc ListAppContracts (ListAppContractsReq) returns (stream AppContract);
|
||||
rpc ListAppNodes (AppNodeFilters) returns (stream AppNodeListResp);
|
||||
rpc GetOneAppNode (AppNodeFilters) returns (AppNodeListResp);
|
||||
|
||||
// super admin commands
|
||||
rpc ListAllAppContracts (Empty) returns (stream AppContract);
|
||||
}
|
||||
|
||||
message RegisterAppNodeReq {
|
||||
string node_pubkey = 1;
|
||||
string operator_pubkey = 2;
|
||||
string operator_wallet = 2;
|
||||
string main_ip = 3;
|
||||
string country = 4;
|
||||
string region = 5;
|
||||
string city = 6;
|
||||
uint64 price = 7;
|
||||
}
|
||||
|
||||
message AppNodeResources {
|
||||
string node_pubkey = 1;
|
||||
uint32 avail_ports = 2;
|
||||
uint32 avail_ipv4 = 3;
|
||||
uint32 avail_ipv6 = 4;
|
||||
uint32 avail_vcpus = 5;
|
||||
uint32 avail_memory_mb = 6;
|
||||
uint32 avail_storage_gb = 7;
|
||||
uint32 max_ports_per_vm = 8;
|
||||
uint32 avail_no_of_port = 2;
|
||||
uint32 avail_vcpus = 3;
|
||||
uint32 avail_memory_mb = 4;
|
||||
uint32 avail_storage_mb = 5;
|
||||
uint32 max_ports_per_app = 6;
|
||||
}
|
||||
|
||||
message BrainMessageApp {
|
||||
|
||||
@ -40,10 +40,19 @@ pub struct AppDeployConfig {
|
||||
#[serde(default)]
|
||||
pub admin_pubkey: String,
|
||||
pub node_pubkey: String,
|
||||
#[serde(default)]
|
||||
pub price_per_unit: u64,
|
||||
pub node_unit_price: u64,
|
||||
#[serde(default)]
|
||||
pub locked_nano: u64,
|
||||
#[serde(default)]
|
||||
pub hratls_pubkey: String,
|
||||
#[serde(default)]
|
||||
pub public_package_mr_enclave: Option<Vec<u8>>,
|
||||
|
||||
pub hours: u64,
|
||||
#[serde(default)]
|
||||
pub private_package: bool,
|
||||
#[serde(default)]
|
||||
pub app_name: String,
|
||||
}
|
||||
|
||||
impl From<NewAppReq> for AppDeployConfig {
|
||||
@ -54,8 +63,11 @@ impl From<NewAppReq> for AppDeployConfig {
|
||||
uuid: pb_val.uuid,
|
||||
admin_pubkey: pb_val.admin_pubkey,
|
||||
node_pubkey: pb_val.node_pubkey,
|
||||
price_per_unit: pb_val.price_per_unit,
|
||||
node_unit_price: pb_val.price_per_unit,
|
||||
locked_nano: pb_val.locked_nano,
|
||||
hratls_pubkey: pb_val.hratls_pubkey,
|
||||
public_package_mr_enclave: pb_val.public_package_mr_enclave,
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -68,8 +80,11 @@ impl From<AppDeployConfig> for NewAppReq {
|
||||
uuid: val.uuid,
|
||||
admin_pubkey: val.admin_pubkey,
|
||||
node_pubkey: val.node_pubkey,
|
||||
price_per_unit: val.price_per_unit,
|
||||
price_per_unit: val.node_unit_price,
|
||||
locked_nano: val.locked_nano,
|
||||
hratls_pubkey: val.hratls_pubkey,
|
||||
public_package_mr_enclave: val.public_package_mr_enclave,
|
||||
app_name: val.app_name,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user