Initial import of overview from zapier monorepo
This commit is contained in:
commit
9d2169258c
21 changed files with 627 additions and 0 deletions
21
diagrams/nats-cluster.svg
Normal file
21
diagrams/nats-cluster.svg
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" width="720" height="300" role="img" aria-label="Three nats-server nodes clustered, clients on private URLs">
|
||||
<rect width="720" height="300" fill="#f6f3ee"/>
|
||||
<text x="20" y="28" font-family="Georgia,serif" font-size="16" fill="#12202c">Verae NATS.IO — three JetStream servers</text>
|
||||
<g font-family="system-ui,sans-serif" font-size="12" text-anchor="middle">
|
||||
<circle cx="160" cy="150" r="54" fill="#1d4f91"/>
|
||||
<text x="160" y="146" fill="#fff">A</text>
|
||||
<text x="160" y="164" fill="#d9e2e8" font-size="10">:4222 loopback</text>
|
||||
<circle cx="360" cy="150" r="54" fill="#1d4f91"/>
|
||||
<text x="360" y="146" fill="#fff">B</text>
|
||||
<text x="360" y="164" fill="#d9e2e8" font-size="10">route</text>
|
||||
<circle cx="560" cy="150" r="54" fill="#1d4f91"/>
|
||||
<text x="560" y="146" fill="#fff">C</text>
|
||||
<text x="560" y="164" fill="#d9e2e8" font-size="10">JetStream</text>
|
||||
<line x1="214" y1="150" x2="306" y2="150" stroke="#12202c" stroke-width="2"/>
|
||||
<line x1="414" y1="150" x2="506" y2="150" stroke="#12202c" stroke-width="2"/>
|
||||
<path d="M160 96 C 360 20 360 20 560 96" fill="none" stroke="#12202c" stroke-width="2"/>
|
||||
<rect x="40" y="230" width="200" height="44" rx="8" fill="#12202c"/>
|
||||
<text x="140" y="256" fill="#f6f3ee">workers + middleware</text>
|
||||
<text x="250" y="256" fill="#52646f" font-size="11" text-anchor="start">→ nats://A,B,C (never Zapier)</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
25
diagrams/routing.svg
Normal file
25
diagrams/routing.svg
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 840 260" width="840" height="260" role="img" aria-label="Copy verae-nats-process to add a new subject">
|
||||
<rect width="840" height="260" fill="#f6f3ee"/>
|
||||
<text x="20" y="28" font-family="Georgia,serif" font-size="16" fill="#12202c">New function = new address + clone of verae-nats-process</text>
|
||||
<g font-family="system-ui,sans-serif" font-size="12" text-anchor="middle">
|
||||
<rect x="20" y="60" width="160" height="64" rx="8" fill="#12202c"/>
|
||||
<text x="100" y="88" fill="#f6f3ee">copy template repo</text>
|
||||
<text x="100" y="106" fill="#c5d0d8" font-size="10">verae-nats-process</text>
|
||||
<rect x="220" y="60" width="180" height="64" rx="8" fill="#0b4f8a"/>
|
||||
<text x="310" y="88" fill="#fff">rename subjects</text>
|
||||
<text x="310" y="106" fill="#d9e2e8" font-size="10">verae.area.resource.action</text>
|
||||
<rect x="440" y="60" width="160" height="64" rx="8" fill="#0f6e56"/>
|
||||
<text x="520" y="88" fill="#fff">fleet min/max</text>
|
||||
<text x="520" y="106" fill="#d4efe6" font-size="10">keepFloor + machines</text>
|
||||
<rect x="640" y="60" width="180" height="64" rx="8" fill="#8a5a00"/>
|
||||
<text x="730" y="88" fill="#fff">optional HTTPS</text>
|
||||
<text x="730" y="106" fill="#fff3bf" font-size="10">middleware only → Zapier</text>
|
||||
<polygon points="180,92 220,92 220,88 232,92 220,96 220,92" fill="#52646f"/>
|
||||
<polygon points="400,92 440,92 440,88 452,92 440,96 440,92" fill="#52646f"/>
|
||||
<polygon points="600,92 640,92 640,88 652,92 640,96 640,92" fill="#52646f"/>
|
||||
<rect x="20" y="150" width="800" height="84" rx="8" fill="#fff" stroke="#d5dee4"/>
|
||||
<text x="420" y="178" fill="#12202c">Existing: verae.zapier.jobs.* · verae.archive.put|query|reply.*</text>
|
||||
<text x="420" y="200" fill="#52646f" font-size="12">Unplanned search/store: verae.search.* or verae.store.* — same worker shape. Zapier never subscribes.</text>
|
||||
<text x="420" y="218" fill="#52646f" font-size="12">Broadcast queries: no queue group. Work queues: queue group. Bloom miss: no packet.</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
53
diagrams/system.svg
Normal file
53
diagrams/system.svg
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 420" width="920" height="420" role="img" aria-label="System context: Zapier HTTPS to edge to middleware to NATS cluster">
|
||||
<rect width="920" height="420" fill="#f6f3ee"/>
|
||||
<text x="24" y="28" font-family="Georgia,serif" font-size="16" fill="#12202c">Verae Time × Zapier — system context</text>
|
||||
<text x="24" y="48" font-family="system-ui,sans-serif" font-size="11" fill="#52646f">Zapier never speaks NATS. HTTPS stops at middleware. JetStream is the 3-node cluster.</text>
|
||||
<g font-family="system-ui,sans-serif" font-size="12" text-anchor="middle">
|
||||
<rect x="20" y="80" width="140" height="56" rx="8" fill="#12202c"/>
|
||||
<text x="90" y="104" fill="#f6f3ee">Zapier cloud</text>
|
||||
<text x="90" y="120" fill="#c5d0d8" font-size="10">verae-zapier-app</text>
|
||||
<rect x="200" y="80" width="140" height="56" rx="8" fill="#0f6e56"/>
|
||||
<text x="270" y="104" fill="#fff">zappier-edge</text>
|
||||
<text x="270" y="120" fill="#d4efe6" font-size="10">HTTPS :3000 meter</text>
|
||||
<rect x="175" y="148" width="62" height="36" rx="6" fill="#fff" stroke="#0f6e56"/>
|
||||
<text x="206" y="170" fill="#12202c" font-size="8">CS credits</text>
|
||||
<rect x="242" y="148" width="62" height="36" rx="6" fill="#fff" stroke="#0f6e56"/>
|
||||
<text x="273" y="170" fill="#12202c" font-size="8">Sales $</text>
|
||||
<rect x="309" y="148" width="62" height="36" rx="6" fill="#fff" stroke="#0f6e56"/>
|
||||
<text x="340" y="170" fill="#12202c" font-size="8">QBooks</text>
|
||||
<rect x="380" y="80" width="160" height="56" rx="8" fill="#0b4f8a"/>
|
||||
<text x="460" y="104" fill="#fff">verae-middleware</text>
|
||||
<text x="460" y="120" fill="#d9e2e8" font-size="10">HTTPS :3100 wait</text>
|
||||
<rect x="600" y="80" width="140" height="56" rx="8" fill="#5b2d8a"/>
|
||||
<text x="670" y="104" fill="#fff">Verae chain</text>
|
||||
<text x="670" y="120" fill="#e8d9f5" font-size="10">api.veraetime.net</text>
|
||||
<polygon points="160,108 200,108 200,104 212,108 200,112 200,108" fill="#52646f"/>
|
||||
<text x="180" y="98" font-size="9" fill="#52646f">HTTPS</text>
|
||||
<polygon points="340,108 380,108 380,104 392,108 380,112 380,108" fill="#52646f"/>
|
||||
<text x="360" y="98" font-size="9" fill="#52646f">HTTPS</text>
|
||||
<polygon points="540,108 600,108 600,104 612,108 600,112 600,108" fill="#52646f"/>
|
||||
<text x="568" y="98" font-size="9" fill="#52646f">HTTPS hash</text>
|
||||
<rect x="200" y="200" width="520" height="180" rx="10" fill="#e8eef2" stroke="#1d4f91" stroke-width="1.5"/>
|
||||
<text x="460" y="222" fill="#1d4f91" font-size="13">Central Verae NATS.IO 3-server JetStream cluster</text>
|
||||
<rect x="230" y="240" width="100" height="40" rx="6" fill="#1d4f91"/>
|
||||
<text x="280" y="264" fill="#fff">node A</text>
|
||||
<rect x="410" y="240" width="100" height="40" rx="6" fill="#1d4f91"/>
|
||||
<text x="460" y="264" fill="#fff">node B</text>
|
||||
<rect x="590" y="240" width="100" height="40" rx="6" fill="#1d4f91"/>
|
||||
<text x="640" y="264" fill="#fff">node C</text>
|
||||
<rect x="220" y="310" width="110" height="48" rx="6" fill="#fff" stroke="#0f6e56"/>
|
||||
<text x="275" y="330" fill="#12202c">job-poller</text>
|
||||
<text x="275" y="346" fill="#52646f" font-size="10">jobs.watch</text>
|
||||
<rect x="345" y="310" width="120" height="48" rx="6" fill="#fff" stroke="#0f6e56"/>
|
||||
<text x="405" y="330" fill="#12202c">webhook-deliver</text>
|
||||
<text x="405" y="346" fill="#52646f" font-size="10">webhooks.deliver</text>
|
||||
<rect x="480" y="310" width="110" height="48" rx="6" fill="#fff" stroke="#8a5a00"/>
|
||||
<text x="535" y="330" fill="#12202c">WORM × N</text>
|
||||
<text x="535" y="346" fill="#52646f" font-size="10">archive.query</text>
|
||||
<rect x="605" y="310" width="100" height="48" rx="6" fill="#fff" stroke="#8a5a00"/>
|
||||
<text x="655" y="330" fill="#12202c">tree-node</text>
|
||||
<text x="655" y="346" fill="#52646f" font-size="10">kind=tree</text>
|
||||
<line x1="460" y1="136" x2="460" y2="200" stroke="#1d4f91" stroke-width="1.5"/>
|
||||
<text x="478" y="168" font-size="9" fill="#1d4f91" text-anchor="start">JetStream</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4 KiB |
22
diagrams/uptime.svg
Normal file
22
diagrams/uptime.svg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 280" width="800" height="280" role="img" aria-label="Fleet keepFloor, restart, SSH failover">
|
||||
<rect width="800" height="280" fill="#f6f3ee"/>
|
||||
<text x="20" y="28" font-family="Georgia,serif" font-size="16" fill="#12202c">Uptime: floors, restart, another machine</text>
|
||||
<g font-family="system-ui,sans-serif" font-size="12">
|
||||
<rect x="20" y="50" width="180" height="70" rx="8" fill="#e3f6e8" stroke="#0f6e56"/>
|
||||
<text x="110" y="80" text-anchor="middle" fill="#0f6e56">healthy replica</text>
|
||||
<text x="110" y="100" text-anchor="middle" fill="#52646f" font-size="10">counts toward min</text>
|
||||
<rect x="220" y="50" width="180" height="70" rx="8" fill="#fff3bf" stroke="#8a5a00"/>
|
||||
<text x="310" y="80" text-anchor="middle" fill="#8a5a00">paused / slow RTT</text>
|
||||
<text x="310" y="100" text-anchor="middle" fill="#52646f" font-size="10">not available → spawn</text>
|
||||
<rect x="420" y="50" width="180" height="70" rx="8" fill="#f9d4d4" stroke="#a32020"/>
|
||||
<text x="510" y="80" text-anchor="middle" fill="#a32020">/health fail or SSH down</text>
|
||||
<text x="510" y="100" text-anchor="middle" fill="#52646f" font-size="10">restart or next host</text>
|
||||
<rect x="620" y="50" width="160" height="70" rx="8" fill="#1d4f91"/>
|
||||
<text x="700" y="80" text-anchor="middle" fill="#fff">JetStream replay</text>
|
||||
<text x="700" y="100" text-anchor="middle" fill="#d9e2e8" font-size="10">consumer catch-up</text>
|
||||
<rect x="20" y="150" width="760" height="100" rx="8" fill="#fff" stroke="#d5dee4"/>
|
||||
<text x="40" y="178" fill="#12202c">tree-node min=3 keepFloor</text>
|
||||
<text x="40" y="200" fill="#52646f" font-size="12">local + ns1 (marchon@70.88.205.138, ~/.ssh/id_ed25519). Least-loaded placement. Bloom miss = silence so a partitioned archive does not block the bus.</text>
|
||||
<text x="40" y="222" fill="#52646f" font-size="12">Zapier only sees HTTPS 202 / wait JSON / REST Hook. Cluster majority of 3 NATS servers survives one node loss.</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
Loading…
Add table
Add a link
Reference in a new issue