initial commit

This commit is contained in:
ycc
2026-01-20 19:49:41 +01:00
commit 30a59d7e4e
30 changed files with 12607 additions and 0 deletions

427
content/_index.md Normal file
View File

@@ -0,0 +1,427 @@
+++
title = "OpenCloud"
description = "Open-source distributed cloud to share, sell, or rent infrastructure resources across trusted peers."
template = "index.html"
+++
<div class="oc-diagram">
<svg
width="181.59599mm"
height="57.816002mm"
viewBox="-1 -1 181.59599 57.816002"
version="1.1"
id="svg1"
xml:space="preserve"
sodipodi:docname="public-ditributed.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="currentColor"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.120037"
inkscape:cx="259.81284"
inkscape:cy="199.54697"
inkscape:window-width="1910"
inkscape:window-height="1166"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs1"><linearGradient
id="linearGradient3796"
inkscape:collect="always"><stop
id="stop3798"
style="stop-color:#aa8800"
offset="0" /><stop
id="stop3804"
style="stop-color:#d4aa00"
offset=".13846" /><stop
id="stop3806"
style="stop-color:#ffcc00"
offset=".56154" /><stop
id="stop3808"
style="stop-color:#ffd42a"
offset=".83846" /><stop
id="stop3800"
style="stop-color:#ffd42a"
offset="1" /></linearGradient><linearGradient
id="linearGradient2884"
inkscape:collect="always"><stop
id="stop2886"
style="stop-color:#b3b3b3"
offset="0" /><stop
id="stop2888"
style="stop-color:#999999"
offset="1" /></linearGradient><clipPath
id="clipPath3746"
clipPathUnits="userSpaceOnUse"><path
id="path3748"
style="fill:url(#radialGradient3750);fill-rule:evenodd"
d="m 157.9,245.13 c -25.384,0 -46.017,20.585 -46.156,45.938 -4.7e-4,0.0856 -0.0312,0.16432 -0.0312,0.25 0,0.10823 -0.001,-0.0188 0,0.0625 a 3.6973,3.6973 0 0 0 0,0.0625 3.6973,3.6973 0 0 0 0,0.25 v 56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.75 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 l 0.0312,-56.625 a 3.6973,3.6973 0 0 0 0,-0.0625 c -0.0102,-0.65463 -0.0312,-0.74405 -0.0312,-0.3125 0,-1.9295 0.21811,-3.8205 0.59375,-5.6562 0.37382,-1.8268 0.91445,-3.5701 1.625,-5.25 0.70721,-1.672 1.5845,-3.2873 2.5938,-4.7812 1.0053,-1.488 2.1616,-2.8491 3.4375,-4.125 1.2759,-1.2759 2.637,-2.4322 4.125,-3.4375 1.4939,-1.0093 3.1092,-1.8865 4.7812,-2.5938 1.6799,-0.71055 3.4232,-1.2512 5.25,-1.625 1.8357,-0.37564 3.7267,-0.59375 5.6562,-0.59375 1.9295,0 3.8205,0.21811 5.6562,0.59375 1.8268,0.37382 3.5701,0.91445 5.25,1.625 1.672,0.70721 3.2873,1.5845 4.7812,2.5938 1.488,1.0053 2.8491,2.1616 4.125,3.4375 1.2759,1.2759 2.4322,2.637 3.4375,4.125 1.0093,1.4939 1.8865,3.1092 2.5938,4.7812 0.71055,1.6799 1.2512,3.4232 1.625,5.25 0.37564,1.8357 0.59375,3.7267 0.59375,5.6562 0,-0.44112 -0.0234,-0.3294 -0.0312,0.34375 a 3.6973,3.6973 0 0 0 0,0.0312 l 0.15625,56.625 a 3.6973,3.6973 0 0 0 3.6875,3.6875 h 10.625 a 3.6973,3.6973 0 0 0 3.6875,-3.6875 v -56.625 a 3.6973,3.6973 0 0 0 0,-0.375 c 0,-25.47 -20.717,-46.188 -46.188,-46.188 z" /></clipPath><radialGradient
id="radialGradient3750"
xlink:href="#linearGradient2884"
gradientUnits="userSpaceOnUse"
cy="281.10001"
cx="201"
gradientTransform="matrix(1.4716,0,-4.7868e-6,1.4634,-94.783,-132.99)"
r="46.191002"
inkscape:collect="always" /><clipPath
id="clipPath4076"
clipPathUnits="userSpaceOnUse"><rect
id="rect4078"
style="fill:url(#linearGradient4080);fill-rule:evenodd"
height="91.978996"
width="114.97"
y="317.35999"
x="100.01" /></clipPath><linearGradient
id="linearGradient4080"
y2="369.35999"
xlink:href="#linearGradient3796"
spreadMethod="reflect"
gradientUnits="userSpaceOnUse"
x2="157.5"
gradientTransform="matrix(0.88442,0,0,0.88442,18.205,36.682)"
y1="369.35999"
x1="92.5"
inkscape:collect="always" /></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-22.517292,-19.337906)"><g
id="g7"
transform="translate(-10.37696,3.9911384)"><path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7" /></g><g
id="g7-6"
transform="translate(-18.92999,8.8206132)"><path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.518636,23.15931 c -0.698672,0 -1.39843,0.08694 -2.080493,0.257349 -2.222276,0.554716 -4.094995,1.9419 -5.27358,3.905704 -1.070734,1.784175 -1.451625,3.849311 -1.096574,5.878711 -2.566833,0.516206 -4.431771,2.749321 -4.431771,5.430676 0,3.056232 2.486056,5.542298 5.542298,5.542298 l 21.367171,-0.0016 c 1.788834,-0.0427 3.45306,-0.778674 4.687569,-2.073259 1.23415,-1.293837 1.890719,-2.991978 1.847949,-4.78007 -0.08275,-3.471514 -2.870197,-6.319481 -6.295223,-6.524666 -0.102035,-0.962441 -0.52863,-1.877447 -1.211812,-2.573487 -0.817716,-0.83321 -1.910733,-1.29191 -3.078365,-1.29191 -0.877038,0 -1.716204,0.26102 -2.426209,0.746207 -1.484669,-2.766026 -4.373436,-4.516003 -7.55096,-4.516003 z"
id="path1-1-1" /><path
style="fill:#eab9c3;fill-opacity:1;stroke:#000000;stroke-width:0.377872;stroke-opacity:1"
d="m 54.519153,24.293091 c 2.973874,0 5.655952,1.766453 6.832658,4.499984 0.07367,0.171554 0.227544,0.295862 0.410827,0.331762 0.184022,0.03704 0.372515,-0.0203 0.506429,-0.151412 0.598197,-0.587215 1.389132,-0.910538 2.227255,-0.910538 0.860409,0 1.666536,0.338354 2.269629,0.952396 0.602714,0.614043 0.933968,1.459656 0.908988,2.319755 -0.0046,0.155682 0.05532,0.306163 0.164848,0.416512 0.10959,0.109953 0.261377,0.173598 0.415478,0.166398 l 0.134876,-0.0015 c 2.993502,0 5.48645,2.435899 5.5578,5.43016 0.03554,1.485416 -0.509627,2.895392 -1.53479,3.970817 -1.025163,1.075429 -2.407893,1.687235 -3.893302,1.722375 L 68.38704,43.0413 H 47.178516 v 5.17e-4 c -2.430842,0 -4.408759,-1.97794 -4.408,-4.40955 0,-2.304266 1.731575,-4.192468 4.027144,-4.39198 0.165514,-0.01436 0.316038,-0.100213 0.412378,-0.235127 0.09634,-0.135277 0.128537,-0.305662 0.08837,-0.466639 -0.481411,-1.92828 -0.18368,-3.929041 0.839225,-5.633248 1.022904,-1.704202 2.647663,-2.907669 4.575948,-3.389457 0.59212,-0.147755 1.199463,-0.222725 1.805575,-0.222725 z"
id="path7-8" /></g><g
id="g8"
transform="translate(2.660759,-1.8625313)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8" /><g
id="g2"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2" />
</g></g><g
id="g8-2"
transform="translate(24.703048,5.6657368)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-37" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-5" /><g
id="g2-9"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-2" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-2" />
</g></g><g
id="g8-4"
transform="translate(16.412989,22.210047)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547" /><g
id="g2-4"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3" />
</g></g><g
id="g8-4-0"
transform="translate(62.267741,-8.6100873)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-52-9" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-547-6" /><g
id="g2-4-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-4-8" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-3-5" />
</g></g><g
id="g8-8"
transform="translate(39.272733,-9.2479606)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-8" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-4" /><g
id="g2-31"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-49" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-20" />
</g></g><g
id="g8-66"
transform="translate(50.002896,8.78969)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-4" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-95" /><g
id="g2-0"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-48" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-7" />
</g></g><g
id="g8-22"
transform="translate(-28.653809,21.618106)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-6" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-1" /><g
id="g2-06"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-15" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-94" />
</g></g><g
id="g8-7"
transform="translate(-25.526402,2.3650577)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-7" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-11" /><g
id="g2-5"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-9" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-77" />
</g></g><g
id="g8-6"
transform="translate(14.639082,-16.606755)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-12" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-9" /><g
id="g2-3"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-1" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-9" />
</g></g><g
id="g8-5"
transform="translate(-17.151041,-13.905664)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-0" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-3" /><g
id="g2-6"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-10" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-6" />
</g></g><g
id="g8-1"
transform="translate(-5.1273877,12.383023)"><path
style="stroke-width:0.189057"
d="m 123.29511,41.453965 c -0.17771,-1.015426 0.0129,-2.048814 0.54865,-2.941542 0.58967,-0.982531 1.52663,-1.67656 2.63848,-1.954096 0.34125,-0.08526 0.69139,-0.128559 1.04095,-0.128559 1.58978,0 3.03494,0.875524 3.77775,2.259423 0.35523,-0.242749 0.77513,-0.373388 1.21393,-0.373388 0.58419,0 1.13113,0.229516 1.54025,0.646388 0.34181,0.348243 0.55507,0.80595 0.60612,1.287479 1.71361,0.102658 3.10829,1.527583 3.14969,3.264452 0.0214,0.894619 -0.30702,1.744242 -0.92449,2.391575 -0.61765,0.647707 -1.45026,1.015991 -2.34525,1.037356 l -10.69062,7.15e-4 c -1.5291,0 -2.77291,-1.243807 -2.77291,-2.772902 0,-1.341551 0.93319,-2.458879 2.21745,-2.717131 z"
id="path1-5" /><path
style="fill:#e5ffd5;stroke-width:0.189057"
d="m 123.85057,46.377018 h 10.61122 l 0.0664,-7.15e-4 c 0.74318,-0.01758 1.43494,-0.323682 1.94785,-0.861741 0.51291,-0.538057 0.78573,-1.243429 0.76795,-1.986613 -0.0357,-1.49809 -1.28313,-2.716942 -2.78084,-2.716942 l -0.0675,7.86e-4 c -0.0771,0.0036 -0.15294,-0.02836 -0.20777,-0.08337 -0.0548,-0.05521 -0.0847,-0.13045 -0.0824,-0.208341 0.0125,-0.430325 -0.15332,-0.853246 -0.45487,-1.160464 -0.30174,-0.307218 -0.705,-0.476613 -1.13548,-0.476613 -0.41933,0 -0.81502,0.161643 -1.11431,0.455439 -0.067,0.0656 -0.16126,0.09434 -0.25333,0.07581 -0.0917,-0.01796 -0.16883,-0.08016 -0.20569,-0.165992 -0.58873,-1.367641 -1.93046,-2.251484 -3.41835,-2.251484 -0.30325,0 -0.60725,0.03762 -0.9035,0.111544 -0.96476,0.241048 -1.7777,0.843196 -2.28948,1.695843 -0.51178,0.852649 -0.66076,1.853519 -0.4199,2.818277 0.0201,0.08054 0.004,0.165804 -0.0442,0.233486 -0.0482,0.0675 -0.12345,0.110599 -0.20626,0.117783 -1.14852,0.09982 -2.01478,1.044541 -2.01478,2.197412 -3.8e-4,1.216584 0.98915,2.206111 2.20535,2.206111 z"
id="path8-54" /><g
id="g2-7"
transform="matrix(0.00422456,0,0,0.00422456,134.48002,35.822071)">
<path
d="M 1124.664,644.322 H 184.779 c -80.353,0 -145.493,65.139 -145.493,145.493 v 693.711 c 0,80.354 65.139,145.493 145.493,145.493 h 939.885 c 80.353,0 145.493,-65.139 145.493,-145.493 V 789.814 c 0,-80.353 -65.14,-145.492 -145.493,-145.492 z m -407.013,505.003 c 1.166,4.857 1.801,9.915 1.801,15.117 v 124.451 c 0,35.832 -29.317,65.148 -65.148,65.148 -35.832,0 -65.149,-29.317 -65.149,-65.148 v -124.451 c 0,-5.356 0.668,-10.562 1.902,-15.551 -35.921,-21.626 -59.951,-60.993 -59.951,-105.976 0,-68.271 55.345,-123.615 123.615,-123.615 68.271,0 123.615,55.344 123.615,123.615 10e-4,45.288 -24.358,84.88 -60.685,106.41 z"
id="path1-3-6" />
<path
d="M 800.192,53.478 C 753.711,36.569 706.171,28.944 657.993,29.019 609.815,28.944 555.731,36.569 509.25,53.478 292.679,132.265 214.013,326.688 224.851,584.063 h 179.785 c -10.095,-177.358 35.728,-296.867 147.728,-347.915 64.887,-29.574 139.826,-29.574 204.713,0 112,51.047 157.823,170.556 147.728,347.915 H 1084.59 C 1095.429,326.688 1016.764,132.265 800.192,53.478 Z"
id="path2-5" />
</g></g><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 64.124289,39.911385 39.911381,-9.84481"
id="path9" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 62.793911,43.902524 32.727333,1.862529"
id="path10" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 58.004545,47.361509 34.855941,18.09316"
id="path11" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 108.29289,66.518974 15.96455,-7.450126"
id="path12" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.270274;stroke-dasharray:none;stroke-opacity:1"
d="m 111.48699,47.098313 7.80329,3.010538"
id="path13" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 119.90547,31.396955 7.45013,4.257215"
id="path14" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 111.75188,46.031128 12.50556,-2.926834"
id="path15" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.283847;stroke-dasharray:none;stroke-opacity:1"
d="m 131.79705,35.204853 6.0233,-5.6638"
id="path16" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 138.89162,44.168599 7.18405,4.257215"
id="path17" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,61.46353 -8.51443,-3.192909"
id="path18" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 143.94706,58.802772 7.45012,-6.651897"
id="path19" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="M 153.52579,67.051126 C 180.66553,55.343787 180.66553,55.343787 180.66553,55.343787"
id="path20" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 162.04022,50.022267 9.31265,2.394683"
id="path21" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 179.60123,46.031128 8.7805,-8.248351"
id="path22" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 183.32629,35.388094 h -7.18405"
id="path23" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 154.05794,42.838219 7.18405,-6.119747"
id="path24" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 161.24199,33.174652 -9.57873,-4.52329"
id="path25" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 139.68984,42.572143 21.02,-7.982278"
id="path26" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 151.13111,42.306067 -7.7162,-12.505568"
id="path27" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 168.95819,37.516702 6.6519,8.248351"
id="path28" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 136.49693,44.966826 4.52329,14.900251"
id="path29" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.253655;stroke-dasharray:none;stroke-opacity:1"
d="m 112.46197,32.548619 -8.69601,7.101107"
id="path30" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 102.17314,48.957965 -3.725059,9.312656"
id="path31" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 131.97364,56.674165 13.83595,-6.119747"
id="path32" /><path
style="fill:#e5ffd5;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
d="m 116.27517,32.727336 5.32151,16.230629"
id="path33" /><path
id="rect2985"
style="fill:#95a2c0;fill-opacity:1;stroke-width:0.683214"
d="m 77.897813,27.040868 h 4.731004 v 3.621293 l 3.241611,-2.663939 3.241613,-2.663938 -3.241613,-2.663941 -3.241611,-2.663939 v 3.392394 h -4.731004 v 3.642138 z"
inkscape:export-ydpi="90"
inkscape:export-filename="C:\Users\Joshua\Documents\Visual Studio 2010\Projects\Three on Three Round Robin Scheduler\arrowdown.png"
inkscape:connector-curvature="0"
inkscape:export-xdpi="90" /><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="28.085234"
y="58.952026"
id="text33"><tspan
sodipodi:role="line"
id="tspan33"
style="font-size:4.23333px;"
x="28.085234"
y="58.952026">Public clouds</tspan></text><text
xml:space="preserve"
style="font-size:4.23333px;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
x="112.09336"
y="74.506088"
id="text34"><tspan
sodipodi:role="line"
style="font-size:4.23333px;"
x="112.09336"
y="74.506088"
id="tspan36">Private infrastructures federation</tspan></text></g></svg>
</div>
OpenCloud is an open-source, **distributed cloud fabric** that lets you selectively **share, sell, or rent** your infrastructure resources — data, algorithms, compute power, and storage — with other OpenCloud peers.
It provides a **peer-to-peer execution layer** that can orchestrate distributed workflows across multiple organizations, while each participant keeps full **sovereign control** over data, infrastructure, and trust relationships.
Distributed execution within the network can be optimized according to your own priorities:
- **Maximal sovereignty**
- **Accelerated computation**
- **Cost minimization**
- **Optimized infrastructure investments**
Each OpenCloud instance includes:
- an **OpenID-based distributed authentication system**
- a fully **decentralized architecture** with **no central authority** and **no single point of failure**
- **transaction tracking and peer-to-peer billing**, ensuring fair compensation for all partners
[Explore the Project →](/project)
[View the Source Code →](https://cloud.o-forge.io)

View File

@@ -0,0 +1,238 @@
+++
title = "Documentation"
description = "OpenCloud Technical Documentation — Work in Progress"
template = "section.html"
+++
# OpenCloud Documentation
*Work in Progress*
This documentation site provides a unified and structured view of all core concepts behind **OpenCloud**, the sovereign, distributed, peer-to-peer cloud platform.
All OpenCloud microservices expose **OpenAPI-compliant specifications**, ensuring that:
- API structures and endpoints are always discoverable
- Code generation can be automated
- Integrators can explore service capabilities
- Implementations remain consistent across deployments
The full set of OpenAPI definitions will be progressively published as the platform stabilizes and services reach higher maturity levels.
---
# Documentation Status
This documentation is currently **under construction**.
Each section below represents a major technical capability of OpenCloud.
Pages will be expanded iteratively to include:
- Concepts & design principles
- Architecture diagrams
- API references (via OpenAPI)
- Usage scenarios
- Configuration guidelines
- Deployment instructions
- Best practices & integration patterns
If you want detailed or early-access drafts for any section, feel free to request them.
---
# Table of Contents
Below is the initial Table of Contents for the OpenCloud documentation.
Every topic listed here will eventually become a dedicated page or section.
---
## 1. Introduction to OpenCloud
- What is OpenCloud?
- Sovereignty principles
- Federated trust model
- Architecture overview
- Glossary of OpenCloud concepts
---
## 2. Resource Catalog
The Catalog is the foundation of all OpenCloud interactions.
- Resource model
- Metadata definitions (`catalog_metadata`)
- Data resources
- Algorithm resources
- Compute Units
- Storage resources
- Workflow templates
- Resource visibility (public / restricted / private)
- Access rules (credentials, payment, agreements)
- API endpoints (OpenAPI)
---
## 3. Peer Discovery & Connectivity
OpenClouds decentralization starts with peer discovery.
- Peer registration
- Peer identities
- Distributed trust graph
- Community/group definitions
- Private federations
- Peer health and presence
- Networking models (P2P overlays, WAN, LAN)
- API endpoints (OpenAPI)
---
## 4. Authentication & Authorization
Identity and access control across distributed partners.
- OpenID-based distributed authentication
- Federation of identity providers
- Session and token management
- Access scopes & privileges
- Fine-grained access control
- Collaborative area rule enforcement
- API endpoints (OpenAPI)
---
## 5. Workspace Management
Organizing data, algorithms, and services for distributed workflows.
- Workspaces lifecycle
- Resource selection
- Project and team organization
- Collaboration patterns
- Integration with workflows
- API endpoints (OpenAPI)
---
## 6. Workflow Design & Distributed Execution
The heart of OpenClouds capabilities.
- Workflow design principles
- Editor interface concepts
- Distributed data flows
- Execution strategies
- Sovereignty-optimized
- Performance-optimized
- Cost-optimized
- Hybrid strategies
- Multi-cloud and edge execution
- Stateless vs. stateful operations
- Error handling & retries
- Workflow templates and sharing
- API endpoints (OpenAPI)
---
## 7. Deployment & Resource Booking
Running services and reserving infrastructure across peers.
- Deployment model
- Resource reservation (compute, storage, algorithms)
- SLA & QoS considerations
- Scheduling and placement policies
- Deployment on datacenter vs. edge nodes
- Public-cloud hybrid deployments
- API endpoints (OpenAPI)
---
## 8. Monitoring & Observability
Understanding system state across distributed deployments.
- Metrics collection
- Execution tracing
- Peer availability & health
- Resource usage dashboards
- Alerts & notifications
- Integration with Prometheus, Loki, Grafana
- API endpoints (OpenAPI)
---
## 9. Accounting & Peer-to-Peer Billing
Tracking distributed resource consumption.
- Transaction capture
- Usage metering models
- Resource pricing
- Peer-to-peer cost settlement
- Billing transparency
- Audit logs
- API endpoints (OpenAPI)
---
## 10. Collaborative Areas
Governance for multi-organization projects.
- Workspace sharing
- Policy rules (open-source only, no personal data, legal restrictions, visibility constraints)
- Auto-enforced vs. manually-reviewed rules
- Community membership
- Compliance workflows
- API endpoints (OpenAPI)
---
## 11. Platform Components & Microservices
Detailed documentation for each service.
- Service overview
- Responsibilities & isolation
- Deployment diagrams
- Configuration parameters
- Inter-service API contracts (OpenAPI)
---
## 12. Deployment Guides
Instructions for various environments.
- Local developer installations
- Bare-metal and VM deployments
- Kubernetes & containerized environments
- Edge deployments (ARM SBCs)
- Cloud provider deployment
- High-availability patterns
---
## 13. Security
Security is an essential dimension of OpenCloud.
- Communication security
- Mutual authentication
- Data confidentiality
- Integrity & non-repudiation
- Threat models
- Secure default configurations
---
## 14. Roadmap & Future Evolutions
- Upcoming features
- Long-term vision
- Governance model
- Community contributions
- API deprecations
---
## 15. API Reference (auto-generated)
All microservices expose:
- REST endpoints
- JSON schema definitions
- Error codes
- Webhooks (if any)
- Tooling for client generation
These pages are directly generated from the OpenAPI contract.
---

View File

@@ -0,0 +1,75 @@
+++
title = "Downloads"
description = "Source code"
+++
Right now OpenCloud is only distributed as source code.
It can be accessed though our forge [https://cloud.o-forge.io](https://cloud.o-forge.io)
---
# Development
OpenCloud relies on a micro services architecture.
Each component could be developed using specific technologies.
However, in order to preserve product consistency and ease maintenance activities, we strongly encourage using the following technological stacks.
## Web services
Web services are developped in Go using Beego stack
### Environment setup
When using pricate repositories like the OpenCloud git forge, you should define it as a private repository
export GOPRIVATE=cloud.o-forge.io
The Beego stack provides the bee cli tool to ease building process :
go get github.com/beego/bee/v2@latest
### Project initialization
New component creation
go mod init oc-mycomponent
Refer to other services component main.go file to write a consitent initialisation process
### Project build
In order to build the software :
bee run -downdoc=true -gendoc=true
The -downdoc=true -gendoc=true will automatically generate swagger documentation in the /swagger path
If default Swagger page is displayed instead of your api, change url in swagger/index.html file to :
url: "swagger.json"
If annotations are modified without any code changed, a rebuild might not reflect the changes.
To force routing information update :
bee generate routers
## GUI components
The GUI are developped using Flutter framework
### Environment setup
* Install Flutter framework
* Install Android Studio
* In "Tools"->"SDK Manager"->"Apparenace & Behaviour/System Settings/Android SDK", go to "SDK tools" and tick the "Android SDK command line tools"
* Run <code>flutter doctor</code> commmand and follow instructions to accept SDK licenses
* Add Vscode flutter plugin and use Vscode Command palette to create a Flutter project
* Also set the target Device using command Palette
### Project build
Depending on your target platform :
flutter build web
flutter build linux
flutter build windows

58
content/project/_index.md Normal file
View File

@@ -0,0 +1,58 @@
+++
title = "The OpenCloud Project"
description = "A sovereign, peer-to-peer distributed cloud fabric for sharing infrastructure and resources across trusted partners."
+++
Each participant can selectively share:
- **Data**
- **Algorithms**
- **Compute power**
- **Storage**
- **Pre-built workflows and services**
with other OpenCloud peers, under rules they fully control.
## What OpenCloud Enables
With OpenCloud, organizations can:
- Build **cross-organization workflows** that run across multiple infrastructures
- **Monetize resources** (share, sell, or rent capacity and services)
- Create **private communities of peers** for sensitive or strategic projects
- Maintain full **control over data location and access policies**
- Track **resource consumption and billing** transparently between partners
## Optimization on Your Own Terms
Distributed execution in OpenCloud is not tied to a single global policy.
Each instance can optimize workflows for its own objectives:
- **Maximal sovereignty** prioritize data locality, compliance, and strategic autonomy
- **Accelerated computation** prioritize time-to-result and performance
- **Cost minimization** route workloads based on cost constraints
- **Optimized infrastructure investments** improve utilization of existing assets
## Key Concepts
OpenCloud instances expose a set of integrated services:
- **Resource Catalog** index and describe data, algorithms, compute units, storage, and workflows
- **Workspace Management** organize resources of interest into project-oriented workspaces
- **Workflow Editor** build distributed workflows and permanent services from catalog elements
- **Collaborative Areas** define rules and constraints for shared workspaces and workflows
- **Peer Management** configure trust relationships and access rights between peers and groups
These services together create a **cooperation framework** that covers both **technical** and **organizational/legal** aspects of distributed projects.
## Who Is OpenCloud For?
OpenCloud targets organizations that:
- Need to collaborate on **data- and compute-intensive projects**
- Care about **sovereignty, compliance, and resilience**
- Want to avoid **vendor lock-in** and opaque proprietary platforms
- Intend to run workloads **from datacenter to edge** and possibly on **public cloud** when appropriate
[Discover the Architecture →](/project/architecture)
[Explore Features and Benefits →](/project/features)

File diff suppressed because one or more lines are too long

17
content/project/faq.md Normal file
View File

@@ -0,0 +1,17 @@
+++
title = "FAQ"
+++
# Frequently Asked Questions
**Is OpenCloud a replacement for traditional cloud providers?**
It might be a substitute for some users with very strong privacy concerns, but generally it complements them by enabling sovereign interconnections between private clouds.
**Who controls the data?**
Each participant retains full control of its own resources and data flows.
**How is trust managed?**
Trust is peer-defined. Nodes explicitly accept or reject partnerships.
**Is the project open-source?**
Yes, under a permissive license — link available on the home page.

204
content/project/features.md Normal file
View File

@@ -0,0 +1,204 @@
+++
title = "Features & Benefits"
description = "Core services, collaboration capabilities, and strategic benefits of the OpenCloud distributed cloud fabric."
+++
# Features & Benefits
Each OpenCloud instance runs a collection of services that allow users to interact with their own deployment and with other OpenCloud participants.
Together, these services form a **federated cloud fabric** that is both technically powerful and strategically aligned with sovereignty goals.
---
## Core Services
### Resource Catalog
The **Resource Catalog** indexes all resources provided by an OpenCloud instance, including:
- **Data**
- **Algorithms**
- **Compute Units**
- **Storages**
- **Processing Workflows**
Every resource is described by metadata (see the `catalog_metadata` definition) and can be:
- **Public** visible to all OpenCloud peers
- **Restricted** visible only to selected partners, projects, entities, or groups
Access to specific resources may require:
- Credentials
- Payment
- Contractual or policy-based agreements
This catalog is the foundation for **discoverability, interoperability, and monetization** of resources.
---
### Workspace Management
Each OpenCloud user can create **workspaces** to organize resources of interest.
Within a workspace, users can:
- Aggregate data, algorithms, and compute/storage units from their own instance and from peers
- Prepare resources that will be used in **processing workflows** or **permanent services**
- Structure projects by theme, partner, or business objective
Workspaces make complex, multi-partner projects more manageable and traceable.
---
### Workflow Editor
Using resources collected in a workspace, users can build:
- **Distributed processing workflows**
- **Permanent services** running on top of the OpenCloud fabric
The **integrated workflow editor** provides a user-friendly interface to define and manage:
- Processing chains spanning multiple peers
- Data flows and storage locations
- Execution policies aligned with sovereignty, cost, or performance objectives
This enables **end-to-end distributed workflows** without central orchestration dependencies.
---
### Collaborative Areas
OpenCloud supports the creation of **Collaborative Areas**, where:
- Workspaces and workflows can be shared with selected partners
- Rules and constraints can be defined and enforced (automatically or via manual review)
Examples of rules include:
- Only **open-source components** allowed in the workflows
- **No personal data** allowed, or strict constraints on its use
- Specific **result visibility** and sharing policies
- **Legal and compliance limitations** tied to jurisdictions or contracts
Collaborative Areas provide a robust framework for **governed, multi-party collaboration**.
---
### Peer Management
OpenCloud allows you to define and manage relationships with other peers, enabling the creation of:
- Private communities of trusted partners
- Thematic or project-based federations
Access rights and trust levels can be configured:
- At a **global peer scope**
- For **specific groups** or communities within the peer network
This supports **fine-grained, community-aware access control** across the distributed cloud.
---
## Strategic Benefits
### Complete Control Over Data Location
OpenCloud encourages users to **host their own data**.
When external storage is required, OpenCloud allows you to:
- Carefully select **where** data is replicated
- Choose **which peers** can host copies
- Ensure **privacy, compliance, and performance** through data locality control
---
### Cooperation Framework
OpenCloud provides a structured **cooperation framework** that covers:
- **Data sharing and common workspaces**
- **Usage and access regulations**
- Alignment between **technical mechanisms** and **legal/contractual rules**
This framework is particularly suited for **cross-organization, regulated, or high-stakes projects**.
---
### Data Redundancy with Sovereignty
Like public clouds, OpenCloud supports **data redundancy** for availability and resilience.
However, it does so with **finer-grained control**:
- You decide on which peers and in which jurisdictions your data is replicated
- Redundancy policies can reflect **regulatory** or **strategic** constraints
---
### Hybrid Compatibility with Public Cloud
When workloads require **massive storage or computational capabilities** beyond what your peer network can provide, you can:
- Deploy an OpenCloud instance on a **public cloud provider**
- Use it as an extension of your federated infrastructure
- Offload **non-sensitive or non-strategic workloads** to public cloud capacity
This enables a **hybrid architecture** where sovereignty-sensitive workloads remain under your control, while others can scale on demand.
---
### Fine-Grained Access Control
OpenCloud offers **fine-grained access control** mechanisms that allow you to:
- Define **who** can access **what**, **from where**, and **under which conditions**
- Apply policies at the level of **resources, workspaces, collaborative areas, and peers**
- Combine **technical controls** with **organizational rules**
---
### Lightweight for Datacenter and Edge
The OpenCloud stack is developed in **Go**, generating:
- **Native binaries**
- Minimal **scratch containers**
All selected COTS components for OpenCloud services follow the same design philosophy.
As a result, OpenCloud can run:
- In **datacenters**, to support large-scale processing workflows
- On **ARM-based single-board computers**, to handle concurrent payloads such as:
- Sensor preprocessing
- Image recognition
- Data filtering
Graphical interfaces are implemented in **Flutter** and rendered as **HTML/JS**, enabling lightweight deployment with standard web technologies.
---
### Fully Distributed and Resilient
OpenCloud has a **fully distributed architecture**:
- No central administrator
- No central registry or authority
- No single point of failure
Partners can join or leave the network without disrupting the broader community, making the system inherently **resilient** and suitable for **long-lived collaborations**.
---
### Open Source and AGPL v3 Licensed
To foster trust and prevent opaque forks, OpenCloud is released as **open-source software** under the **AGPL v3** license.
This ensures that:
- The codebase remains **transparent and auditable**
- Contributions and modifications remain **aligned with the community**
- Closed, private forks cannot undermine the **trust and openness** of the ecosystem
The source code is publicly available for review, security audits, and community contributions.

View File

@@ -0,0 +1,18 @@
+++
title = "Governance"
+++
# Governance
OpenCloud promotes **transparent, community-driven governance**.
## Decision-Making Principles
- Shared control across contributors
- No dependency on a single vendor
- Long-term sustainability
## Participation
Any organization can:
- Host nodes
- Contribute code
- Join working groups

View File

@@ -0,0 +1,31 @@
+++
title = "Roadmap"
+++
## Proofs Of Concept
- 2019-2021: Distributed environemental data processin ecosystem
- 2021: Distributed Space Situation Awareness processing GUI demonstrator
- 2024: Distributed Digital twin factory infrastructure design
- 2025: Resilient and Sovereign Space Edge Computing System Orchestration
## Current Status
- Resource catalog: **Stable**
- Workflow editor: **Stable**
- Distributed Wokflow execution: **Functional**
- Shared workspaces: **Functional**
- Core P2P communication layer: **Under design**
- Resource sharing prototype: **Functional**
- Sovereignty rules engine: **In development**
- Web-based admin console: **In development**
- Services accounting and monitoring: **Under design**
## Next Milestones
- 2026 — Heterogeneous target deployment and operation
- 2026 — Monitoring, accounting and billing demonstration
## Future Evolutions
- Policy-driven data and processing placement
- Advanced cryptographic trust models