2024-04-16 11:01:25 +00:00
|
|
|
@startuml authoverview
|
|
|
|
!include <c4/C4_Container.puml>
|
|
|
|
!include <c4/C4_Component.puml>
|
|
|
|
AddElementTag("smart-contract", $bgColor=#0abab5)
|
|
|
|
|
|
|
|
Person(user, "User", "User with private key")
|
|
|
|
|
2024-04-24 12:01:19 +00:00
|
|
|
Container_Boundary(stor, "FrostFS Storage") {
|
2024-04-16 11:01:25 +00:00
|
|
|
Component(verify, "Sign Service", $descr="Check request signature")
|
|
|
|
Component(apesvc, "APE Service")
|
|
|
|
Component(objsvc, "Object service")
|
|
|
|
}
|
|
|
|
|
|
|
|
Container_Boundary(neogo, "Blockchain") {
|
|
|
|
Interface "NeoGo"
|
|
|
|
Component(ffsid, "FrostFS ID", $tags="smart-contract", $descr="Stores namespaces and users")
|
|
|
|
Component(policy, "Policy", $tags="smart-contract", $descr="Stores APE rules")
|
|
|
|
}
|
|
|
|
|
|
|
|
Rel_R(user, verify, "Requests", "gRPC")
|
|
|
|
Rel_R(verify, apesvc, "Access control")
|
|
|
|
Rel_R(apesvc, objsvc, "Operation")
|
|
|
|
Rel_D(apesvc, NeoGo, "Get data to validate request")
|
|
|
|
Rel("NeoGo", ffsid, "Fetch users")
|
|
|
|
Rel("NeoGo", policy, "Fetch policies")
|
|
|
|
|
|
|
|
SHOW_LEGEND(true)
|
2024-04-24 12:01:19 +00:00
|
|
|
@enduml
|