Naftis – A Web‑Based Istio Dashboard with Task Templates and Full Deployment Guide
Naftis is an open‑source web dashboard for Istio that lets users define custom task templates, manage services, view topology and metrics, and provides step‑by‑step Kubernetes deployment instructions, Docker images, and a complete developer guide for building and running the platform.
Naftis is a web‑based Istio dashboard that uses task templates to simplify service‑mesh operations. Users can create, edit, and execute custom templates to perform various governance functions.
Features
Integrated common dashboards
Customizable task templates
Rollback support
Service topology for root nodes
View Istio Services and Pods
One‑click deployment via kubectl
Supports Istio 1.0+
Dependencies
Istio > 1.0
Kubernetes >= 1.9.0
HIUI >= 1.0.0 (React component library from Xiaomi)
The front‑end UI is built with the open‑source HIUI React components ( https://github.com/XiaoMi/hiui).
Quick Start
Create the namespace and apply manifests:
kubectl create namespace naftis && kubectl apply -n naftis -f mysql.yaml && kubectl apply -n naftis -f naftis.yamlPort‑forward to access Naftis:
kubectl -n naftis port-forward $(kubectl -n naftis get pod -l app=naftis-ui -o jsonpath='{.items[0].metadata.name}') 8080:80 &Open http://localhost:8080 (default user/password: admin / admin).
Kubernetes Deployment Steps
Create the naftis namespace:
Deploy MySQL:
Deploy Naftis API and UI:
Verify services and pods with kubectl get svc -n naftis and kubectl get pod -n naftis.
Local Run
Linux:
make build && ./bin/naftis-api start -c config/in‑local.tomlMac OS:
GOOS=darwin GOARCH=amd64 make build && ./bin/naftis-api start -c config/in‑local.tomlOr simply run the provided script: ./run Nginx Proxy
cp tool/naftis.conf <your-nginx-conf-directory>/naftis.confAdjust the file as needed and reload Nginx.
Node Proxy for Front‑end
cd src/ui
npm install
npm run devAccess http://localhost:5200 to view the UI.
Dashboard Overview
The dashboard shows common charts such as request success rate and 4XX counts, service details, pod lists, and topology graphs.
Getting the Source Code go get github.com/xiaomi/naftis Environment Variables
# Example configuration in ~/.profile
export GOOS="linux" # or "darwin"
export GOARCH="amd64" # or "386"
export USER="sevennt"
export HUB="docker.io/$USER"Use autoenv and run cd. to apply.
Go Dependencies (dep)
# Install dep
go get -u github.com/golang/dep
dep ensure -vCommon Make Commands make – compile all targets make build – compile Go binaries, front‑end assets, and Kubernetes manifests make build.api – compile API binary make build.ui – compile UI assets make docker – build Docker images make push – push images to Docker Hub ./bin/naftis-api -h – show help
Naftis is open‑source on GitHub ( https://github.com/XiaoMi/naftis) and welcomes contributions to enrich its Istio ecosystem.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Architect's Tech Stack
Java backend, microservices, distributed systems, containerized programming, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
