openid & other
This commit is contained in:
259
docs/catalog_metadata.puml
Normal file
259
docs/catalog_metadata.puml
Normal file
@@ -0,0 +1,259 @@
|
||||
@startuml
|
||||
|
||||
|
||||
class Resource
|
||||
{
|
||||
"id" : "string"
|
||||
"name" : "string"
|
||||
"short description" : "string"
|
||||
"description" : "string"
|
||||
"logo" : "string"
|
||||
"creator" : "peer_id"
|
||||
"usage_restrictions" : "string"
|
||||
|
||||
}
|
||||
|
||||
class StoragePartnerResource
|
||||
{
|
||||
"namespace" : "string"
|
||||
"sizing_indicator" : "string"
|
||||
"peer_group"="string"
|
||||
}
|
||||
class ProcessingPartnerResource
|
||||
{
|
||||
"namespace" : "string"
|
||||
"sizing_indicator" : "string"
|
||||
"peer_group"="string"
|
||||
}
|
||||
class ComputeUnitPartnerResource
|
||||
{
|
||||
"namespace" : "string"
|
||||
"sizing_indicator" : "string"
|
||||
"peer_group"="string"
|
||||
}
|
||||
class DataPartnerResource
|
||||
{
|
||||
"namespace" : "string"
|
||||
"sizing_indicator" : "string"
|
||||
"peer_group"="string"
|
||||
}
|
||||
|
||||
class ResourceInstance
|
||||
{
|
||||
"location" : "geo coord"
|
||||
"country" : "string"
|
||||
"url" : "string"
|
||||
}
|
||||
|
||||
|
||||
class StorageInstance
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
class DataInstance
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
class ComputeUnitInstance
|
||||
{
|
||||
"cpus":
|
||||
"gpus":
|
||||
"ram":
|
||||
"security_level" : "string"
|
||||
"power_source" : "string"
|
||||
}
|
||||
|
||||
class cpu
|
||||
{
|
||||
"model" : "string"
|
||||
"cores" : "int"
|
||||
"frequency" : "float"
|
||||
"architecture" : "string"
|
||||
}
|
||||
|
||||
class gpu
|
||||
{
|
||||
"model" : "string"
|
||||
"memory" : "float"
|
||||
}
|
||||
|
||||
class ram
|
||||
{
|
||||
"size" : "int"
|
||||
}
|
||||
|
||||
class bandwidth
|
||||
{
|
||||
"up" : "float"
|
||||
"down" : "float"
|
||||
}
|
||||
|
||||
class ProcessingInstance
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
class Owner
|
||||
{
|
||||
"name" : "string"
|
||||
"logo" : "string"
|
||||
}
|
||||
|
||||
|
||||
class DataPricingStrategy {
|
||||
"unlimited"
|
||||
"subscription"
|
||||
"pay per use"
|
||||
}
|
||||
|
||||
class DataPricing
|
||||
{
|
||||
"price" : "float"
|
||||
"price_per_gb" : "float"
|
||||
"price_per_request" : "float"
|
||||
"price_per_api_call" : "float"
|
||||
"price_per_data_transfer" : "float"
|
||||
"price_per_data_download" : "float"
|
||||
|
||||
}
|
||||
|
||||
class ProcessingPricing
|
||||
{
|
||||
|
||||
"price" : "float"
|
||||
"price_per_request" : "float"
|
||||
"price_per_api_call" : "float"
|
||||
"price_per_data_transfer" : "float"
|
||||
"price_per_data_processing" : "float"
|
||||
"price_per_data_storage" : "float"
|
||||
"price_per_data_download" : "float"
|
||||
}
|
||||
|
||||
class ComputeUnitPricingStrategy {
|
||||
"overflow" : "booked, allowed, garanted"
|
||||
}
|
||||
|
||||
class ComputeUnitPricing
|
||||
{
|
||||
"cpu_price" : "float"
|
||||
"gpu_price" : "float"
|
||||
"ram_price" : "float"
|
||||
"refund" : "bool"
|
||||
}
|
||||
|
||||
class StoragePricing
|
||||
{
|
||||
|
||||
"price" : "float"
|
||||
"price_per_request" : "float"
|
||||
"price_per_api_call" : "float"
|
||||
"price_per_data_transfer" : "float"
|
||||
"price_per_data_processing" : "float"
|
||||
"price_per_data_storage" : "float"
|
||||
"price_per_data_download" : "float"
|
||||
}
|
||||
class Data
|
||||
{
|
||||
"personal_data" : "bool"
|
||||
"anonymized_personal_data" : "bool"
|
||||
"type" : "string"
|
||||
"license" : "string"
|
||||
"open_data" : "bool"
|
||||
"quality" : "string"
|
||||
"static" : bool
|
||||
"update_period" : "string"
|
||||
}
|
||||
|
||||
|
||||
class ComputeUnit
|
||||
{
|
||||
"type" : "string"
|
||||
"infrastructure" : "string"
|
||||
"architecture" : "string"
|
||||
"investors" : "string"
|
||||
}
|
||||
|
||||
class Processing {
|
||||
"type" : "string"
|
||||
"license" : "string"
|
||||
"open_source" : "bool"
|
||||
"maturity" : "string"
|
||||
"service" : "bool"
|
||||
}
|
||||
|
||||
class Container
|
||||
{
|
||||
"image" : "string"
|
||||
"command" : "string"
|
||||
"args" : "string"
|
||||
"env" : "string"
|
||||
"volumes" : "string"
|
||||
}
|
||||
|
||||
Processing "0" *-- "1" Container
|
||||
Container "0" *-- "*" Expose
|
||||
|
||||
class Expose
|
||||
{
|
||||
Port:int
|
||||
Reverse: "string"
|
||||
PAT:int
|
||||
}
|
||||
|
||||
class ProcessingUsage
|
||||
{
|
||||
"hypothesis" : "string"
|
||||
"cpu":
|
||||
"gpu":
|
||||
"ram":
|
||||
"storage": "float"
|
||||
"scalingmodel": "string"
|
||||
}
|
||||
|
||||
class Storage {
|
||||
"type" : "string"
|
||||
"security_level" : "string"
|
||||
"investors" : "string"
|
||||
"support" : "string"
|
||||
}
|
||||
|
||||
Resource -- Owner
|
||||
|
||||
Resource <|- Data
|
||||
Resource <|- ComputeUnit
|
||||
Resource <|- Processing
|
||||
Resource <|- Storage
|
||||
Resource <|- Workflow
|
||||
|
||||
|
||||
StoragePartnerResource -- StoragePricingStrategy
|
||||
ProcessingPartnerResource -- ProcessingPricingStrategy
|
||||
ComputeUnitPartnerResource -- ComputeUnitPricingStrategy
|
||||
DataPartnerResource -- DataPricingStrategy
|
||||
|
||||
StorageInstance "1" *-- "*" StoragePartnerResource
|
||||
DataInstance "1" *-- "*" DataPartnerResource
|
||||
ProcessingInstance "1" *-- "*" ProcessingPartnerResource
|
||||
ComputeUnitInstance "1" *-- "*" ComputeUnitPartnerResource
|
||||
|
||||
DataPricingStrategy <|-- DataPricing
|
||||
ProcessingPricingStrategy <|-- ProcessingPricing
|
||||
ComputeUnitPricingStrategy <|-- ComputeUnitPricing
|
||||
StoragePricingStrategy <|-- StoragePricing
|
||||
|
||||
ResourceInstance <|-- StorageInstance
|
||||
ResourceInstance <|-- DataInstance
|
||||
ResourceInstance <|-- ComputeUnitInstance
|
||||
ResourceInstance <|-- ProcessingInstance
|
||||
|
||||
Storage "1" *-- "*" StorageInstance
|
||||
Processing "1" *-- "*" ProcessingInstance
|
||||
ComputeUnit "1" *-- "*" ComputeUnitInstance
|
||||
Data "1" *-- "*" DataInstance
|
||||
|
||||
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user