172 lines
11 KiB
XML
172 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 2.50.0 (20211204.2007)
|
|
-->
|
|
<!-- Title: Zuul CI/CD Security Design Pages: 1 -->
|
|
<svg width="361pt" height="740pt"
|
|
viewBox="0.00 0.00 361.49 739.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 735.5)">
|
|
<title>Zuul CI/CD Security Design</title>
|
|
<g id="clust1" class="cluster">
|
|
<title>cluster_k8</title>
|
|
<path fill="#e5f5fd" stroke="black" d="M20,-347.5C20,-347.5 335.49,-347.5 335.49,-347.5 341.49,-347.5 347.49,-353.5 347.49,-359.5 347.49,-359.5 347.49,-711.5 347.49,-711.5 347.49,-717.5 341.49,-723.5 335.49,-723.5 335.49,-723.5 20,-723.5 20,-723.5 14,-723.5 8,-717.5 8,-711.5 8,-711.5 8,-359.5 8,-359.5 8,-353.5 14,-347.5 20,-347.5"/>
|
|
<text text-anchor="middle" x="177.74" y="-711.5" font-family="Sans-Serif" font-size="10.00" fill="#2d3436">Kubernetes Cluster</text>
|
|
</g>
|
|
<g id="clust2" class="cluster">
|
|
<title>cluster_zuul</title>
|
|
<path fill="#e5f5fd" stroke="black" d="M28,-355.5C28,-355.5 182.49,-355.5 182.49,-355.5 188.49,-355.5 194.49,-361.5 194.49,-367.5 194.49,-367.5 194.49,-684.5 194.49,-684.5 194.49,-690.5 188.49,-696.5 182.49,-696.5 182.49,-696.5 28,-696.5 28,-696.5 22,-696.5 16,-690.5 16,-684.5 16,-684.5 16,-367.5 16,-367.5 16,-361.5 22,-355.5 28,-355.5"/>
|
|
<text text-anchor="middle" x="105.24" y="-684.5" font-family="Sans-Serif" font-size="10.00" fill="#2d3436">Zuul Namespace</text>
|
|
</g>
|
|
<g id="clust3" class="cluster">
|
|
<title>cluster_zk</title>
|
|
<path fill="#e5f5fd" stroke="black" d="M260.49,-456.5C260.49,-456.5 327.49,-456.5 327.49,-456.5 333.49,-456.5 339.49,-462.5 339.49,-468.5 339.49,-468.5 339.49,-581.5 339.49,-581.5 339.49,-587.5 333.49,-593.5 327.49,-593.5 327.49,-593.5 260.49,-593.5 260.49,-593.5 254.49,-593.5 248.49,-587.5 248.49,-581.5 248.49,-581.5 248.49,-468.5 248.49,-468.5 248.49,-462.5 254.49,-456.5 260.49,-456.5"/>
|
|
<text text-anchor="middle" x="293.99" y="-581.5" font-family="Sans-Serif" font-size="10.00" fill="#2d3436">Zuul Namespace</text>
|
|
</g>
|
|
<!-- git -->
|
|
<g id="node1" class="node">
|
|
<title>git</title>
|
|
<image xlink:href="../_images/git.png" width="72px" height="72px" preserveAspectRatio="xMinYMin meet" x="257.486" y="-205.5"/>
|
|
<text text-anchor="middle" x="293.49" y="-122" font-family="Times,serif" font-size="10.00">Git Provider</text>
|
|
</g>
|
|
<!-- db -->
|
|
<g id="node2" class="node">
|
|
<title>db</title>
|
|
<image xlink:href="../_images/postgresql.png" width="72px" height="72px" preserveAspectRatio="xMinYMin meet" x="257.486" y="-324.5"/>
|
|
<text text-anchor="middle" x="293.49" y="-241" font-family="Times,serif" font-size="10.00">SQL Database</text>
|
|
</g>
|
|
<!-- cloud -->
|
|
<g id="node3" class="node">
|
|
<title>cloud</title>
|
|
<image xlink:href="../_images/openstack.png" width="72px" height="72px" preserveAspectRatio="xMinYMin meet" x="257.486" y="-86.5"/>
|
|
<text text-anchor="middle" x="293.49" y="-3" font-family="Times,serif" font-size="10.00">Clouds resources</text>
|
|
</g>
|
|
<!-- zuul-web -->
|
|
<g id="node4" class="node">
|
|
<title>zuul-web</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-597.5" rx="45.49" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-593.8" font-family="Times,serif" font-size="14.00">Zuul Web</text>
|
|
</g>
|
|
<!-- zuul-web->db -->
|
|
<g id="edge9" class="edge">
|
|
<title>zuul-web->db</title>
|
|
<path fill="none" stroke="black" d="M150.35,-594.4C166.73,-590.9 183.88,-583.97 194.49,-570.5 217.48,-541.29 191.51,-438.34 204.49,-403.5 214.52,-376.55 233.16,-350.73 250.71,-330.4"/>
|
|
<polygon fill="black" stroke="black" points="253.35,-332.69 257.36,-322.89 248.11,-328.05 253.35,-332.69"/>
|
|
<text text-anchor="middle" x="217.49" y="-406.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- zookeeper -->
|
|
<g id="node5" class="node">
|
|
<title>zookeeper</title>
|
|
<image xlink:href="../_images/zookeeper.png" width="72px" height="72px" preserveAspectRatio="xMinYMin meet" x="257.486" y="-551.5"/>
|
|
<text text-anchor="middle" x="293.49" y="-468" font-family="Times,serif" font-size="10.00">Zookeeper</text>
|
|
</g>
|
|
<!-- zuul-web->zookeeper -->
|
|
<g id="edge1" class="edge">
|
|
<title>zuul-web->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M143.8,-587.93C159.71,-583.39 178.28,-577.43 194.49,-570.5 212.65,-562.73 231.77,-552.5 248.26,-542.98"/>
|
|
<polygon fill="red" stroke="red" points="250.27,-545.86 257.12,-537.78 246.73,-539.82 250.27,-545.86"/>
|
|
<text text-anchor="middle" x="217.49" y="-568.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- zuul-merger -->
|
|
<g id="node6" class="node">
|
|
<title>zuul-merger</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-543.5" rx="55.79" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-539.8" font-family="Times,serif" font-size="14.00">Zuul Merger</text>
|
|
</g>
|
|
<!-- zuul-merger->git -->
|
|
<g id="edge7" class="edge">
|
|
<title>zuul-merger->git</title>
|
|
<path fill="none" stroke="blue" d="M159.12,-538.2C172.63,-534.24 185.78,-527.59 194.49,-516.5 206.31,-501.45 200.49,-363.22 204.49,-344.5 216,-290.58 221.97,-276.85 248.49,-228.5 249.56,-226.54 250.69,-224.58 251.87,-222.62"/>
|
|
<polygon fill="blue" stroke="blue" points="254.89,-224.38 257.28,-214.06 248.98,-220.64 254.89,-224.38"/>
|
|
<text text-anchor="middle" x="217.49" y="-347.1" font-family="Times,serif" font-size="8.00">SSH</text>
|
|
</g>
|
|
<!-- zuul-merger->zookeeper -->
|
|
<g id="edge2" class="edge">
|
|
<title>zuul-merger->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M156.15,-536C184.53,-531.73 219.78,-526.43 247.33,-522.29"/>
|
|
<polygon fill="red" stroke="red" points="248.12,-525.71 257.48,-520.76 247.07,-518.79 248.12,-525.71"/>
|
|
<text text-anchor="middle" x="217.49" y="-531.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- zuul-executor -->
|
|
<g id="node7" class="node">
|
|
<title>zuul-executor</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-381.5" rx="61.99" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-377.8" font-family="Times,serif" font-size="14.00">Zuul Executor</text>
|
|
</g>
|
|
<!-- zuul-executor->git -->
|
|
<g id="edge8" class="edge">
|
|
<title>zuul-executor->git</title>
|
|
<path fill="none" stroke="blue" d="M110.98,-363.54C121.52,-327.07 150.35,-243.94 204.49,-198.5 216.6,-188.33 232.39,-181.7 247.24,-177.38"/>
|
|
<polygon fill="blue" stroke="blue" points="248.53,-180.66 257.32,-174.75 246.76,-173.89 248.53,-180.66"/>
|
|
<text text-anchor="middle" x="217.49" y="-201.1" font-family="Times,serif" font-size="8.00">SSH</text>
|
|
</g>
|
|
<!-- zuul-executor->cloud -->
|
|
<g id="edge12" class="edge">
|
|
<title>zuul-executor->cloud</title>
|
|
<path fill="none" stroke="blue" d="M106.72,-363.33C109.08,-311.48 122.97,-161.33 204.49,-79.5 215.94,-68 232.04,-61.06 247.33,-56.87"/>
|
|
<polygon fill="blue" stroke="blue" points="248.31,-60.24 257.22,-54.5 246.67,-53.43 248.31,-60.24"/>
|
|
<text text-anchor="middle" x="217.49" y="-82.1" font-family="Times,serif" font-size="8.00">SSH</text>
|
|
</g>
|
|
<!-- zuul-executor->zookeeper -->
|
|
<g id="edge3" class="edge">
|
|
<title>zuul-executor->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M156.35,-391.82C169.37,-395.81 182.97,-401.23 194.49,-408.5 215.55,-421.8 234.96,-440.78 250.85,-459.08"/>
|
|
<polygon fill="red" stroke="red" points="248.31,-461.49 257.44,-466.86 253.65,-456.97 248.31,-461.49"/>
|
|
<text text-anchor="middle" x="217.49" y="-438.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- zuul-scheduler -->
|
|
<g id="node8" class="node">
|
|
<title>zuul-scheduler</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-651.5" rx="64.99" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-647.8" font-family="Times,serif" font-size="14.00">Zuul Scheduler</text>
|
|
</g>
|
|
<!-- zuul-scheduler->zookeeper -->
|
|
<g id="edge4" class="edge">
|
|
<title>zuul-scheduler->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M157.77,-640.83C170.37,-636.87 183.41,-631.56 194.49,-624.5 215.61,-611.03 234.97,-591.8 250.81,-573.24"/>
|
|
<polygon fill="red" stroke="red" points="253.68,-575.27 257.38,-565.34 248.3,-570.79 253.68,-575.27"/>
|
|
<text text-anchor="middle" x="217.49" y="-617.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- nodepool-launcher -->
|
|
<g id="node9" class="node">
|
|
<title>nodepool-launcher</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-489.5" rx="81.49" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-485.8" font-family="Times,serif" font-size="14.00">Nodepool Launcher</text>
|
|
</g>
|
|
<!-- nodepool-launcher->cloud -->
|
|
<g id="edge10" class="edge">
|
|
<title>nodepool-launcher->cloud</title>
|
|
<path fill="none" stroke="green" d="M172.8,-479.26C181.21,-475.29 188.83,-469.87 194.49,-462.5 214.24,-436.74 193.98,-201.22 204.49,-170.5 209.71,-155.21 230.84,-126.22 251.07,-100.57"/>
|
|
<polygon fill="green" stroke="green" points="253.82,-102.74 257.31,-92.73 248.34,-98.38 253.82,-102.74"/>
|
|
<text text-anchor="middle" x="217.49" y="-173.1" font-family="Times,serif" font-size="8.00">HTTPS</text>
|
|
</g>
|
|
<!-- nodepool-launcher->zookeeper -->
|
|
<g id="edge5" class="edge">
|
|
<title>nodepool-launcher->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M174.94,-498.8C193.01,-501.27 212.48,-503.96 230.49,-506.5 235.94,-507.27 241.66,-508.09 247.33,-508.9"/>
|
|
<polygon fill="red" stroke="red" points="247.01,-512.39 257.41,-510.36 248.01,-505.46 247.01,-512.39"/>
|
|
<text text-anchor="middle" x="217.49" y="-509.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
<!-- nodepool-builder -->
|
|
<g id="node10" class="node">
|
|
<title>nodepool-builder</title>
|
|
<ellipse fill="none" stroke="black" cx="105.24" cy="-435.5" rx="74.19" ry="18"/>
|
|
<text text-anchor="middle" x="105.24" y="-431.8" font-family="Times,serif" font-size="14.00">Nodepool Builder</text>
|
|
</g>
|
|
<!-- nodepool-builder->cloud -->
|
|
<g id="edge11" class="edge">
|
|
<title>nodepool-builder->cloud</title>
|
|
<path fill="none" stroke="green" d="M170.17,-426.45C179.61,-422.39 188.25,-416.64 194.49,-408.5 214.17,-382.83 189.63,-146.24 204.49,-117.5 209.75,-107.32 229.23,-92.07 248.53,-78.69"/>
|
|
<polygon fill="green" stroke="green" points="250.74,-81.42 257.03,-72.9 246.8,-75.63 250.74,-81.42"/>
|
|
<text text-anchor="middle" x="217.49" y="-120.1" font-family="Times,serif" font-size="8.00">HTTPS</text>
|
|
</g>
|
|
<!-- nodepool-builder->zookeeper -->
|
|
<g id="edge6" class="edge">
|
|
<title>nodepool-builder->zookeeper</title>
|
|
<path fill="none" stroke="red" d="M155.87,-448.79C168.63,-452.72 182.22,-457.37 194.49,-462.5 212.7,-470.12 231.98,-480.1 248.57,-489.33"/>
|
|
<polygon fill="red" stroke="red" points="247.05,-492.5 257.48,-494.37 250.5,-486.4 247.05,-492.5"/>
|
|
<text text-anchor="middle" x="217.49" y="-482.1" font-family="Times,serif" font-size="8.00">TLS</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|