mirror of https://github.com/docker/docs.git
Switch to new cert model
We'll use two isolated root certificates to allow access control between orca and swarm.
This commit is contained in:
parent
6e5af30036
commit
a64270a11c
428
certs.svg
428
certs.svg
|
@ -1,428 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="297mm"
|
|
||||||
height="210mm"
|
|
||||||
viewBox="0 0 1052.3622 744.09448"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="certs.svg"
|
|
||||||
inkscape:export-filename="/home/daniel/code/docker/orca/docs/certs.png"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-ydpi="90">
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0.0"
|
|
||||||
refX="0.0"
|
|
||||||
id="Arrow1Lend"
|
|
||||||
style="overflow:visible;"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
id="path8309"
|
|
||||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
|
||||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
|
||||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lstart"
|
|
||||||
orient="auto"
|
|
||||||
refY="0.0"
|
|
||||||
refX="0.0"
|
|
||||||
id="Arrow1Lstart"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
id="path8306"
|
|
||||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
|
||||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
|
|
||||||
transform="scale(0.8) translate(12.5,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Lend-6"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path8309-7"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
||||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Lend-5"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path8309-4"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
||||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Lend-3"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path8309-0"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
||||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Lend-0"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path8309-3"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
||||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Lend-4"
|
|
||||||
style="overflow:visible"
|
|
||||||
inkscape:isstock="true">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path8309-76"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
|
||||||
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
|
|
||||||
</marker>
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="0.98994949"
|
|
||||||
inkscape:cx="496.26316"
|
|
||||||
inkscape:cy="271.4965"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:window-width="2558"
|
|
||||||
inkscape:window-height="1438"
|
|
||||||
inkscape:window-x="2560"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="0" />
|
|
||||||
<metadata
|
|
||||||
id="metadata7">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-308.26772)">
|
|
||||||
<path
|
|
||||||
style="fill:#80ffa2;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 614.17274,689.71744 c 85.86297,-13.13198 84.85282,-45.45686 88.89343,-87.88327 4.04061,-42.42641 -13.13199,-73.74113 -51.51778,-111.11678 C 613.16259,453.34175 502.04581,384.65137 422.24376,372.52954 342.44171,360.40771 141.42135,344.24527 117.17769,375.56 c -24.243658,31.31473 -13.13198,107.07617 12.12183,134.35029 25.25381,27.27412 108.08633,119.198 143.44166,145.46197 35.35534,26.26397 216.32648,31.32727 265.67013,35.35533 49.49747,4.04062 75.76143,-1.01015 75.76143,-1.01015 z"
|
|
||||||
id="path13131"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
sodipodi:nodetypes="csssssssc" />
|
|
||||||
<g
|
|
||||||
id="g7274"
|
|
||||||
transform="translate(-385.87828,-24.243661)">
|
|
||||||
<rect
|
|
||||||
ry="5.3662186"
|
|
||||||
y="413.01773"
|
|
||||||
x="519.30054"
|
|
||||||
height="103.88154"
|
|
||||||
width="259.44501"
|
|
||||||
id="rect7268"
|
|
||||||
style="opacity:0.8;fill:#809cff;fill-opacity:1;fill-rule:evenodd;stroke:#0c32b1;stroke-width:2.16418409;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270"
|
|
||||||
y="477.69897"
|
|
||||||
x="648.17712"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="477.69897"
|
|
||||||
x="648.17712"
|
|
||||||
id="tspan7272"
|
|
||||||
sodipodi:role="line">Orca Root CA</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g8188"
|
|
||||||
transform="translate(-91.923882,164.65486)">
|
|
||||||
<rect
|
|
||||||
ry="5.3496757"
|
|
||||||
y="520.75909"
|
|
||||||
x="115.90468"
|
|
||||||
height="103.56129"
|
|
||||||
width="342.96741"
|
|
||||||
id="rect7268-0"
|
|
||||||
style="opacity:0.8;fill:#809cff;fill-opacity:1;fill-rule:evenodd;stroke:#0c32b1;stroke-width:2.48443413;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-7"
|
|
||||||
y="563.71283"
|
|
||||||
x="287.3371"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="563.71283"
|
|
||||||
x="287.3371"
|
|
||||||
id="tspan7272-9"
|
|
||||||
sodipodi:role="line">Orca intermediate</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="607.46283"
|
|
||||||
x="287.3371"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8182"> CA</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g8253"
|
|
||||||
transform="translate(661.64992,-330.31988)">
|
|
||||||
<rect
|
|
||||||
ry="5.3662186"
|
|
||||||
y="689.29443"
|
|
||||||
x="10.688697"
|
|
||||||
height="103.88154"
|
|
||||||
width="259.44501"
|
|
||||||
id="rect7268-8"
|
|
||||||
style="opacity:0.8;fill:#80f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#0ca3b1;stroke-width:2.16400003;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-70"
|
|
||||||
y="732.10071"
|
|
||||||
x="139.56528"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="732.10071"
|
|
||||||
x="139.56528"
|
|
||||||
id="tspan7272-8"
|
|
||||||
sodipodi:role="line">Orca server</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="775.85071"
|
|
||||||
x="139.56528"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8231">cert</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g8247"
|
|
||||||
transform="translate(-228.29447,172.73609)">
|
|
||||||
<rect
|
|
||||||
ry="5.3662186"
|
|
||||||
y="685.25385"
|
|
||||||
x="280.39941"
|
|
||||||
height="103.88154"
|
|
||||||
width="259.44501"
|
|
||||||
id="rect7268-8-2"
|
|
||||||
style="opacity:0.8;fill:#80f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#0ca3b1;stroke-width:2.16400003;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-70-4"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
id="tspan7272-8-5"
|
|
||||||
sodipodi:role="line">Orca normal</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="772.11774"
|
|
||||||
x="409.276"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8233">User Cert</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g8225"
|
|
||||||
transform="translate(-287.89348,17.172593)">
|
|
||||||
<rect
|
|
||||||
ry="5.3429713"
|
|
||||||
y="524.86462"
|
|
||||||
x="560.94177"
|
|
||||||
height="103.4315"
|
|
||||||
width="380.21326"
|
|
||||||
id="rect7268-0-5"
|
|
||||||
style="opacity:0.8;fill:#809cff;fill-opacity:1;fill-rule:evenodd;stroke:#0c32b1;stroke-width:2.61422157;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-7-6"
|
|
||||||
y="567.75348"
|
|
||||||
x="750.82623"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="567.75348"
|
|
||||||
x="750.82623"
|
|
||||||
id="tspan7272-9-4"
|
|
||||||
sodipodi:role="line">Swarm intermediate</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="611.50348"
|
|
||||||
x="750.82623"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8182-0"> CA</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(404.06103,29.294419)"
|
|
||||||
id="g8247-6">
|
|
||||||
<rect
|
|
||||||
ry="5.3662186"
|
|
||||||
y="685.25385"
|
|
||||||
x="280.39941"
|
|
||||||
height="103.88154"
|
|
||||||
width="259.44501"
|
|
||||||
id="rect7268-8-2-9"
|
|
||||||
style="opacity:0.8;fill:#80f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#0ca3b1;stroke-width:2.16400003;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-70-4-4"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
id="tspan7272-8-5-0"
|
|
||||||
sodipodi:role="line">swarm server</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="772.11774"
|
|
||||||
x="409.276"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8233-5">Cert</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(431.33515,-209.10159)"
|
|
||||||
id="g8247-9">
|
|
||||||
<rect
|
|
||||||
ry="5.3662186"
|
|
||||||
y="685.25385"
|
|
||||||
x="280.39941"
|
|
||||||
height="103.88154"
|
|
||||||
width="259.44501"
|
|
||||||
id="rect7268-8-2-8"
|
|
||||||
style="opacity:0.8;fill:#80f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#0ca3b1;stroke-width:2.16400003;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7270-70-4-7"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="728.36774"
|
|
||||||
x="409.276"
|
|
||||||
id="tspan7272-8-5-8"
|
|
||||||
sodipodi:role="line">Orca admin</tspan><tspan
|
|
||||||
style="font-size:35px;text-align:center;text-anchor:middle"
|
|
||||||
y="772.11774"
|
|
||||||
x="409.276"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8233-0">User Cert</tspan></text>
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
|
|
||||||
d="m 185.92803,857.98994 5.44853,-69.0147"
|
|
||||||
id="path8300"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#g8247"
|
|
||||||
inkscape:connection-end="#g8188" />
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)"
|
|
||||||
d="M 672.33862,418.08836 392.86726,433.5418"
|
|
||||||
id="path8300-2"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-end="#g7274"
|
|
||||||
inkscape:connection-start="#g8253" />
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-5)"
|
|
||||||
d="M 207.28496,685.41395 251.28775,492.65561"
|
|
||||||
id="path8300-3"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-end="#g7274"
|
|
||||||
inkscape:connection-start="#g8188" />
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-3)"
|
|
||||||
d="M 395.56604,542.03722 331.02772,492.65561"
|
|
||||||
id="path8300-5"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-end="#g7274"
|
|
||||||
inkscape:connection-start="#g8225" />
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
|
|
||||||
d="M 708.63079,714.54826 568.24982,645.46872"
|
|
||||||
id="path8300-0"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#g8247-6"
|
|
||||||
inkscape:connection-end="#g8225" />
|
|
||||||
<path
|
|
||||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-4)"
|
|
||||||
d="m 711.73456,508.49303 -318.8673,-48.1782"
|
|
||||||
id="path8300-24"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-end="#g7274"
|
|
||||||
inkscape:connection-start="#g8247-9" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
x="393.15237"
|
|
||||||
y="531.00171"
|
|
||||||
id="text13133"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan13135"
|
|
||||||
x="393.15237"
|
|
||||||
y="531.00171"
|
|
||||||
style="font-size:25px">Swarm Trusted CAs</tspan></text>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 18 KiB |
|
@ -3,17 +3,13 @@
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
## Known gaps
|
||||||
|
|
||||||
|
* Swarm must talk to consul with TLS enabled - https://github.com/docker/swarm/issues/404 - slated for 1.9
|
||||||
|
|
||||||
## Open Questions
|
## Open Questions
|
||||||
|
|
||||||
* Can Swarm talk to consul with TLS enabled?
|
* Can we get admin user certs signed by the swarm CA to work? If not, admins will have to deal with dual certs for swarm+orca access.
|
||||||
* ~~Can we use a single root CA and intermediate CA certs for orca/swarm?~~ - Yes!
|
|
||||||
* ~~Should the bootstrapper container contain the other images within?~~ - no, too bloated
|
|
||||||
* ~~Should we link all our containers, or wire them up based on the punched through IP/ports?~~ - It's not ready yet
|
|
||||||
* ~~DB Clustering/HA?~~ - Not for v1
|
|
||||||
* ~~What KV store (swarm discovery backend) should we use?~~ - Use single node consul for v1
|
|
||||||
* ~~How far away is core orca from supporting multiple swarms?~~ not for v1
|
|
||||||
* ~~Does it make sense to append the Orca CA certificates to the local system's trusted certs?~~ Give fingerprint instead
|
|
||||||
|
|
||||||
|
|
||||||
## Assumptions
|
## Assumptions
|
||||||
|
|
||||||
|
@ -21,19 +17,18 @@
|
||||||
* We wont use data volume containers, but instead host volume mounts
|
* We wont use data volume containers, but instead host volume mounts
|
||||||
* Our goal is to get as close to a full end-to-end deployment as possible (from bare-metal up to orca)
|
* Our goal is to get as close to a full end-to-end deployment as possible (from bare-metal up to orca)
|
||||||
* Advanced customers may be able to cherry-pick, but that's not the focus in v1
|
* Advanced customers may be able to cherry-pick, but that's not the focus in v1
|
||||||
|
* We'll deploy an internal consul instance for swarm (not HA)
|
||||||
* Bare-metal ISO based installer not (yet) covered in this document
|
* Bare-metal ISO based installer not (yet) covered in this document
|
||||||
* Swarm requires a common single CA "on both sides" (incoming client communication and outgoing engine communication)
|
* Swarm requires a common single CA "on both sides" (incoming client communication and outgoing engine communication)
|
||||||
* Swarm Managers must have visibility to all the engines (or proxies) and be secured with TLS. All Engines/Proxies must trust the CA who signed the swarm cert
|
* Swarm Managers must have visibility to all the engines (or proxies) and be secured with TLS. All Engines/Proxies must trust the CA who signed the swarm cert
|
||||||
* Swarm manager and docker proxy may fold into one component, but this shouldn't fundamentally change the flow
|
* Swarm manager and docker proxy may fold into one component, but this shouldn't fundamentally change the flow
|
||||||
* We'll "own" an internal root CA with intermediaries for orca/swarm to provide access control
|
* We'll "own" two internal root CAs for orca/swarm to provide access control
|
||||||
* Admin users certs will be signed by the root so they have swarm access, regular users by the orca intermediate so they do not have swarm access
|
|
||||||
* Set up so that certs can be replaced post v1
|
* Set up so that certs can be replaced post v1
|
||||||
* We'll store the certs in a host volume mount
|
* We'll store the certs in a host volume mount
|
||||||
* The volume could be swapped out for a keywhiz volume mount in the future (unclear if we can write to it though...)
|
* The volume could be swapped out for a keywhiz volume mount in the future (unclear if we can write to it though...)
|
||||||
* Laying the groundwork of a central CA for our managed swarm will enable keywhiz for secret management post v1
|
* Laying the groundwork of a central CA for our managed swarm will enable keywhiz for secret management post v1
|
||||||
* Installation logic should be idempotent, and not clobber any pertinent state unless the user asks us to
|
* Installation logic should be idempotent, and not clobber any pertinent state unless the user asks us to
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
## User Entrypoint
|
## User Entrypoint
|
||||||
|
@ -100,9 +95,8 @@ docker run --rm -t \
|
||||||
7. Stop any existing orca containers already running on the host
|
7. Stop any existing orca containers already running on the host
|
||||||
8. (conditional) clobber existing state if requested
|
8. (conditional) clobber existing state if requested
|
||||||
9. Generate Root CA and certs if not present in host volume path: /etc/docker/ssl/orca
|
9. Generate Root CA and certs if not present in host volume path: /etc/docker/ssl/orca
|
||||||
* root Orca CA cert
|
* Orca CA cert
|
||||||
* Intermediat Orca CA cert
|
* Swarm CA cert
|
||||||
* Intermediat Swarm CA cert
|
|
||||||
10. Generate cert for proxy/swarm manager signed by Swarm CA
|
10. Generate cert for proxy/swarm manager signed by Swarm CA
|
||||||
11. Deploy proxy with random exposed port
|
11. Deploy proxy with random exposed port
|
||||||
12. Verify we can see the proxy we just deployed using the engines external IP
|
12. Verify we can see the proxy we just deployed using the engines external IP
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 46 KiB |
|
@ -198,6 +198,21 @@
|
||||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
transform="scale(0.6,0.6)" />
|
transform="scale(0.6,0.6)" />
|
||||||
</marker>
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="SemiCircleIn"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="SemiCircleIn-6-5"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path8311-7-3"
|
||||||
|
d="m -0.37450702,-0.04569258 c 0,2.75999998 2.24000002,4.99999998 5.00000002,4.99999998 l 0,-10 c -2.76,0 -5.00000002,2.24 -5.00000002,5.00000002 z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="scale(0.6,0.6)" />
|
||||||
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
id="base"
|
id="base"
|
||||||
|
@ -207,15 +222,15 @@
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="1.4"
|
inkscape:zoom="1.4"
|
||||||
inkscape:cx="496.34153"
|
inkscape:cx="378.33262"
|
||||||
inkscape:cy="347.37255"
|
inkscape:cy="426.09652"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:window-width="2558"
|
inkscape:window-width="1918"
|
||||||
inkscape:window-height="1438"
|
inkscape:window-height="1061"
|
||||||
inkscape:window-x="2560"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="17"
|
||||||
inkscape:window-maximized="0" />
|
inkscape:window-maximized="0" />
|
||||||
<metadata
|
<metadata
|
||||||
id="metadata7">
|
id="metadata7">
|
||||||
|
@ -237,17 +252,18 @@
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="548.57147"
|
x="528.57147"
|
||||||
y="685.96118"
|
y="685.96118"
|
||||||
id="text8115"
|
id="text8115"
|
||||||
sodipodi:linespacing="125%"><tspan
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan8117"
|
id="tspan8117"
|
||||||
x="548.57147"
|
x="528.57147"
|
||||||
y="685.96118"
|
y="685.96118"
|
||||||
style="font-size:35px">. . .</tspan></text>
|
style="font-size:35px">. . .</tspan></text>
|
||||||
<g
|
<g
|
||||||
id="g8785">
|
id="g8785"
|
||||||
|
transform="translate(49.857143,0)">
|
||||||
<rect
|
<rect
|
||||||
ry="5.3747001"
|
ry="5.3747001"
|
||||||
y="569.50507"
|
y="569.50507"
|
||||||
|
@ -318,46 +334,8 @@
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
inkscape:connector-type="polyline"
|
inkscape:connector-type="polyline"
|
||||||
id="path8127-9"
|
id="path8127-9"
|
||||||
d="m 260.37904,645.21935 1.04953,99.28571"
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-6)" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(556.42857,1.957866)"
|
|
||||||
id="g8785-7">
|
|
||||||
<rect
|
|
||||||
ry="5.3747001"
|
|
||||||
y="569.50507"
|
|
||||||
x="236.42857"
|
|
||||||
height="75.714287"
|
|
||||||
width="47.142857"
|
|
||||||
id="rect8119-1"
|
|
||||||
style="opacity:1;fill:#80ffe0;fill-opacity:1;fill-rule:evenodd;stroke:#0cb188;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
transform="matrix(0,-1,1,0,0,0)"
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8121-0"
|
|
||||||
y="254.76318"
|
|
||||||
x="-608.09094"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
|
||||||
y="254.76318"
|
|
||||||
x="-608.09094"
|
|
||||||
id="tspan8123-91"
|
|
||||||
sodipodi:role="line">Docker</tspan><tspan
|
|
||||||
id="tspan8125-5"
|
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
|
||||||
y="273.51318"
|
|
||||||
x="-608.09094"
|
|
||||||
sodipodi:role="line">Proxy</tspan></text>
|
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cc"
|
|
||||||
inkscape:connection-start="#rect8119-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
id="path8127-8"
|
|
||||||
d="m 260.39435,645.21935 1.03422,99.28571"
|
d="m 260.39435,645.21935 1.03422,99.28571"
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-8)" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-6)" />
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g9664"
|
id="g9664"
|
||||||
|
@ -398,12 +376,11 @@
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69)" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69)" />
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
transform="translate(338.57143,133.71429)"
|
id="g7530">
|
||||||
id="g9664-7">
|
|
||||||
<rect
|
<rect
|
||||||
ry="5.3747001"
|
ry="5.3747001"
|
||||||
y="437.17722"
|
y="570.89148"
|
||||||
x="69.285713"
|
x="407.85715"
|
||||||
height="75.714287"
|
height="75.714287"
|
||||||
width="47.142857"
|
width="47.142857"
|
||||||
id="rect8119-2-2"
|
id="rect8119-2-2"
|
||||||
|
@ -412,51 +389,41 @@
|
||||||
transform="matrix(0,-1,1,0,0,0)"
|
transform="matrix(0,-1,1,0,0,0)"
|
||||||
sodipodi:linespacing="125%"
|
sodipodi:linespacing="125%"
|
||||||
id="text8121-4-3"
|
id="text8121-4-3"
|
||||||
y="87.620323"
|
y="426.19174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
id="tspan8125-58-4"
|
id="tspan8125-58-4"
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
y="87.620323"
|
y="426.19174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
sodipodi:role="line">Swarm</tspan><tspan
|
sodipodi:role="line">Swarm</tspan><tspan
|
||||||
id="tspan9011-1"
|
id="tspan9011-1"
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
y="106.37032"
|
y="444.94174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
sodipodi:role="line">Manager</tspan></text>
|
sodipodi:role="line">Join</tspan></text>
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cc"
|
|
||||||
inkscape:connection-start="#rect8119-2-2"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
id="path8127-7-7"
|
|
||||||
d="m 93.23618,512.8915 1.04953,99.28571"
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69-3)" />
|
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g8074-8"
|
id="g7447">
|
||||||
transform="translate(203.57142,36.428571)"
|
|
||||||
style="opacity:0.8">
|
|
||||||
<rect
|
<rect
|
||||||
ry="5.3747001"
|
ry="5.3934851"
|
||||||
y="613.07648"
|
y="649.38525"
|
||||||
x="101.42857"
|
x="352.02304"
|
||||||
height="68.571419"
|
height="68.811081"
|
||||||
width="205.71429"
|
width="158.8111"
|
||||||
id="rect8068-6"
|
id="rect8068-6"
|
||||||
style="opacity:1;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:0.8;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:1.760337;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
sodipodi:linespacing="125%"
|
sodipodi:linespacing="125%"
|
||||||
id="text8070-1"
|
id="text8070-1"
|
||||||
y="654.25916"
|
y="690.68774"
|
||||||
x="203.7242"
|
x="431.36145"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-size:25px;text-align:center;text-anchor:middle"
|
style="font-size:25px;text-align:center;text-anchor:middle"
|
||||||
y="654.25916"
|
y="690.68774"
|
||||||
x="203.7242"
|
x="431.36145"
|
||||||
id="tspan8072-5"
|
id="tspan8072-5"
|
||||||
sodipodi:role="line">Engine 1</tspan></text>
|
sodipodi:role="line">Engine 1</tspan></text>
|
||||||
</g>
|
</g>
|
||||||
|
@ -530,21 +497,21 @@
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="12.142857"
|
x="-70.714287"
|
||||||
y="733.07648"
|
y="730.21936"
|
||||||
id="text9948"
|
id="text9948"
|
||||||
sodipodi:linespacing="125%"><tspan
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan9950"
|
id="tspan9950"
|
||||||
x="12.142857"
|
x="-70.714287"
|
||||||
y="733.07648">Externally</tspan><tspan
|
y="730.21936">Externally</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="12.142857"
|
x="-70.714287"
|
||||||
y="748.07648"
|
y="745.21936"
|
||||||
id="tspan9952">Visible</tspan><tspan
|
id="tspan9952">Visible</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="12.142857"
|
x="-70.714287"
|
||||||
y="763.07648"
|
y="760.21936"
|
||||||
id="tspan9954">Ports</tspan></text>
|
id="tspan9954">Ports</tspan></text>
|
||||||
<g
|
<g
|
||||||
id="g7501">
|
id="g7501">
|
||||||
|
@ -582,90 +549,205 @@
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69-65-6)" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69-65-6)" />
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g7485">
|
id="g7563">
|
||||||
<rect
|
<rect
|
||||||
ry="5.3577666"
|
ry="5.3126082"
|
||||||
y="649.6131"
|
y="649.90118"
|
||||||
x="32.965164"
|
x="-66.746765"
|
||||||
height="68.355377"
|
height="67.779243"
|
||||||
width="253.35539"
|
width="405.63641"
|
||||||
id="rect8068"
|
id="rect8068"
|
||||||
style="opacity:0.8;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:2.21604013;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:0.8;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:2.79217744;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
sodipodi:linespacing="125%"
|
sodipodi:linespacing="125%"
|
||||||
id="text8070"
|
id="text8070"
|
||||||
y="690.68774"
|
y="690.68774"
|
||||||
x="159.25223"
|
x="135.68082"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-size:25px;text-align:center;text-anchor:middle"
|
style="font-size:25px;text-align:center;text-anchor:middle"
|
||||||
y="690.68774"
|
y="690.68774"
|
||||||
x="159.25223"
|
x="135.68082"
|
||||||
id="tspan8072"
|
id="tspan8072"
|
||||||
sodipodi:role="line">Engine 0</tspan></text>
|
sodipodi:role="line">Engine 0</tspan></text>
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
transform="translate(672.85714,134.28572)"
|
transform="translate(-201,128)"
|
||||||
id="g9664-7-1">
|
id="g9942-0">
|
||||||
<rect
|
<rect
|
||||||
ry="5.3747001"
|
ry="5.3747001"
|
||||||
y="437.17722"
|
y="440.93365"
|
||||||
x="69.285713"
|
x="182.14285"
|
||||||
height="75.714287"
|
height="75.714287"
|
||||||
width="47.142857"
|
width="47.142857"
|
||||||
id="rect8119-2-2-1"
|
id="rect8119-2-1-3-2"
|
||||||
|
style="opacity:1;fill:#809cff;fill-opacity:1;fill-rule:evenodd;stroke:#0c32b1;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
transform="matrix(0,-1,1,0,0,0)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text8121-4-9-3-8"
|
||||||
|
y="200.47746"
|
||||||
|
x="-479.51953"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="200.47746"
|
||||||
|
x="-479.51953"
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan9885-8-1">SwarmCA</tspan><tspan
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="219.22746"
|
||||||
|
x="-479.51953"
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7397">(cfssl)</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="translate(-251.42857,128)"
|
||||||
|
id="g9942-0-4">
|
||||||
|
<rect
|
||||||
|
ry="5.3747001"
|
||||||
|
y="440.93365"
|
||||||
|
x="182.14285"
|
||||||
|
height="75.714287"
|
||||||
|
width="47.142857"
|
||||||
|
id="rect8119-2-1-3-2-6"
|
||||||
|
style="opacity:1;fill:#809cff;fill-opacity:1;fill-rule:evenodd;stroke:#0c32b1;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
transform="matrix(0,-1,1,0,0,0)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text8121-4-9-3-8-7"
|
||||||
|
y="200.47746"
|
||||||
|
x="-479.51953"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="200.47746"
|
||||||
|
x="-479.51953"
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan9885-8-1-3">Orca CA</tspan><tspan
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="219.22746"
|
||||||
|
x="-479.51953"
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7397-8">(cfssl)</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="translate(475.85714,1.243579)"
|
||||||
|
id="g8785-9-7">
|
||||||
|
<rect
|
||||||
|
ry="5.3747001"
|
||||||
|
y="569.50507"
|
||||||
|
x="236.42857"
|
||||||
|
height="75.714287"
|
||||||
|
width="47.142857"
|
||||||
|
id="rect8119-6-9"
|
||||||
|
style="opacity:1;fill:#80ffe0;fill-opacity:1;fill-rule:evenodd;stroke:#0cb188;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
transform="matrix(0,-1,1,0,0,0)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text8121-8-8"
|
||||||
|
y="254.76318"
|
||||||
|
x="-608.09094"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="254.76318"
|
||||||
|
x="-608.09094"
|
||||||
|
id="tspan8123-9-5"
|
||||||
|
sodipodi:role="line">Docker</tspan><tspan
|
||||||
|
id="tspan8125-2-9"
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
y="273.51318"
|
||||||
|
x="-608.09094"
|
||||||
|
sodipodi:role="line">Proxy</tspan></text>
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connection-start="#rect8119-6-9"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:connector-type="polyline"
|
||||||
|
id="path8127-9-9"
|
||||||
|
d="m 260.39435,645.21935 1.03422,99.28571"
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-6-5)" />
|
||||||
|
</g>
|
||||||
|
<rect
|
||||||
|
style="opacity:1;fill:#80ffa9;fill-opacity:1;fill-rule:evenodd;stroke:#0cb134;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect8119-2-2-8"
|
||||||
|
width="47.142857"
|
||||||
|
height="75.714287"
|
||||||
|
x="659.42859"
|
||||||
|
y="571.46289"
|
||||||
|
ry="5.3747001" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="-610.04877"
|
||||||
|
y="677.76318"
|
||||||
|
id="text8121-4-3-1"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="matrix(0,-1,1,0,0,0)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
x="-610.04877"
|
||||||
|
y="677.76318"
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
id="tspan8125-58-4-1">Swarm</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
x="-610.04877"
|
||||||
|
y="696.51318"
|
||||||
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
|
id="tspan9011-1-5">Join</tspan></text>
|
||||||
|
<g
|
||||||
|
transform="translate(251.57142,0.571429)"
|
||||||
|
id="g7447-3">
|
||||||
|
<rect
|
||||||
|
ry="5.3934851"
|
||||||
|
y="649.38525"
|
||||||
|
x="352.02304"
|
||||||
|
height="68.811081"
|
||||||
|
width="158.8111"
|
||||||
|
id="rect8068-6-4"
|
||||||
|
style="opacity:0.8;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:1.760337;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text8070-1-8"
|
||||||
|
y="690.68774"
|
||||||
|
x="431.36145"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
style="font-size:25px;text-align:center;text-anchor:middle"
|
||||||
|
y="690.68774"
|
||||||
|
x="431.36145"
|
||||||
|
id="tspan8072-5-1"
|
||||||
|
sodipodi:role="line">Engine 1</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="translate(-172.71429,-1.9578247)"
|
||||||
|
id="g7530-8">
|
||||||
|
<rect
|
||||||
|
ry="5.3747001"
|
||||||
|
y="570.89148"
|
||||||
|
x="407.85715"
|
||||||
|
height="75.714287"
|
||||||
|
width="47.142857"
|
||||||
|
id="rect8119-2-2-5"
|
||||||
style="opacity:1;fill:#80ffa9;fill-opacity:1;fill-rule:evenodd;stroke:#0cb134;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#80ffa9;fill-opacity:1;fill-rule:evenodd;stroke:#0cb134;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
transform="matrix(0,-1,1,0,0,0)"
|
transform="matrix(0,-1,1,0,0,0)"
|
||||||
sodipodi:linespacing="125%"
|
sodipodi:linespacing="125%"
|
||||||
id="text8121-4-3-6"
|
id="text8121-4-3-8"
|
||||||
y="87.620323"
|
y="426.19174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
id="tspan8125-58-4-1"
|
id="tspan8125-58-4-0"
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
y="87.620323"
|
y="426.19174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
sodipodi:role="line">Swarm</tspan><tspan
|
sodipodi:role="line">Swarm</tspan><tspan
|
||||||
id="tspan9011-1-9"
|
id="tspan9011-1-53"
|
||||||
style="font-size:15px;text-align:center;text-anchor:middle"
|
style="font-size:15px;text-align:center;text-anchor:middle"
|
||||||
y="106.37032"
|
y="444.94174"
|
||||||
x="-475.76309"
|
x="-609.47736"
|
||||||
sodipodi:role="line">Manager</tspan></text>
|
sodipodi:role="line">Join</tspan></text>
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cc"
|
|
||||||
inkscape:connection-start="#rect8119-2-2-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
id="path8127-7-7-2"
|
|
||||||
d="m 93.251486,512.8915 1.034224,99.28571"
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#SemiCircleIn-69-3-3)" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g8074-4"
|
|
||||||
transform="translate(535,36.428571)"
|
|
||||||
style="opacity:0.8">
|
|
||||||
<rect
|
|
||||||
ry="5.3747001"
|
|
||||||
y="613.07648"
|
|
||||||
x="101.42857"
|
|
||||||
height="68.571419"
|
|
||||||
width="205.71429"
|
|
||||||
id="rect8068-9"
|
|
||||||
style="opacity:1;fill:#80d8ff;fill-opacity:1;fill-rule:evenodd;stroke:#0c73b1;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8070-9"
|
|
||||||
y="654.25916"
|
|
||||||
x="203.7242"
|
|
||||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:25px;text-align:center;text-anchor:middle"
|
|
||||||
y="654.25916"
|
|
||||||
x="203.7242"
|
|
||||||
id="tspan8072-8"
|
|
||||||
sodipodi:role="line">Engine N</tspan></text>
|
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 31 KiB |
Loading…
Reference in New Issue