fleet/deploy.svg

70 lines
4.6 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1060 230" font-family="'Segoe UI',Roboto,Helvetica,Arial,'DejaVu Sans',sans-serif">
<defs>
<marker id="d" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto">
<path d="M0,0 L7,3 L0,6 Z" fill="#5f6368"/>
</marker>
</defs>
<rect width="1060" height="230" fill="#f6f8fa"/>
<text x="30" y="34" font-size="19" font-weight="700" fill="#202124">Deploy &#8212; workstation -&gt; robot, over SSH (no sudo)</text>
<text x="30" y="55" font-size="12.5" fill="#5f6368">One command: <tspan font-family="'Roboto Mono',Menlo,Consolas,monospace" fill="#3c4043">./fleet_install.sh install &lt;type&gt; &lt;ip&gt; --sn ... --token ... --server-url ...</tspan></text>
<!-- cards -->
<g>
<!-- 1 workstation -->
<rect x="45" y="78" width="145" height="92" rx="9" fill="#f1f6ff" stroke="#4285f4" stroke-width="1.5"/>
<text x="117" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#1a73e8">WORKSTATION</text>
<text x="117" y="127" text-anchor="middle" font-size="11" fill="#3c4043" font-family="'Roboto Mono',Menlo,Consolas,monospace">agents/&lt;type&gt;/</text>
<text x="117" y="147" text-anchor="middle" font-size="10.5" fill="#5f6368">single source</text>
<text x="117" y="161" text-anchor="middle" font-size="10.5" fill="#5f6368">of truth</text>
<!-- 2 rsync -->
<rect x="210" y="78" width="145" height="92" rx="9" fill="#f0faf3" stroke="#34a853"/>
<text x="282" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#188038">rsync -&gt; robot</text>
<text x="282" y="127" text-anchor="middle" font-size="10.5" fill="#3c4043" font-family="'Roboto Mono',Menlo,Consolas,monospace">~/sanad_api_&lt;type&gt;</text>
<text x="282" y="148" text-anchor="middle" font-size="10.5" fill="#5f6368">--delete</text>
<text x="282" y="162" text-anchor="middle" font-size="10.5" fill="#5f6368">keeps .env, state</text>
<!-- 3 build -->
<rect x="375" y="78" width="145" height="92" rx="9" fill="#f0faf3" stroke="#34a853"/>
<text x="447" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#188038">docker build</text>
<text x="447" y="127" text-anchor="middle" font-size="11" fill="#3c4043">native arm64</text>
<text x="447" y="148" text-anchor="middle" font-size="10.5" fill="#5f6368">on the robot</text>
<text x="447" y="162" text-anchor="middle" font-size="10.5" fill="#5f6368">(DDS stack for r1/go2)</text>
<!-- 4 create -->
<rect x="540" y="78" width="145" height="92" rx="9" fill="#f0faf3" stroke="#34a853"/>
<text x="612" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#188038">docker create</text>
<text x="612" y="127" text-anchor="middle" font-size="11" fill="#3c4043">container</text>
<text x="612" y="148" text-anchor="middle" font-size="10.5" fill="#5f6368">--network host</text>
<text x="612" y="162" text-anchor="middle" font-size="10.5" fill="#5f6368">-v /:/host:ro &#183; maps</text>
<!-- 5 systemd -->
<rect x="705" y="78" width="145" height="92" rx="9" fill="#f0faf3" stroke="#34a853"/>
<text x="777" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#188038">systemd --user</text>
<text x="777" y="127" text-anchor="middle" font-size="11" fill="#3c4043">+ enable-linger</text>
<text x="777" y="148" text-anchor="middle" font-size="10.5" fill="#5f6368">auto-start on boot</text>
<text x="777" y="162" text-anchor="middle" font-size="10.5" fill="#5f6368">Restart=always</text>
<!-- 6 running -->
<rect x="870" y="78" width="145" height="92" rx="9" fill="#202124"/>
<text x="942" y="102" text-anchor="middle" font-size="12.5" font-weight="700" fill="#ffffff">RUNNING</text>
<text x="942" y="127" text-anchor="middle" font-size="11" fill="#8ab4f8">-&gt; HTTPS -&gt;</text>
<text x="942" y="148" text-anchor="middle" font-size="10.5" fill="#bdc1c6">fleet server</text>
<text x="942" y="162" text-anchor="middle" font-size="10.5" fill="#bdc1c6">Bearer token</text>
</g>
<!-- arrows -->
<g stroke="#5f6368" stroke-width="2" marker-end="url(#d)">
<line x1="190" y1="124" x2="208" y2="124"/>
<line x1="355" y1="124" x2="373" y2="124"/>
<line x1="520" y1="124" x2="538" y2="124"/>
<line x1="685" y1="124" x2="703" y2="124"/>
<line x1="850" y1="124" x2="868" y2="124"/>
</g>
<!-- robot bracket -->
<path d="M210,188 L210,196 L1015,196 L1015,188" fill="none" stroke="#dadce0" stroke-width="1.5"/>
<text x="612" y="215" text-anchor="middle" font-size="11" fill="#80868b">on the robot &#160;&#183;&#160; ssh unitree@&lt;ip&gt; &#160;&#183;&#160; no root, no docker-compose</text>
</svg>