8000 GitHub - hyperpolymath/flatracoon-netstack: Modular declarative network stack integration layer
[go: up one dir, main page]

Skip to content

hyperpolymath/flatracoon-netstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

62 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

License Palimpsest Status Completion Phase

FlatRacoon Network Stack

Jonathan β€” Systems Architect :toc: :toclevels: 3 :icons: font

Overview

The FlatRacoon Network Stack is a production-ready, modular, declarative, and fully narratable ecosystem designed to integrate secure access (Twingate), encrypted overlay networking (ZeroTier), distributed storage (IPFS), IPv6-only networking, Hesiod DNS, and BGP backbone simulation into a cohesive, orchestrated platform.

This repository acts as the integration layer and source of truth for all components. Each module is independently deployable, immutable, and reversible, while the integrated tooling composes them into a unified operational system.

Current Status: 🟒 All core components (orchestrator, TUI, interface SDK) are production-ready at 100% completion. The stack is now entering the seam smoothing phase to enhance robustness, user experience, and enterprise-grade quality.

Architecture Layers

Access & Identity Layer

Repository: twingate-helm-deploy

Provides secure ingress/egress into the Kubernetes environment using Helm-managed Twingate Connectors.

Overlay Networking Layer

Repository: zerotier-k8s-link

Establishes encrypted peer-to-peer mesh networking between Kubernetes nodes.

Distributed Storage Layer

Repository: ipfs-overlay

Deploys private IPFS nodes bound to the ZeroTier overlay for secure, decentralised storage.

Network Enforcement Layer

Repository: ipv6-site-enforcer

Enforces IPv6-only ingress with NAT64/DNS64 for legacy client compatibility.

Naming & Discovery Layer

Repository: hesiod-dns-map

Provides Hesiod (HS-class) DNS-based service discovery and resource mapping.

Backbone Simulation Layer

Repository: bgp-backbone-lab

Private BGP routing lab for route policy development and testing.

Platform Layer

Repository: flatracoon-os

Minix-Flatcar hybrid OS prototype for immutable, microkernel-driven container hosting.

Observability Layer

Repository: network-dashboard

Phoenix LiveView dashboard for real-time monitoring of all stack components.

Orchestration Layer

This repository - orchestrator/

Phoenix/Elixir orchestrator that consumes machine-readable manifests from all modules and coordinates deployment, configuration, health checks, and lifecycle events.

Exposes REST API for programmatic and TUI access.

Interface Layer

This repository - tui/ and interface/

TUI (Ada/SPARK): Interactive command-line interface with HTTP client for orchestrator API. Compiles to a 250KB statically-linked binary with full network module management capabilities.

SDK (Deno/ReScript): Type-safe JavaScript/TypeScript SDK for programmatic orchestrator access. Provides FlatRacoonClient with result types for error handling and ES6 module output.

Technology Stack

Component Technology

Orchestrator

Elixir / Phoenix LiveView

TUI

Ada/SPARK (kith patterns)

Interface

Deno / ReScript

Configuration

Nickel (via Mustfile)

Task Runner

Just + Must

Secrets

poly-secret-mcp (Vault/SOPS)

Kubernetes

poly-k8s-mcp (kubectl/Helm)

Observability

poly-observability-mcp (Prometheus/Grafana/Loki)

Integration Flow

  1. Twingate establishes secure access to the cluster.

  2. ZeroTier forms an encrypted mesh between nodes.

  3. IPFS nodes operate exclusively on the ZeroTier overlay.

  4. IPv6 enforcer ensures all traffic is v6-native.

  5. Hesiod provides service discovery across the mesh.

  6. BGP lab validates routing policies before production.

  7. Network dashboard provides real-time visibility.

  8. The orchestrator coordinates cross-module configuration and health.

Design Principles

  • Declarative over imperative

  • Immutable over mutable

  • Modular over monolithic

  • Narratable over opaque

  • Reversible over destructive

Repository Structure

flatracoon-netstack/
β”œβ”€β”€ orchestrator/          # Elixir/Phoenix orchestrator
β”‚   β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ config/
β”‚   └── test/
β”œβ”€β”€ tui/                   # Ada/SPARK TUI (kith patterns)
β”‚   └── src/
β”œβ”€β”€ interface/             # Deno/ReScript interface
β”‚   └── src/
β”œβ”€β”€ configs/               # Nickel configurations
β”‚   β”œβ”€β”€ base.ncl
β”‚   β”œβ”€β”€ modules.ncl
β”‚   └── secrets.ncl
β”œβ”€β”€ modules/               # Git submodules
β”‚   β”œβ”€β”€ twingate-helm-deploy/
β”‚   β”œβ”€β”€ zerotier-k8s-link/
β”‚   β”œβ”€β”€ ipfs-overlay/
β”‚   β”œβ”€β”€ ipv6-site-enforcer/
β”‚   β”œβ”€β”€ hesiod-dns-map/
β”‚   β”œβ”€β”€ bgp-backbone-lab/
β”‚   β”œβ”€β”€ flatracoon-os/
β”‚   β”œβ”€β”€ network-dashboard/
β”‚   β”œβ”€β”€ poly-k8s-mcp/
β”‚   β”œβ”€β”€ poly-secret-mcp/
β”‚   └── poly-observability-mcp/
β”œβ”€β”€ health/                # Health check definitions
β”œβ”€β”€ docs/                  # Extended documentation
β”œβ”€β”€ .github/workflows/     # CI/CD
β”œβ”€β”€ Justfile               # Task runner
β”œβ”€β”€ Mustfile               # Must configuration (Nickel)
β”œβ”€β”€ STATE.scm              # Project state
β”œβ”€β”€ META.scm               # Architecture decisions
β”œβ”€β”€ ECOSYSTEM.scm          # Ecosystem relationships
β”œβ”€β”€ PLAYBOOK.scm           # Operational playbook
β”œβ”€β”€ AGENTIC.scm            # AI agent guidance
β”œβ”€β”€ NEUROSYM.scm           # Neurosymbolic reasoning
β”œβ”€β”€ SECURITY.md            # Tri-perimeter security model
β”œβ”€β”€ CONTRIBUTING.md        # Contribution guide
└── README.adoc            # This file

Module Manifests

Each module exposes a machine-readable manifest consumed by the orchestrator:

{
  "module": "<module-name>",
  "version": "0.1.0",
  "layer": "<layer-name>",
  "requires": ["<dependencies>"],
  "provides": ["<capabilities>"],
  "config_schema": "configs/schema.ncl",
  "health_endpoint": "/health",
  "metrics_endpoint": "/metrics"
}

Agentic Guidance

  • Each module exposes a machine-readable manifest consumed by this orchestrator.

  • Cross-module dependencies are resolved only at this layer.

  • Modules must remain independently deployable and testable.

  • All configuration must be deterministic, reversible, and auditable.

  • The orchestrator is the single source of truth for deployment state.

Quick Start

See DEPLOYMENT.adoc for comprehensive deployment guide.

Prerequisites

  • Erlang/OTP 26+, Elixir 1.16+

  • GNAT Ada 2022 (for TUI)

  • Deno 1.40+ (for interface SDK)

  • Kubernetes 1.28+ with kubectl configured

  • Helm 3.12+

Deploy Network Layer

# Deploy ZeroTier overlay
kubectl apply -f https://github.com/hyperpolymath/zerotier-k8s-link/releases/latest/download/zerotier-daemonset.yaml

# Deploy Twingate access layer
helm install twingate-connector twingate/connector --namespace twingate-system --create-namespace

# Deploy IPFS storage layer
kubectl apply -f https://github.com/hyperpolymath/ipfs-overlay/releases/latest/download/statefulset.yaml

Deploy Orchestrator

cd orchestrator
mix deps.get
mix ecto.create && mix ecto.migrate
MIX_ENV=prod mix release
_build/prod/rel/flatracoon_orchestrator/bin/flatracoon_orchestrator start

Build TUI

cd tui
gprbuild -P flatracoon_tui.gpr
sudo cp bin/flatracoon_tui /usr/local/bin/flatracoon

# Use the TUI
flatracoon status
flatracoon health
flatracoon deploy zerotier-k8s-link

Use Interface SDK

cd interface
deno task build

# Example usage
deno run --allow-net examples/basic.res.js

Integrated Repositories (Submodules)

Core Modules

Module Purpose Layer

twingate-helm-deploy

Twingate Connector via Helm

Access

zerotier-k8s-link

ZeroTier overlay mesh

Overlay

ipfs-overlay

Private IPFS cluster

Storage

ipv6-site-enforcer

IPv6-only enforcement

Network

hesiod-dns-map

Hesiod DNS service discovery

Naming

bgp-backbone-lab

BGP routing simulation

Network

flatracoon-os

Microkernel container OS

Platform

network-dashboard

Real-time monitoring

Observability

MCP Integrations

Module Purpose

poly-k8s-mcp

Kubernetes orchestration (kubectl, Helm, Kustomize)

poly-secret-mcp

Secrets management (Vault, SOPS)

poly-observability-mcp

Observability (Prometheus, Grafana, Loki, Jaeger)

Status

Phase

🟒 Production Ready (Seam Smoothing)

Completion

100%

Core Components

All production-ready (orchestrator, TUI, interface SDK)

Network Modules

twingate-helm-deploy, zerotier-k8s-link, ipfs-overlay (100%)

Next Phase

Seam smoothing and polish (see Seam Analysis)

Component Status

Component Status Completion

Orchestrator (Elixir/Phoenix)

🟒 Production Ready

100%

TUI (Ada/SPARK)

🟒 Production Ready

100%

Interface SDK (Deno/ReScript)

🟒 Production Ready

100%

twingate-helm-deploy

🟒 Production Ready

100%

zerotier-k8s-link

🟒 Production Ready

100%

ipfs-overlay

🟒 Production Ready

100%

ipv6-site-enforcer

🟑 Scaffolding

5%

hesiod-dns-map

🟑 Scaffolding

5%

bgp-backbone-lab

🟑 Scaffolding

5%

flatracoon-os

🟑 Research

2%

network-dashboard

🟑 Scaffolding

5%

poly-k8s-mcp

🟒 Production Ready

100%

poly-secret-mcp

🟒 Production Ready

100%

poly-observability-mcp

🟒 Production Ready

100%

What’s Next: Seam Smoothing

The FlatRacoon Stack is functionally complete with all core components operational. The focus now shifts to smoothing, sealing, and shining the integration points.

See SEAM_ANALYSIS.adoc for the comprehensive analysis identifying:

  • πŸ”΄ 0 Critical seams - Production ready!

  • 🟑 7 Important seams - UX and robustness improvements

  • 🟒 12 Nice-to-have seams - Polish for enterprise-grade quality

Priority improvements: - Interface SDK JSON parsing implementation - Orchestrator deployment verification - TUI HTTP error code handling - Module auto-discovery - Configuration standardization - Enhanced integration testing

License

PMPL-1.0-or-later

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0