Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ SCAN Public

SCAN (Slow Cluster Atlas Navigator) is a slow, heavy-weight, realtime*, basic Kubernetes cluster navigator. Just for fun.

Notifications You must be signed in to change notification settings

inFocus7/SCAN

Repository files navigation

SCAN badge icon

SCAN (Slow Cluster Atlas Navigator)

SCAN is a k9s-like visualizer that renders Kubernetes as a living galaxy. This repo contains the v1 monorepo scaffolding:

  • controller (Go): Watches the K8s API using informers and publishes compact deltas to NATS JetStream.
  • backend (Go): Consumes deltas, maintains hot state, snapshots to Postgres, and serves the HTTP/WS API.
  • web (TypeScript/React/Three.js): Renders the scene, initializing from /snapshot and applying live deltas via /stream.
  • migrations: SQL migrations for Postgres state.
  • deploy/dev: Local development docker-compose (NATS, Postgres, Backend).
  • charts: Helm charts (to be filled in later phases).

IMPORTANT: THIS IS HEAVY AND MAY REQUIRE DECENT AMOUNT OF GPU USAGE FOR THE WEBUI. TRY THIS AT YOUR OWN RISK! (at least until this eventually gets rebranded to CAN: Slow Cluster Atlas Navigator)

Quick start (local)

Prereqs: Go 1.22+, Node 20+, Docker.

  • Backend
    cd backend && go mod tidy && go build ./...
  • Web
    cd web && npm install --no-fund --no-audit && npm run build
  • Dev compose (NATS, Postgres, Backend):
    cd deploy/dev && docker compose up --build

run bash ./scripts/quick-dev.sh for a quick demo setup.

Demo showcasing SCAN

TODO:

  • Change 'ksa' to 'scan: slow cluster atlas navigation'
  • Fix WS drops.
    • don't know what could have caused this, i think it was when the log streaming was implemented, at earliest.
    • look into the log stream and see if it can affect the rest.
  • Fix UI reseting on web connection drop+gain so items keep moving
    • ensure 'Backend: {status}' reflects dropped statuses
  • Resolve 'error: error parsing STDIN: error converting YAML to JSON: yaml: line 22: mapping values are not allowed in this context' in quick dev script

About

SCAN (Slow Cluster Atlas Navigator) is a slow, heavy-weight, realtime*, basic Kubernetes cluster navigator. Just for fun.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published