Regenerate dev-overview HTML/PDF with credentials chapter
This commit is contained in:
parent
bb23e6ded0
commit
d0dceae4d0
2 changed files with 532 additions and 2 deletions
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>dev-overview — NATS routes</title>
|
||||
<title>dev-overview — NATS routes and developer credentials</title>
|
||||
<style>
|
||||
/* Default styles provided by pandoc.
|
||||
** See https://pandoc.org/MANUAL.html#variables-for-html for config info.
|
||||
|
|
@ -238,7 +238,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">dev-overview — NATS routes</h1>
|
||||
<h1 class="title">dev-overview — NATS routes and developer
|
||||
credentials</h1>
|
||||
</header>
|
||||
<h1 id="dev-overview">dev-overview</h1>
|
||||
<p>Developer map of the Verae Time × Zapier <strong>NATS message
|
||||
|
|
@ -292,6 +293,11 @@ Zapier</td>
|
|||
<td><a href="04-gaps-and-finish.md">04-gaps-and-finish.md</a></td>
|
||||
<td>Modules not connected; billing/event/aux; ordered finish list</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a
|
||||
href="05-developer-credentials.md">05-developer-credentials.md</a></td>
|
||||
<td>URLs, tokens, lab API keys, staff/IAM, git, env cheat sheet</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="cluster-running">Cluster (running)</h2>
|
||||
|
|
@ -1984,5 +1990,529 @@ for a mock Zap</h2>
|
|||
poller → mock status completed → <code>jobs.events</code> → wait returns
|
||||
mock certificate. Archive extras and live chain are the missing
|
||||
middle.</p>
|
||||
<h1 id="developer-credentials-and-connection-info">Developer credentials
|
||||
and connection info</h1>
|
||||
<p>Lab pack for the Verae Time × Zapier stack on
|
||||
<strong>NS1.GEORGELAMBERT.ORG</strong> (<code>70.88.205.138</code>).
|
||||
Values below were checked <strong>2026-09-14</strong>. These are
|
||||
<strong>lab defaults</strong>, not production secrets. Rotate the public
|
||||
NATS token and admin secrets before treating this as a customer
|
||||
environment.</p>
|
||||
<p>Zapier cloud <strong>never</strong> gets a NATS URL or a Verae
|
||||
password.</p>
|
||||
<h2 id="who-you-are-talking-to">1. Who you are talking to</h2>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 50%" />
|
||||
<col style="width: 50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Host</th>
|
||||
<th>Role</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>70.88.205.138</code></td>
|
||||
<td>NS1 Proxmox. Public HTTPS + public NATS <strong>client</strong>
|
||||
edge</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>10.10.10.20</code></td>
|
||||
<td>LXC 510 <code>verae-px-worker</code> (worm + tree)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>10.10.10.21–23</code></td>
|
||||
<td>LXC 511–513 <code>nats-a/b/c</code> JetStream cluster
|
||||
<code>verae</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>SSH to the box: <code>ssh marchon@70.88.205.138</code><br />
|
||||
Git SSH:
|
||||
<code>ssh://git@git.georgelambert.org:2223/marchon/<repo>.git</code>
|
||||
(port <strong>2223</strong>)</p>
|
||||
<h2 id="public-https-doors-live">2. Public HTTPS doors (live)</h2>
|
||||
<p>Wildcard <code>*.zapier.georgelambert.org</code> →
|
||||
<code>70.88.205.138</code>.</p>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 15%" />
|
||||
<col style="width: 28%" />
|
||||
<col style="width: 18%" />
|
||||
<col style="width: 37%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>URL</th>
|
||||
<th>Process</th>
|
||||
<th>Port</th>
|
||||
<th>Last check</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>https://zapier.georgelambert.org/</td>
|
||||
<td>docs catalog</td>
|
||||
<td>files</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://git.georgelambert.org/</td>
|
||||
<td>Forgejo</td>
|
||||
<td>:443 / SSH :2223</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://portal.zapier.georgelambert.org/</td>
|
||||
<td>access-web → <code>/portal/</code></td>
|
||||
<td>:3021</td>
|
||||
<td>302 → portal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://api.zapier.georgelambert.org/health</td>
|
||||
<td>access-api</td>
|
||||
<td>:3022</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://leaf.zapier.georgelambert.org/health</td>
|
||||
<td>access-leaf</td>
|
||||
<td>:3023</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://zap.zapier.georgelambert.org/health</td>
|
||||
<td>access-zapier</td>
|
||||
<td>:3024</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://staff.zapier.georgelambert.org/</td>
|
||||
<td>access-staff</td>
|
||||
<td>:3025</td>
|
||||
<td>302 login</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://login.zapier.georgelambert.org/</td>
|
||||
<td>staff-session</td>
|
||||
<td>:3027</td>
|
||||
<td>200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://iam.zapier.georgelambert.org/health</td>
|
||||
<td>staff-iam</td>
|
||||
<td>:3028</td>
|
||||
<td>200 (<code>users: 5</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://cs.zapier.georgelambert.org/</td>
|
||||
<td>customer-service</td>
|
||||
<td>:3011</td>
|
||||
<td>302</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://sales.zapier.georgelambert.org/</td>
|
||||
<td>sales-pricing</td>
|
||||
<td>:3012</td>
|
||||
<td>302</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://acct.zapier.georgelambert.org/</td>
|
||||
<td>accounting-export</td>
|
||||
<td>:3013</td>
|
||||
<td>302</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://mw.zapier.georgelambert.org/health</td>
|
||||
<td>middleware</td>
|
||||
<td>:3100</td>
|
||||
<td>200 <code>mockVerae:true</code> <code>natsConnected:true</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://fleet.zapier.georgelambert.org/</td>
|
||||
<td>fleet console</td>
|
||||
<td>:3850</td>
|
||||
<td>302</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>https://nats.zapier.georgelambert.org/</td>
|
||||
<td>NATS WebSocket (Caddy)</td>
|
||||
<td>14422</td>
|
||||
<td><strong>400</strong> on GET (expected; it is WS)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Loopback on NS1 (not public): zappier-edge
|
||||
<strong><code>127.0.0.1:13000</code></strong> (admin + Stripe + SQLite).
|
||||
Tunnel:</p>
|
||||
<div class="sourceCode" id="cb7"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-L</span> 13000:127.0.0.1:13000 marchon@70.88.205.138</span>
|
||||
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="co"># then http://127.0.0.1:13000/admin and /docs</span></span></code></pre></div>
|
||||
<p>Operator console tunnel:
|
||||
<code>ssh -L 3850:127.0.0.1:3850 marchon@70.88.205.138</code></p>
|
||||
<h2 id="nats">3. NATS</h2>
|
||||
<h3 id="internal-cluster-workers-keep-fleet">Internal cluster (workers,
|
||||
keep, fleet)</h3>
|
||||
<p>No token. Private <code>vmbr1</code> only.</p>
|
||||
<pre class="text"><code>NATS_URL=nats://10.10.10.21:4222,nats://10.10.10.22:4222,nats://10.10.10.23:4222
|
||||
JETSTREAM_REPLICAS=3</code></pre>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Port</th>
|
||||
<th>Bind</th>
|
||||
<th>Use</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>:4222</code></td>
|
||||
<td><code>10.10.10.21–23</code></td>
|
||||
<td>clients</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>:6222</code></td>
|
||||
<td>same, <code>vmbr1</code></td>
|
||||
<td>cluster routes — <strong>do not publish</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>:7422</code></td>
|
||||
<td>same</td>
|
||||
<td>leaf hubs for the public edge — <strong>do not publish</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>:8222</code></td>
|
||||
<td><code>127.0.0.1</code> on each LXC</td>
|
||||
<td>monitor</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>From a laptop you <strong>cannot</strong> reach
|
||||
<code>10.10.10.x</code> unless you are on NS1 or you tunnel:</p>
|
||||
<div class="sourceCode" id="cb9"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-L</span> 14222:10.10.10.21:4222 <span class="at">-L</span> 14223:10.10.10.22:4222 <span class="at">-L</span> 14224:10.10.10.23:4222 marchon@70.88.205.138</span>
|
||||
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">NATS_URL</span><span class="op">=</span>nats://127.0.0.1:14222,nats://127.0.0.1:14223,nats://127.0.0.1:14224</span></code></pre></div>
|
||||
<h3 id="public-client-edge-token">Public client edge (token)</h3>
|
||||
<p>Live token (file <code>/etc/nats/public-edge.token</code> on
|
||||
NS1):</p>
|
||||
<pre class="text"><code>4743a49383ce2ce86e99d9d41c45c0004fe75eb23ef3a2b9</code></pre>
|
||||
<pre class="text"><code>nats://4743a49383ce2ce86e99d9d41c45c0004fe75eb23ef3a2b9@70.88.205.138:4222
|
||||
wss://nats.zapier.georgelambert.org</code></pre>
|
||||
<p><code>CONNECT</code> with that token returns <code>PONG</code>
|
||||
(checked 2026-09-14). <code>auth_required: true</code>. Server name
|
||||
<code>nats-public-edge</code>. <strong>Do not</strong> put this URL in
|
||||
Zapier. Recreate:
|
||||
<code>bash packages/verae-nats-cluster/scripts/expose-public.sh</code>
|
||||
on NS1.</p>
|
||||
<p>Leftover lab listeners (ignore for new clients): host
|
||||
<code>127.0.0.1:4222</code> docker-proxy, <code>10.10.10.1:4222</code>
|
||||
socat. zappier-edge process still has
|
||||
<code>NATS_URL=nats://127.0.0.1:4222</code> — billing pubs may miss the
|
||||
3-node cluster until that env is flipped.</p>
|
||||
<p>nkeys/mTLS: <strong>not</strong> on. Isolation is LAN + token.</p>
|
||||
<h2 id="middleware-jobs">4. Middleware (jobs)</h2>
|
||||
<p>Live: <code>MOCK_VERAE=true</code>, <code>NATS_ENABLED=true</code>,
|
||||
cluster URL as above, <code>ADMIN_SECRET=change-me-admin</code>
|
||||
(default), <code>TOKEN_SECRET=dev-secret-change-me</code> (default).</p>
|
||||
<h3 id="lab-tenant-created-2026-09-14-for-this-pack">Lab tenant (created
|
||||
2026-09-14 for this pack)</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>tenantId</td>
|
||||
<td><code>tenant-dev-lab-local-89ab82de</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>plan</td>
|
||||
<td>free</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>API key</td>
|
||||
<td><code>zmw_pXdwlUUyMHkAvqj3RRoQ2gOG6yAUQlun</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mock Verae user</td>
|
||||
<td><code>lab-dev</code> / <code>lab-dev-pass</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>veraeUserId</td>
|
||||
<td><code>vu_20ed6029b99efb2e</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Proven: <code>GET /zapier/v1/auth/me</code> → valid;
|
||||
<code>POST /zapier/v1/timestamp</code> → 202 <code>jobId</code>; wait →
|
||||
mock certificate <code>blockIndex: 42</code>.</p>
|
||||
<div class="sourceCode" id="cb12"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="va">KEY</span><span class="op">=</span>zmw_pXdwlUUyMHkAvqj3RRoQ2gOG6yAUQlun</span>
|
||||
<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"x-api-key: </span><span class="va">$KEY</span><span class="st">"</span> https://mw.zapier.georgelambert.org/zapier/v1/auth/me</span>
|
||||
<span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"x-api-key: </span><span class="va">$KEY</span><span class="st">"</span> <span class="at">-H</span> <span class="st">"content-type: application/json"</span> <span class="dt">\</span></span>
|
||||
<span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">'{"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}'</span> <span class="dt">\</span></span>
|
||||
<span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a> https://mw.zapier.georgelambert.org/zapier/v1/timestamp</span>
|
||||
<span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"x-api-key: </span><span class="va">$KEY</span><span class="st">"</span> <span class="at">-H</span> <span class="st">"content-type: application/json"</span> <span class="dt">\</span></span>
|
||||
<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">'{"sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}'</span> <span class="dt">\</span></span>
|
||||
<span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a> https://mw.zapier.georgelambert.org/zapier/v1/timestamp/wait</span></code></pre></div>
|
||||
<p>Customer API plane (forwards <code>x-api-key</code> to
|
||||
middleware):</p>
|
||||
<div class="sourceCode" id="cb13"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"x-api-key: </span><span class="va">$KEY</span><span class="st">"</span> <span class="at">-H</span> <span class="st">"content-type: application/json"</span> <span class="dt">\</span></span>
|
||||
<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">'{"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}'</span> <span class="dt">\</span></span>
|
||||
<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a> https://api.zapier.georgelambert.org/v1/timestamp</span></code></pre></div>
|
||||
<p><code>https://zap.zapier.georgelambert.org</code> is the Zapier
|
||||
<strong>plane</strong>. It does <strong>not</strong> currently forward
|
||||
<code>x-api-key</code> on timestamp (401 if you curl it with a key).
|
||||
Zapier Platform push is still waiting on login; when it is live, set
|
||||
<code>MIDDLEWARE_BASE_URL=https://zap.zapier.georgelambert.org</code>
|
||||
and use a <code>zmw_…</code> key in the Zap.</p>
|
||||
<p>Mint another key (mock Verae accepts any username/password):</p>
|
||||
<div class="sourceCode" id="cb14"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"content-type: application/json"</span> <span class="dt">\</span></span>
|
||||
<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">'{"email":"you@lab.local","name":"You","veraeUsername":"you","veraePassword":"you-pass"}'</span> <span class="dt">\</span></span>
|
||||
<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a> https://mw.zapier.georgelambert.org/zapier/v1/signup</span></code></pre></div>
|
||||
<p>Admin list/provision:</p>
|
||||
<div class="sourceCode" id="cb15"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"x-admin-secret: change-me-admin"</span> <span class="dt">\</span></span>
|
||||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a> https://mw.zapier.georgelambert.org/zapier/v1/admin/tenants</span></code></pre></div>
|
||||
<h2 id="portal-zappier-edge-billing-users">5. Portal / zappier-edge
|
||||
(billing users)</h2>
|
||||
<p>SQLite
|
||||
<code>/SSD3/moved/home-marchon/verae-stack/packages/zappier/zappier.db</code>.
|
||||
Bind <code>127.0.0.1:13000</code>.</p>
|
||||
<p>Seed <strong>customer API keys</strong> (<code>x-api-key</code> on
|
||||
edge <code>/v1/*</code>, <strong>not</strong> middleware
|
||||
<code>zmw_</code>):</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Customer</th>
|
||||
<th>tier</th>
|
||||
<th>key</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Ada (free)</td>
|
||||
<td>free</td>
|
||||
<td><code>key-ada</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Grace (pro)</td>
|
||||
<td>pro</td>
|
||||
<td><code>key-grace</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linus (business)</td>
|
||||
<td>business</td>
|
||||
<td><code>key-linus</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Docs Capture</td>
|
||||
<td>free</td>
|
||||
<td><code>key-021851970d8a22c6</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>These keys are for the <strong>edge meter / portal</strong>.
|
||||
Middleware jobs need a <code>zmw_…</code> key (section 4).</p>
|
||||
<p>Seed <strong>admin console</strong> (<code>/admin</code>,
|
||||
<code>x-admin-key</code> or login):</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>username</th>
|
||||
<th>password</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>admin</code></td>
|
||||
<td><code>admin-dev-key</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>demo</code></td>
|
||||
<td><code>$$$Adm1n###</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><code>ZAPPIER_ADMIN_KEY</code> default on CS/sales/staff processes:
|
||||
<code>admin-dev-key</code>.</p>
|
||||
<p>Stripe: <strong>not</strong> live (lab quotes only). Env
|
||||
<code>STRIPE_*</code> unset on the sampled edge process.</p>
|
||||
<p>Signup more customers at
|
||||
https://portal.zapier.georgelambert.org/portal/</p>
|
||||
<h2 id="staff-iam">6. Staff IAM</h2>
|
||||
<p>https://login.zapier.georgelambert.org/ ·
|
||||
https://iam.zapier.georgelambert.org/</p>
|
||||
<p>Seed users (defaults; live IAM has these five):</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>username</th>
|
||||
<th>password</th>
|
||||
<th>role</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>admin</code></td>
|
||||
<td><code>admin-dev-key</code></td>
|
||||
<td>owner</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cs</code></td>
|
||||
<td><code>cs-dev-key</code></td>
|
||||
<td>cs</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sales</code></td>
|
||||
<td><code>sales-dev-key</code></td>
|
||||
<td>sales</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>accounting</code></td>
|
||||
<td><code>acct-dev-key</code></td>
|
||||
<td>accounting</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>operator</code></td>
|
||||
<td><code>fleet-dev-key</code></td>
|
||||
<td>operator</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><code>STAFF_KEY</code> / session fallback:
|
||||
<code>admin-dev-key</code>.</p>
|
||||
<h2 id="leaf-plane">7. Leaf plane</h2>
|
||||
<p>https://leaf.zapier.georgelambert.org/health →
|
||||
<code>verae.access.leaf.in</code></p>
|
||||
<p>Live: <code>LEAF_TOKEN=leaf-dev-token</code></p>
|
||||
<div class="sourceCode" id="cb16"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ex">curl</span> <span class="at">-sS</span> <span class="at">-H</span> <span class="st">"content-type: application/json"</span> <span class="dt">\</span></span>
|
||||
<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a> <span class="at">-d</span> <span class="st">'{"token":"leaf-dev-token","target":"verae.archive.put","payload":{},"principal":"dev"}'</span> <span class="dt">\</span></span>
|
||||
<span id="cb16-3"><a href="#cb16-3" aria-hidden="true" tabindex="-1"></a> https://leaf.zapier.georgelambert.org/</span></code></pre></div>
|
||||
<p>Billing targets are <strong>denied</strong> on this plane.</p>
|
||||
<h2 id="git-forgejo">8. Git (Forgejo)</h2>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 50%" />
|
||||
<col style="width: 50%" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Web</td>
|
||||
<td>https://git.georgelambert.org/marchon/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SSH</td>
|
||||
<td><code>ssh://git@git.georgelambert.org:2223/marchon/<name>.git</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>User</td>
|
||||
<td><code>marchon</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Overview of routes</td>
|
||||
<td>https://git.georgelambert.org/marchon/dev-overview</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Monorepo</td>
|
||||
<td><code>master-zapier-plan-draft</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Bootstrap</td>
|
||||
<td>https://git.georgelambert.org/marchon/verae-bootstrap</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="sourceCode" id="cb17"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="va">GIT_SSH_COMMAND</span><span class="op">=</span><span class="st">"ssh -p 2223"</span> <span class="fu">git</span> clone ssh://git@git.georgelambert.org:2223/marchon/dev-overview.git</span></code></pre></div>
|
||||
<p>Add your SSH public key on Forgejo (user <strong>marchon</strong> or
|
||||
a new account). Do not commit deploy tokens.</p>
|
||||
<p>Clone-all:</p>
|
||||
<div class="sourceCode" id="cb18"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git</span>
|
||||
<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> verae-bootstrap</span>
|
||||
<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">VERAE_SRC</span><span class="op">=</span><span class="va">$HOME</span>/verae-src</span>
|
||||
<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="fu">bash</span> scripts/fetch.sh ns1-all-in-one</span></code></pre></div>
|
||||
<h2 id="environment-cheat-sheet-new-worker-on-the-cluster">9.
|
||||
Environment cheat sheet (new worker on the cluster)</h2>
|
||||
<div class="sourceCode" id="cb19"><pre
|
||||
class="sourceCode bash"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">NATS_URL</span><span class="op">=</span>nats://10.10.10.21:4222,nats://10.10.10.22:4222,nats://10.10.10.23:4222</span>
|
||||
<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">JETSTREAM_REPLICAS</span><span class="op">=</span>3</span>
|
||||
<span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">NATS_ENABLED</span><span class="op">=</span>true</span>
|
||||
<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">MOCK_VERAE</span><span class="op">=</span>true <span class="co"># flip to false only with live Verae login</span></span>
|
||||
<span id="cb19-5"><a href="#cb19-5" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">VERAE_API_BASE_URL</span><span class="op">=</span>https://api.veraetime.net</span>
|
||||
<span id="cb19-6"><a href="#cb19-6" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">AUTHZ_URL</span><span class="op">=</span>http://127.0.0.1:3020</span>
|
||||
<span id="cb19-7"><a href="#cb19-7" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">ZAPPIER_UPSTREAM</span><span class="op">=</span>http://127.0.0.1:3100</span>
|
||||
<span id="cb19-8"><a href="#cb19-8" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">ZAPPIER_ADMIN_URL</span><span class="op">=</span>http://127.0.0.1:13000</span>
|
||||
<span id="cb19-9"><a href="#cb19-9" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">ZAPPIER_ADMIN_KEY</span><span class="op">=</span>admin-dev-key</span>
|
||||
<span id="cb19-10"><a href="#cb19-10" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">LEAF_TOKEN</span><span class="op">=</span>leaf-dev-token</span>
|
||||
<span id="cb19-11"><a href="#cb19-11" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">STAFF_IAM_URL</span><span class="op">=</span>http://127.0.0.1:3028</span></code></pre></div>
|
||||
<p>Template worker: clone <code>verae-nats-process</code>, rename
|
||||
<code>verae.example.process.*</code>.</p>
|
||||
<h2 id="not-issued-yet-blocked">10. Not issued yet (blocked)</h2>
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 54%" />
|
||||
<col style="width: 45%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Item</th>
|
||||
<th>Why</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Zapier Platform deploy key / <code>zapier login</code></td>
|
||||
<td>operator has not logged the CLI in</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Live <code>api.veraetime.net</code> username/password</td>
|
||||
<td><code>MOCK_VERAE=true</code>; JWT would stay in middleware</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NATS nkeys / account creds</td>
|
||||
<td>cluster is <code>$G</code> + LAN</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Stripe live secret</td>
|
||||
<td>lab only</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lan-134 SSH worker</td>
|
||||
<td>disabled</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>When Zapier login exists:
|
||||
<code>MIDDLEWARE_BASE_URL=https://zap.zapier.georgelambert.org</code>,
|
||||
auth field <code>api_key</code> = <code>zmw_…</code>.</p>
|
||||
<p>When live Verae exists: middleware <code>MOCK_VERAE=false</code> +
|
||||
<code>VERAE_API_BASE_URL=https://api.veraetime.net</code> + working
|
||||
login. Zapier still never sees that password.</p>
|
||||
<h2 id="related-docs">11. Related docs</h2>
|
||||
<ul>
|
||||
<li>Routes: <a href="01-nats-routes.md">01-nats-routes.md</a></li>
|
||||
<li>Endpoint I/O: <a href="02-endpoint-io.md">02-endpoint-io.md</a></li>
|
||||
<li>Job path: <a
|
||||
href="03-zapier-verae-path.md">03-zapier-verae-path.md</a></li>
|
||||
<li>Gaps: <a href="04-gaps-and-finish.md">04-gaps-and-finish.md</a></li>
|
||||
<li>Ops start:
|
||||
https://zapier.georgelambert.org/packages/verae-ops/GETTING-STARTED.pdf</li>
|
||||
<li>Status:
|
||||
https://zapier.georgelambert.org/packages/zapier-decisions/STATUS.pdf</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in a new issue