open-consul/contributing/overview.svg

1 line
21 KiB
XML

<svg id="graph-div" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="436" style="max-width: 509.265625px;" viewBox="0 0 509.265625 436"><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#graph-div .error-icon{fill:#552222;}#graph-div .error-text{fill:#552222;stroke:#552222;}#graph-div .edge-thickness-normal{stroke-width:2px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:#333333;stroke:#333333;}#graph-div .marker.cross{stroke:#333333;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#graph-div .cluster-label text{fill:#333;}#graph-div .cluster-label span{color:#333;}#graph-div .label text,#graph-div span{fill:#333;color:#333;}#graph-div .node rect,#graph-div .node circle,#graph-div .node ellipse,#graph-div .node polygon,#graph-div .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#graph-div .node .label{text-align:center;}#graph-div .node.clickable{cursor:pointer;}#graph-div .arrowheadPath{fill:#333333;}#graph-div .edgePath .path{stroke:#333333;stroke-width:1.5px;}#graph-div .flowchart-link{stroke:#333333;fill:none;}#graph-div .edgeLabel{background-color:#e8e8e8;text-align:center;}#graph-div .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#graph-div .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#graph-div .cluster text{fill:#333;}#graph-div .cluster span{color:#333;}#graph-div div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80,100%,96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#graph-div .node rect,#graph-div .er.entityBox{fill:rgb(220,71,125);stroke-width:1;stroke:black;}#graph-div .node .label{color:white;}#graph-div .cluster rect{fill:#f0f0f0;stroke-width:1px;stroke:#333;}#graph-div .edgeLabel{background-color:#f0f0f0;}#graph-div .er.entityBox + .er.entityLabel{fill:white;}#graph-div .er.attributeBoxEven,#graph-div .er.attributeBoxOdd{fill:#fff;stroke:#777;}#graph-div:root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><g class="output"><g class="clusters"></g><g class="edgePaths"><g class="edgePath LS-CLI LE-HTTPAPI" id="L-CLI-HTTPAPI" style="opacity: 1;"><path class="path" d="M458.4609375,52L458.4609375,56.166666666666664C458.4609375,60.333333333333336,458.4609375,68.66666666666667,458.4609375,77C458.4609375,85.33333333333333,458.4609375,93.66666666666667,458.4609375,97.83333333333333L458.4609375,102" marker-end="url(#arrowhead467)" style="fill:none"></path><defs><marker id="arrowhead467" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-HTTPAPI LE-ClientAgent" id="L-HTTPAPI-ClientAgent" style="opacity: 1;"><path class="path" d="M437.54155585106383,146L433.57955175088654,150.16666666666666C429.6175476507092,154.33333333333334,421.6935394503546,162.66666666666666,410.00283964982276,171C398.3121398492908,179.33333333333334,382.8547484485816,187.66666666666666,375.126052748227,191.83333333333334L367.39735704787233,196" marker-end="url(#arrowhead468)" style="fill:none"></path><defs><marker id="arrowhead468" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-HTTPAPI LE-ACL" id="L-HTTPAPI-ACL" style="opacity: 1;"><path class="path" d="M463.1417885638298,146L464.0283133865248,150.16666666666666C464.91483820921985,154.33333333333334,466.6878878546099,162.66666666666666,467.57441267730496,174.66666666666666C468.4609375,186.66666666666666,468.4609375,202.33333333333334,468.4609375,218C468.4609375,233.66666666666666,468.4609375,249.33333333333334,468.4609375,265C468.4609375,280.6666666666667,468.4609375,296.3333333333333,468.4609375,312C468.4609375,327.6666666666667,468.4609375,343.3333333333333,466.6878878546099,355.3333333333333C464.91483820921985,367.3333333333333,461.3687389184397,375.6666666666667,459.59568927304963,379.8333333333333L457.82263962765956,384" marker-end="url(#arrowhead469)" style="fill:none"></path><defs><marker id="arrowhead469" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-AgentConfiguration LE-ClientAgent" id="L-AgentConfiguration-ClientAgent" style="opacity: 1;"><path class="path" d="M284.1015625,146L284.1015625,150.16666666666666C284.1015625,154.33333333333334,284.1015625,162.66666666666666,287.8682541001773,171C291.6349457003546,179.33333333333334,299.16832890070924,187.66666666666666,302.93502050088654,191.83333333333334L306.70171210106383,196" marker-end="url(#arrowhead470)" style="fill:none"></path><defs><marker id="arrowhead470" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-ClientAgent LE-RPC" id="L-ClientAgent-RPC" style="opacity: 1;"><path class="path" d="M310.87790890957444,240L307.90216367464535,244.16666666666666C304.9264184397163,248.33333333333334,298.97492796985813,256.6666666666667,295.11265791223406,265C291.2503878546099,273.3333333333333,289.47733820921985,281.6666666666667,288.5908133865248,285.8333333333333L287.7042885638298,290" marker-end="url(#arrowhead471)" style="fill:none"></path><defs><marker id="arrowhead471" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-ClientAgent LE-ACL" id="L-ClientAgent-ACL" style="opacity: 1;"><path class="path" d="M367.39735704787233,240L375.126052748227,244.16666666666666C382.8547484485816,248.33333333333334,398.3121398492908,256.6666666666667,406.0408355496454,268.6666666666667C413.76953125,280.6666666666667,413.76953125,296.3333333333333,413.76953125,312C413.76953125,327.6666666666667,413.76953125,343.3333333333333,416.8450105274823,355.3333333333333C419.9204898049645,367.3333333333333,426.07144835992904,375.6666666666667,429.14692763741135,379.8333333333333L432.2224069148936,384" marker-end="url(#arrowhead472)" style="fill:none"></path><defs><marker id="arrowhead472" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-RPC LE-ClusterPersistence" id="L-RPC-ClusterPersistence" style="opacity: 1;"><path class="path" d="M274.16638962765956,334L272.4889184397163,338.1666666666667C270.811447251773,342.3333333333333,267.45650487588654,350.6666666666667,265.77903368794324,359C264.1015625,367.3333333333333,264.1015625,375.6666666666667,264.1015625,379.8333333333333L264.1015625,384" marker-end="url(#arrowhead473)" style="fill:none"></path><defs><marker id="arrowhead473" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-RPC LE-ACL" id="L-RPC-ACL" style="opacity: 1;"><path class="path" d="M306.9296875,324.3075606520902L318.1608072916667,330.08963387674186C329.3919270833333,335.8717071013935,351.8541666666667,347.4358535506967,371.5169270833333,358.56271893593C391.1796875,369.68958432116324,408.04296875,380.37916864232653,416.474609375,385.72396080290815L424.90625,391.0687529634898" marker-end="url(#arrowhead474)" style="fill:none"></path><defs><marker id="arrowhead474" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-MultiClusterFederation LE-ClusterMembership" id="L-MultiClusterFederation-ClusterMembership" style="opacity: 1;"><path class="path" d="M120.10430518617021,240L119.21778036347517,244.16666666666666C118.33125554078015,248.33333333333334,116.55820589539007,256.6666666666667,115.67168107269504,265C114.78515625,273.3333333333333,114.78515625,281.6666666666667,114.78515625,285.8333333333333L114.78515625,290" marker-end="url(#arrowhead475)" style="fill:none"></path><defs><marker id="arrowhead475" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-MultiClusterFederation LE-RPC" id="L-MultiClusterFederation-RPC" style="opacity: 1;"><path class="path" d="M167.33518949468086,240L175.39390791223408,244.16666666666666C183.45262632978725,248.33333333333334,199.57006316489364,256.6666666666667,214.8670628324468,265.88560157790926C230.1640625,275.1045364891519,244.640625,285.20907297830377,251.87890625,290.2613412228797L259.1171875,295.31360946745565" marker-end="url(#arrowhead476)" style="fill:none"></path><defs><marker id="arrowhead476" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-ServiceMesh LE-ServiceDiscovery" id="L-ServiceMesh-ServiceDiscovery" style="opacity: 1;"><path class="path" d="M80.2734375,52L80.2734375,56.166666666666664C80.2734375,60.333333333333336,80.2734375,68.66666666666667,80.2734375,77C80.2734375,85.33333333333333,80.2734375,93.66666666666667,80.2734375,97.83333333333333L80.2734375,102" marker-end="url(#arrowhead477)" style="fill:none"></path><defs><marker id="arrowhead477" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g></g><g class="edgeLabels"><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-CLI-HTTPAPI" class="edgeLabel L-LS-CLI' L-LE-HTTPAPI"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-HTTPAPI-ClientAgent" class="edgeLabel L-LS-HTTPAPI' L-LE-ClientAgent"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-HTTPAPI-ACL" class="edgeLabel L-LS-HTTPAPI' L-LE-ACL"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-AgentConfiguration-ClientAgent" class="edgeLabel L-LS-AgentConfiguration' L-LE-ClientAgent"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-ClientAgent-RPC" class="edgeLabel L-LS-ClientAgent' L-LE-RPC"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-ClientAgent-ACL" class="edgeLabel L-LS-ClientAgent' L-LE-ACL"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-RPC-ClusterPersistence" class="edgeLabel L-LS-RPC' L-LE-ClusterPersistence"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-RPC-ACL" class="edgeLabel L-LS-RPC' L-LE-ACL"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-MultiClusterFederation-ClusterMembership" class="edgeLabel L-LS-MultiClusterFederation' L-LE-ClusterMembership"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-MultiClusterFederation-RPC" class="edgeLabel L-LS-MultiClusterFederation' L-LE-RPC"></span></div></foreignObject></g></g><g class="edgeLabel" transform="" style="opacity: 1;"><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-ServiceMesh-ServiceDiscovery" class="edgeLabel L-LS-ServiceMesh' L-LE-ServiceDiscovery"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-ServiceMesh-1020" transform="translate(80.2734375,30)" style="opacity: 1;"><rect rx="0" ry="0" x="-55.90625" y="-22" width="111.8125" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-45.90625,-12)"><foreignObject width="91.8125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Service Mesh</div></foreignObject></g></g></g><g class="node default" id="flowchart-ServiceDiscovery-1021" transform="translate(80.2734375,124)" style="opacity: 1;"><rect rx="0" ry="0" x="-72.2734375" y="-22" width="144.546875" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-62.2734375,-12)"><foreignObject width="124.546875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Service Discovery</div></foreignObject></g></g></g><g class="node default" id="flowchart-ClusterMembership-1022" transform="translate(114.78515625,312)" style="opacity: 1;"><rect rx="0" ry="0" x="-80.765625" y="-22" width="161.53125" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-70.765625,-12)"><foreignObject width="141.53125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Cluster Membership</div></foreignObject></g></g></g><g class="node default" id="flowchart-KV-1023" transform="translate(286.7890625,30)" style="opacity: 1;"><rect rx="0" ry="0" x="-67.421875" y="-22" width="134.84375" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-57.421875,-12)"><foreignObject width="114.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Key/Value Store</div></foreignObject></g></g></g><g class="node default" id="flowchart-MultiClusterFederation-1024" transform="translate(124.78515625,218)" style="opacity: 1;"><rect rx="0" ry="0" x="-97.421875" y="-22" width="194.84375" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-87.421875,-12)"><foreignObject width="174.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Multi-Cluster Federation</div></foreignObject></g></g></g><g class="node default" id="flowchart-ACL-1025" transform="translate(448.4609375,406)" style="opacity: 1;"><rect rx="0" ry="0" x="-23.5546875" y="-22" width="47.109375" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-13.5546875,-12)"><foreignObject width="27.109375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">ACL</div></foreignObject></g></g></g><g class="node default" id="flowchart-AgentConfiguration-1026" transform="translate(284.1015625,124)" style="opacity: 1;"><rect rx="0" ry="0" x="-81.5546875" y="-22" width="163.109375" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-71.5546875,-12)"><foreignObject width="143.109375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Agent Configuration</div></foreignObject></g></g></g><g class="node default" id="flowchart-ClientAgent-1027" transform="translate(326.58984375,218)" style="opacity: 1;"><rect rx="0" ry="0" x="-54.3828125" y="-22" width="108.765625" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44.3828125,-12)"><foreignObject width="88.765625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Client Agent</div></foreignObject></g></g></g><g class="node default" id="flowchart-RPC-1028" transform="translate(283.0234375,312)" style="opacity: 1;"><rect rx="0" ry="0" x="-23.90625" y="-22" width="47.8125" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-13.90625,-12)"><foreignObject width="27.8125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">RPC</div></foreignObject></g></g></g><g class="node default" id="flowchart-ClusterPersistence-1029" transform="translate(264.1015625,406)" style="opacity: 1;"><rect rx="0" ry="0" x="-78.359375" y="-22" width="156.71875" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-68.359375,-12)"><foreignObject width="136.71875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Cluster Persistence</div></foreignObject></g></g></g><g class="node default" id="flowchart-CLI-1030" transform="translate(458.4609375,30)" style="opacity: 1;"><rect rx="0" ry="0" x="-21.0625" y="-22" width="42.125" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-11.0625,-12)"><foreignObject width="22.125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">CLI</div></foreignObject></g></g></g><g class="node default" id="flowchart-HTTPAPI-1031" transform="translate(458.4609375,124)" style="opacity: 1;"><rect rx="0" ry="0" x="-42.8046875" y="-22" width="85.609375" height="44" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-32.8046875,-12)"><foreignObject width="65.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">HTTP API</div></foreignObject></g></g></g></g></g></g></svg>