forked from TrueCloudLab/frostfs-s3-gw
61 lines
No EOL
13 KiB
XML
61 lines
No EOL
13 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="636px" preserveAspectRatio="none" style="width:1279px;height:636px;background:#FFFFFF;" version="1.1" viewBox="0 0 1279 636" width="1279px" zoomAndPan="magnify"><defs/><g><!--MD5=[3c3a15348c55d81488d27d2f242cdf86]
|
|
cluster AccessBox--><g id="cluster_AccessBox"><path d="M9.5,6 L93.5,6 A3.75,3.75 0 0 1 96,8.5 L103,28.2969 L1269.5,28.2969 A2.5,2.5 0 0 1 1272,30.7969 L1272,626.5 A2.5,2.5 0 0 1 1269.5,629 L9.5,629 A2.5,2.5 0 0 1 7,626.5 L7,8.5 A2.5,2.5 0 0 1 9.5,6 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="7" x2="103" y1="28.2969" y2="28.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="83" x="11" y="20.9951">AccessBox</text></g><g id="elem_Tokens"><rect fill="#F1F1F1" height="81.1875" style="stroke:#181818;stroke-width:0.5;" width="340" x="99" y="529"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="243.5" y="543.9951">Tokens</text><line style="stroke:#181818;stroke-width:1.0;" x1="99" x2="439" y1="549.2969" y2="549.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="120.5" y="564.292">SecretKey</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="219" y="564.292">Private key</text><line style="stroke:#181818;stroke-width:1.0;" x1="214" x2="214" y1="549.2969" y2="569.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="99" x2="439" y1="569.5938" y2="569.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="110" y="584.5889">BearerToken</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="158" x="219" y="584.5889">Encoded bearer token</text><line style="stroke:#181818;stroke-width:1.0;" x1="214" x2="214" y1="569.5938" y2="589.8906"/><line style="stroke:#181818;stroke-width:1.0;" x1="99" x2="439" y1="589.8906" y2="589.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="104" y="604.8857">SessionTokens</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="215" x="219" y="604.8857">List of encoded session tokens</text><line style="stroke:#181818;stroke-width:1.0;" x1="214" x2="214" y1="589.8906" y2="610.1875"/></g><g id="elem_Gate"><rect fill="#F1F1F1" height="60.8906" style="stroke:#181818;stroke-width:0.5;" width="317" x="109.5" y="401"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="251" y="415.9951">Gate</text><line style="stroke:#181818;stroke-width:1.0;" x1="109.5" x2="426.5" y1="421.2969" y2="421.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="146" y="436.292">GateKey</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="247.5" y="436.292">Encoded public gate key</text><line style="stroke:#181818;stroke-width:1.0;" x1="242.5" x2="242.5" y1="421.2969" y2="441.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="109.5" x2="426.5" y1="441.5938" y2="441.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="123" x="206.5" y="456.5889">Encrypted tokens</text></g><g id="elem_ContainerPolicy"><rect fill="#F1F1F1" height="60.8906" style="stroke:#181818;stroke-width:0.5;" width="342" x="478" y="401"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="593.5" y="415.9951">ContainerPolicy</text><line style="stroke:#181818;stroke-width:1.0;" x1="478" x2="820" y1="421.2969" y2="421.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="483" y="436.292">LocationConstraint</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="627" y="436.292">Policy name</text><line style="stroke:#181818;stroke-width:1.0;" x1="622" x2="622" y1="421.2969" y2="441.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="478" x2="820" y1="441.5938" y2="441.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="492" y="456.5889">PlacementPolicy</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="188" x="627" y="456.5889">Encoded placement policy</text><line style="stroke:#181818;stroke-width:1.0;" x1="622" x2="622" y1="441.5938" y2="461.8906"/></g><g id="elem_Box"><rect fill="#F1F1F1" height="101.4844" style="stroke:#181818;stroke-width:0.5;" width="610" x="31" y="233"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="322.5" y="247.9951">Box</text><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="641" y1="253.2969" y2="253.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="91" y="268.292">SeedKey</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176" x="218" y="268.292">Encoded public seed key</text><line style="stroke:#181818;stroke-width:1.0;" x1="213" x2="213" y1="253.2969" y2="273.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="641" y1="273.5938" y2="273.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="292.5" y="288.5889">List of Gates</text><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="641" y1="293.8906" y2="293.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="172" x="250" y="308.8857">List of container policies</text><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="641" y1="314.1875" y2="314.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="89.5" y="329.1826">IsCustom</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="418" x="218" y="329.1826">True if SecretKey was imported and must be treated as it is</text><line style="stroke:#181818;stroke-width:1.0;" x1="213" x2="213" y1="314.1875" y2="334.4844"/></g><g id="elem_ObjectAttributes"><rect fill="#F1F1F1" height="121.7813" style="stroke:#181818;stroke-width:0.5;" width="1053" x="194.5" y="45"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="663.5" y="59.9951">ObjectAttributes</text><line style="stroke:#181818;stroke-width:1.0;" x1="194.5" x2="1247.5" y1="65.2969" y2="65.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80" x="272.5" y="80.292">Timestamp</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="435.5" y="80.292">1710418478</text><line style="stroke:#181818;stroke-width:1.0;" x1="430.5" x2="430.5" y1="65.2969" y2="85.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="194.5" x2="1247.5" y1="85.5938" y2="85.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="226" x="199.5" y="100.5889">__SYSTEM__EXPIRATION_EPOCH</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="435.5" y="100.5889">10801</text><line style="stroke:#181818;stroke-width:1.0;" x1="430.5" x2="430.5" y1="85.5938" y2="105.8906"/><line style="stroke:#181818;stroke-width:1.0;" x1="194.5" x2="1247.5" y1="105.8906" y2="105.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="231.5" y="120.8857">S3-CRDT-Versions-Add</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="789" x="435.5" y="120.8857">5ZNvs8WVwy1XTmSEkcVkydPKzCgtmR7U3zyLYTj3Snxf,9bLtL1EsUpuSiqmHnqFf6RuT6x5QMLMNBqx7vCcCcNhy</text><line style="stroke:#181818;stroke-width:1.0;" x1="430.5" x2="430.5" y1="105.8906" y2="126.1875"/><line style="stroke:#181818;stroke-width:1.0;" x1="194.5" x2="1247.5" y1="126.1875" y2="126.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="196" x="214.5" y="141.1826">S3-Access-Box-CRDT-Name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="807" x="435.5" y="141.1826">2XGRML5EW3LMHdf64W2DkBy1Nkuu4y4wGhUj44QjbXBi05ZNvs8WVwy1XTmSEkcVkydPKzCgtmR7U3zyLYTj3Snxf</text><line style="stroke:#181818;stroke-width:1.0;" x1="430.5" x2="430.5" y1="126.1875" y2="146.4844"/><line style="stroke:#181818;stroke-width:1.0;" x1="194.5" x2="1247.5" y1="146.4844" y2="146.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="284.5" y="161.4795">FilePath</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="175" x="435.5" y="161.4795">1710418478_access.box</text><line style="stroke:#181818;stroke-width:1.0;" x1="430.5" x2="430.5" y1="146.4844" y2="166.7813"/></g><g id="elem_FrostFSObject"><rect fill="#F1F1F1" height="60.8906" style="stroke:#181818;stroke-width:0.5;" width="112" x="31" y="75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="38" y="89.9951">FrostFSObject</text><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="143" y1="95.2969" y2="95.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="60.5" y="110.292">Header</text><line style="stroke:#181818;stroke-width:1.0;" x1="31" x2="143" y1="115.5938" y2="115.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="59" y="130.5889">Payload</text></g><!--MD5=[23a04f1234a0605ca826eb8ba1b140e1]
|
|
link Gate to Tokens--><g id="link_Gate_Tokens"><path d="M269,462 C269,480.92 269,501.75 269,519.89 " fill="none" id="Gate-to-Tokens" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="269,524.94,273,515.94,269,519.94,265,515.94,269,524.94" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[e6b4c7479f160e5eb5b48a0b6849bf9b]
|
|
link Box to Gate--><g id="link_Box_Gate"><path d="M30,283 C6,283 17.29,317.29 31,337 C48.91,362.75 75.09,381.37 103.6,394.83 " fill="none" id="Box-to-Gate" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="108.19,396.95,101.7079,389.535,103.654,394.8465,98.3424,396.7926,108.19,396.95" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[80ddd26670e703c13e9122e6ad52496b]
|
|
link Box to ContainerPolicy--><g id="link_Box_ContainerPolicy"><path d="M642,303 C678.03,303 670.97,354.6 661.12,392.02 " fill="none" id="Box-to-ContainerPolicy" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="659.78,396.96,666.009,389.3312,661.0968,392.1365,658.2914,387.2243,659.78,396.96" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[8902d75137e8c4af1a99589fb6d46151]
|
|
link FrostFSObject to ObjectAttributes--><g id="link_FrostFSObject_ObjectAttributes"><path d="M144,105 C156.14,105.81 168.43,106.57 180.81,107.3 " fill="none" id="FrostFSObject-to-ObjectAttributes" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="186.13,107.61,177.3865,103.0767,181.139,107.3097,176.906,111.0622,186.13,107.61" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[14889a4c3f5999264ac5c1f0dea9c37a]
|
|
link FrostFSObject to Box--><g id="link_FrostFSObject_Box"><path d="M144,125 C166.49,125 153.73,152.49 169,169 C188.66,190.26 213.05,209.58 237.06,225.99 " fill="none" id="FrostFSObject-to-Box" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="241.22,228.81,236.0166,220.4479,237.0819,226.0035,231.5263,227.0689,241.22,228.81" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[69b7343a53042559481e74d7960428a4]
|
|
@startuml
|
|
|
|
package AccessBox {
|
|
map Tokens {
|
|
SecretKey => Private key
|
|
BearerToken => Encoded bearer token
|
|
SessionTokens => List of encoded session tokens
|
|
}
|
|
|
|
map Gate {
|
|
GateKey => Encoded public gate key
|
|
Encrypted tokens *- -> Tokens
|
|
}
|
|
|
|
map ContainerPolicy {
|
|
LocationConstraint => Policy name
|
|
PlacementPolicy => Encoded placement policy
|
|
}
|
|
|
|
map Box {
|
|
SeedKey => Encoded public seed key
|
|
List of Gates *- -> Gate
|
|
List of container policies *- -> ContainerPolicy
|
|
IsCustom => True if SecretKey was imported and must be treated as it is
|
|
}
|
|
|
|
|
|
map ObjectAttributes {
|
|
Timestamp => 1710418478
|
|
_~_SYSTEM_~_EXPIRATION_EPOCH => 10801
|
|
S3-CRDT-Versions-Add => 5ZNvs8WVwy1XTmSEkcVkydPKzCgtmR7U3zyLYTj3Snxf,9bLtL1EsUpuSiqmHnqFf6RuT6x5QMLMNBqx7vCcCcNhy
|
|
S3-Access-Box-CRDT-Name => 2XGRML5EW3LMHdf64W2DkBy1Nkuu4y4wGhUj44QjbXBi05ZNvs8WVwy1XTmSEkcVkydPKzCgtmR7U3zyLYTj3Snxf
|
|
FilePath => 1710418478_access.box
|
|
}
|
|
|
|
map FrostFSObject {
|
|
Header *-> ObjectAttributes
|
|
Payload *- -> Box
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@enduml
|
|
|
|
PlantUML version 1.2022.13(Sat Nov 19 16:22:17 MSK 2022)
|
|
(GPL source distribution)
|
|
Java Runtime: OpenJDK Runtime Environment
|
|
JVM: OpenJDK 64-Bit Server VM
|
|
Default Encoding: UTF-8
|
|
Language: en
|
|
Country: US
|
|
--></g></svg> |