Cloud Native 9 min read

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.

Architect's Tech Stack
Architect's Tech Stack
Architect's Tech Stack
Naftis – A Web‑Based Istio Dashboard with Task Templates and Full Deployment Guide

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.yaml

Port‑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.toml

Mac OS:

GOOS=darwin GOARCH=amd64 make build && ./bin/naftis-api start -c config/in‑local.toml

Or simply run the provided script: ./run Nginx Proxy

cp tool/naftis.conf <your-nginx-conf-directory>/naftis.conf

Adjust the file as needed and reload Nginx.

Node Proxy for Front‑end

cd src/ui
npm install
npm run dev

Access 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 -v

Common 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeDockerKubernetesGoDevOpsDashboardIstio
Architect's Tech Stack
Written by

Architect's Tech Stack

Java backend, microservices, distributed systems, containerized programming, and more.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.