consul/contributing/overview.svg

1 line
16 KiB
XML

<svg id="mermaid-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="318" style="max-width: 648.5px;" viewBox="0 0 648.5 318"><style>#mermaid-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg .error-icon{fill:#552222;}#mermaid-svg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg .edge-thickness-normal{stroke-width:2px;}#mermaid-svg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg .marker{fill:#333333;stroke:#333333;}#mermaid-svg .marker.cross{stroke:#333333;}#mermaid-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg .cluster-label text{fill:#333;}#mermaid-svg .cluster-label span{color:#333;}#mermaid-svg .label text,#mermaid-svg span{fill:#333;color:#333;}#mermaid-svg .node rect,#mermaid-svg .node circle,#mermaid-svg .node ellipse,#mermaid-svg .node polygon,#mermaid-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg .node .label{text-align:center;}#mermaid-svg .node.clickable{cursor:pointer;}#mermaid-svg .arrowheadPath{fill:#333333;}#mermaid-svg .edgePath .path{stroke:#333333;stroke-width:1.5px;}#mermaid-svg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg .cluster text{fill:#333;}#mermaid-svg .cluster span{color:#333;}#mermaid-svg 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;}#mermaid-svg .node rect{fill:rgb(220,71,125);stroke-width:1;stroke:black;}#mermaid-svg .node .label{color:white;}#mermaid-svg: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-AgentConfiguration LE-ClientAgent" id="L-AgentConfiguration-ClientAgent" style="opacity: 1;"><path class="path" d="M559.5,46L559.5,50.166666666666664C559.5,54.333333333333336,559.5,62.666666666666664,559.5,71C559.5,79.33333333333333,559.5,87.66666666666667,559.5,91.83333333333333L559.5,96" marker-end="url(#arrowhead24)" style="fill:none"></path><defs><marker id="arrowhead24" 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="M546.0056818181819,134L543.0464015151516,138.16666666666666C540.0871212121212,142.33333333333334,534.1685606060606,150.66666666666666,522.8342803030304,159.57288317256163C511.5,168.47909967845658,494.75,177.95819935691316,486.375,182.69774919614147L478,187.43729903536976" marker-end="url(#arrowhead25)" style="fill:none"></path><defs><marker id="arrowhead25" 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="M563.8181818181819,134L564.7651515151516,138.16666666666666C565.7121212121212,142.33333333333334,567.6060606060606,150.66666666666666,568.5530303030304,162.16666666666666C569.5,173.66666666666666,569.5,188.33333333333334,569.5,203C569.5,217.66666666666666,569.5,232.33333333333334,568.5530303030304,243.83333333333334C567.6060606060606,255.33333333333334,565.7121212121212,263.6666666666667,564.7651515151516,267.8333333333333L563.8181818181819,272" marker-end="url(#arrowhead26)" style="fill:none"></path><defs><marker id="arrowhead26" 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="M430.42045454545456,222L426.0170454545455,226.16666666666666C421.6136363636363,230.33333333333334,412.8068181818182,238.66666666666666,408.40340909090907,247C404,255.33333333333334,404,263.6666666666667,404,267.8333333333333L404,272" marker-end="url(#arrowhead27)" style="fill:none"></path><defs><marker id="arrowhead27" 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="M478,218.56270096463024L486.375,223.30225080385853C494.75,228.04180064308684,511.5,237.52090032154342,522.8342803030304,246.42711682743837C534.1685606060606,255.33333333333334,540.0871212121212,263.6666666666667,543.0464015151516,267.8333333333333L546.0056818181819,272" marker-end="url(#arrowhead28)" style="fill:none"></path><defs><marker id="arrowhead28" 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="M297.75,134L296.7083333333333,138.16666666666666C295.6666666666667,142.33333333333334,293.5833333333333,150.66666666666666,292.5416666666667,159C291.5,167.33333333333334,291.5,175.66666666666666,291.5,179.83333333333334L291.5,184" marker-end="url(#arrowhead29)" style="fill:none"></path><defs><marker id="arrowhead29" 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="M336.82954545454544,134L344.3579545454545,138.16666666666666C351.8863636363637,142.33333333333334,366.9431818181818,150.66666666666666,381.30492424242425,159.22262773722628C395.6666666666667,167.7785888077859,409.3333333333333,176.55717761557176,416.1666666666667,180.94647201946472L423,185.33576642335765" marker-end="url(#arrowhead30)" style="fill:none"></path><defs><marker id="arrowhead30" 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="M82.5,46L82.5,50.166666666666664C82.5,54.333333333333336,82.5,62.666666666666664,82.5,71C82.5,79.33333333333333,82.5,87.66666666666667,82.5,91.83333333333333L82.5,96" marker-end="url(#arrowhead31)" style="fill:none"></path><defs><marker id="arrowhead31" 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-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-26" transform="translate(82.5,27)" style="opacity: 1;"><rect rx="0" ry="0" x="-58.5" y="-19" width="117" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-48.5,-9)"><foreignObject width="97" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Sercice Mesh</div></foreignObject></g></g></g><g class="node default" id="flowchart-ServiceDiscovery-27" transform="translate(82.5,115)" style="opacity: 1;"><rect rx="0" ry="0" x="-74.5" y="-19" width="149" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-64.5,-9)"><foreignObject width="129" height="18"><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-28" transform="translate(291.5,203)" style="opacity: 1;"><rect rx="0" ry="0" x="-81.5" y="-19" width="163" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-71.5,-9)"><foreignObject width="143" height="18"><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-29" transform="translate(338.5,27)" style="opacity: 1;"><rect rx="0" ry="0" x="-67.5" y="-19" width="135" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-57.5,-9)"><foreignObject width="115" height="18"><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-30" transform="translate(302.5,115)" style="opacity: 1;"><rect rx="0" ry="0" x="-95.5" y="-19" width="191" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-85.5,-9)"><foreignObject width="171" height="18"><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-31" transform="translate(559.5,291)" style="opacity: 1;"><rect rx="0" ry="0" x="-26" y="-19" width="52" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-16,-9)"><foreignObject width="32" height="18"><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-32" transform="translate(559.5,27)" style="opacity: 1;"><rect rx="0" ry="0" x="-81" y="-19" width="162" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-71,-9)"><foreignObject width="142" height="18"><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-33" transform="translate(559.5,115)" style="opacity: 1;"><rect rx="0" ry="0" x="-54" y="-19" width="108" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44,-9)"><foreignObject width="88" height="18"><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-34" transform="translate(450.5,203)" style="opacity: 1;"><rect rx="0" ry="0" x="-27.5" y="-19" width="55" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-17.5,-9)"><foreignObject width="35" height="18"><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-35" transform="translate(404,291)" style="opacity: 1;"><rect rx="0" ry="0" x="-79.5" y="-19" width="159" height="38" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-69.5,-9)"><foreignObject width="139" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Cluster Persistence</div></foreignObject></g></g></g></g></g></g></svg>