finds.dev← search

// the find

XiaoMi/naftis

★ 1,883 · Go · Apache-2.0 · updated Aug 2023

An awesome dashboard for Istio built with love.

Naftis is a web dashboard for managing Istio service meshes, built by Xiaomi with a Go API backend and a React/Redux frontend. It wraps common Istio operations (routing rules, circuit breaking, rate limiting) in a template-based UI so operators don't have to hand-write CRD YAML, and adds a force-directed service graph and pod/service diagnostics on top.

The task-template model is a genuinely useful idea — pre-built templates for traffic shifting, timeout, circuit breaking and rate limiting let you generate and roll back specific Istio CRD changes instead of hand-editing YAML. The service graph (d3 + cola.js) supports picking a specific root node instead of just rendering the whole mesh, which is a real pain point with Kiali-style full-mesh views. Deployment is a straightforward `kubectl apply`, and there's a one-line script to fetch the latest release manifests.

Last commit is from August 2023 and the README still says 'Istio 1.0 supported' — current Istio is well past 1.2x with major API and CRD changes since, so this is very likely broken against any mesh built in the last few years. It authenticates with dgrijalva/jwt-go, an archived library with known CVEs that the Go community has largely moved off of. The quick-start deploys with a hardcoded default admin/admin login and no mention of changing it. It also drags in a full MySQL instance as a dependency just to run a dashboard, and CI is wired to Travis, which stopped being viable for open source projects years ago.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →