Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 80 additions & 80 deletions DESIGN.md

Large diffs are not rendered by default.

11 changes: 5 additions & 6 deletions layouts/_default/baseof.html
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@
<link rel="icon" type="image/png" sizes="32x32" href="{{ "images/icon/favicon-32x32.png" | absURL }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ "images/icon/favicon-16x16.png" | absURL }}">
<link rel="manifest" href="{{ "images/icon/manifest.json" | absURL }}">
<meta name="theme-color" content="#0B0B09">
<meta name="msapplication-TileColor" content="#0B0B09">
<meta name="theme-color" content="#1E232A">
<meta name="msapplication-TileColor" content="#1E232A">

{{ with .OutputFormats.Get "RSS" -}}
<link rel="alternate" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}" title="{{ $.Site.Title }}">
Expand All @@ -139,10 +139,9 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
{{/* Trimmed font axes: only the families/weights the site actually uses.
Fraunces: italic + roman with opsz/wght (drop SOFT axis to cut payload).
Instrument Sans: roman only, 400-700.
JetBrains Mono: roman only, 400-700. */}}
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Instrument+Sans:wght@400..700&family=JetBrains+Mono:wght@400..700&display=swap" rel="stylesheet">
Geist: body and UI, weights 400-700.
Geist Mono: display headings, rail, labels, terminal, weights 400-600. */}}
<link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap" rel="stylesheet">

<link rel="stylesheet" href="{{ "css/site.css" | absURL }}">
</head>
Expand Down
44 changes: 14 additions & 30 deletions layouts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
<div class="rail__meta" aria-hidden="true">
<span class="rail__rel">rel. {{ .Site.Params.version | default "dev" }}</span>
<span class="rail__dot">●</span>
<span data-clock>·· UTC</span>
<span class="rail__dot">●</span>
<span>los angeles, ca</span>
</div>
<nav class="rail__nav" aria-label="primary">
Expand Down Expand Up @@ -56,7 +54,7 @@ <h1 class="hero__display">

<div class="hero__intro">
<p class="hero__lede">
<span class="dropcap">t</span>xn2 is an open source organization for components developed by <strong>Craig Johnston</strong>, sponsored by <a href="https://deasil.works">Deasil Works, Inc.</a> and <a href="https://plexara.io">Plexara</a>. Includes Model Context Protocol servers, command-line tools, and Go libraries covering the modern data stack, Kubernetes networking, and host-file management.
txn2 is an open source organization for components developed by <strong>Craig Johnston</strong>, sponsored by <a href="https://deasil.works">Deasil Works, Inc.</a> and <a href="https://plexara.io">Plexara</a>. Includes Model Context Protocol servers, command-line tools, and Go libraries covering the modern data stack, Kubernetes networking, and host-file management.
</p>
<p class="hero__lede hero__lede--muted">
All components are released on <a href="https://github.com/txn2">GitHub</a> under the MIT or Apache 2.0 license.
Expand Down Expand Up @@ -144,8 +142,8 @@ <h3 class="mcp__name mcp__name--big"><em class="serif">mcp-data-platform</em></h
Platform --> DH
Platform --> Mem

classDef default fill:#15140F,stroke:#3A3830,color:#ECE3CE
classDef accent fill:#15140F,stroke:#FF5A1F,color:#ECE3CE
classDef default fill:#2F3640,stroke:#47515C,color:#EDF1F5
classDef accent fill:#2F3640,stroke:#4FC7E6,color:#EDF1F5
class Platform accent
</pre>
</figure>
Expand Down Expand Up @@ -280,71 +278,57 @@ <h2 class="section__title">
</p>
</header>

<ol class="stack">
<ul class="stack">
<li class="stack__row">
<span class="stack__num">001</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/portpxy">portpxy</a>
<p class="stack__desc">HTTP reverse proxy that routes requests to backend ports specified in the URL path (<code>/8081/foo</code> → <code>backend:8081/foo</code>). Useful for exposing dynamic ports (NiFi listeners, webhook receivers) through a single Kubernetes ingress.</p>
</div>
<span class="stack__tag">network</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row">
<span class="stack__num">002</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/jwtpxy">jwtpxy</a>
<p class="stack__desc">Reverse proxy that pre-validates JWTs against Keycloak (or any OIDC realm) and forwards parsed claims as HTTP headers. Backend services read user, roles, and realm-access from headers. No token-handling library required.</p>
</div>
<span class="stack__tag">auth</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row">
<span class="stack__num">003</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/amp">amp</a>
<p class="stack__desc">Kubernetes Admission Mutation Proxy. Forwards Pod admission reviews to a custom HTTP endpoint and applies the JSONPatch operations it returns. Originally built to inject per-user volumes and env vars into JupyterHub-spawned Pods.</p>
</div>
<span class="stack__tag">k8s</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row">
<span class="stack__num">004</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/rxtx">rxtx</a>
<p class="stack__desc">Queue-based data collector with store-and-forward. Buffers HTTP POST data when downstream is offline, replays when it comes back. Built for IoT and edge collection where the network blinks.</p>
</div>
<span class="stack__tag">data</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row">
<span class="stack__num">005</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/asws">asws</a>
<p class="stack__desc">Another static web server. Serves a directory and exposes its listing through a JSON REST API. Useful for download pages, asset catalogs, and any web app that wants to enumerate what's on disk without writing a backend.</p>
</div>
<span class="stack__tag">web</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row">
<span class="stack__num">006</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2/mcp-common">mcp-common</a>
<p class="stack__desc">Shared MCP Go library: interfaces, types, middleware patterns, and utilities. The substrate behind <code>mcp-trino</code>, <code>mcp-datahub</code>, <code>mcp-s3</code>, and any custom server that wants to drop into the same composable stack.</p>
</div>
<span class="stack__tag">mcp · lib</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
<li class="stack__row stack__row--more">
<span class="stack__num">···</span>
<div class="stack__main">
<a class="stack__name" href="https://github.com/txn2?tab=repositories&type=source">all repositories on github</a>
<p class="stack__desc">Full list of source repositories under the txn2 organization.</p>
</div>
<span class="stack__tag">+ more</span>
<span class="stack__year" aria-hidden="true">↗</span>
</li>
</ol>
</ul>
</section>

{{/* ABOUT */}}
Expand Down Expand Up @@ -376,15 +360,15 @@ <h2 class="section__title">
securityLevel: 'strict',
theme: 'base',
themeVariables: {
background: '#15140F',
primaryColor: '#15140F',
primaryTextColor: '#ECE3CE',
primaryBorderColor: '#3A3830',
secondaryColor: '#1B1A15',
tertiaryColor: '#15140F',
lineColor: '#968F80',
textColor: '#ECE3CE',
fontFamily: '"JetBrains Mono", ui-monospace, monospace',
background: '#2F3640',
primaryColor: '#2F3640',
primaryTextColor: '#EDF1F5',
primaryBorderColor: '#47515C',
secondaryColor: '#2F3640',
tertiaryColor: '#2F3640',
lineColor: '#8A95A0',
textColor: '#EDF1F5',
fontFamily: '"Geist Mono", ui-monospace, monospace',
fontSize: '13px'
},
flowchart: { curve: 'basis', padding: 16 }
Expand Down
3 changes: 1 addition & 2 deletions layouts/partials/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
<div class="footer__col footer__col--meta">
<p class="footer__label">build</p>
<p class="footer__mono">{{ .Site.Params.version | default "dev" }} <span class="dot">·</span> built {{ now.Format "2006.01.02" }}<br>
los angeles, ca <span class="dot">·</span> 34.05° / −118.24°<br>
<span data-clock>·· UTC</span></p>
los angeles, ca <span class="dot">·</span> 34.05° / −118.24°</p>
</div>
</div>
<div class="footer__base">
Expand Down
Loading
Loading