Need help with kiali-ui?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

192 Stars 89 Forks Apache License 2.0 2.8K Commits 8 Opened issues


Frontend part of Kiali (use to report issues)

Services available


Need anything else?

Contributors list

:toc: macro :toc-title:

toc::[] = Kiali UI

== Introduction

A UI for the Kiali Istio Observability Project

== Technologies * React.js * Redux

== Quick Start


npm install -g yarn yarn

yarn start

[NOTE] On some platforms,

yarn start
may fail with an error like
Error: ENOSPC: System limit for number of file watchers reached
. To fix this, you need to increase the limit of file watchers on your system. The command may vary depending on the platform, please refer to link:[these instructions].

A new browser window should automatically open. But, if it doesn't then use:


This launches a development environment that instantly reloads any changes to the browser for rapid development.

== Directory Structure *

: Production build output *
: Home of index.html *
: Source and test code *
: Redux actions *
: React top level component *
: Images and other assets *
: Configuration *
: [.line-through]#Redux connected containers# Deprecated *
: React Components *
: Fonts *
: Patternfly Images *
: Top level pages and nested components *
: Redux reducers *
: Api services *
: Redux store definitions *
: Typescript definitions for all kinds of types *
: Various Utilities

== Developing

We use

as the package manager, if adding dependencies to
make sure you install them with
and commit the

=== Testing with Kiali

When developing, it is usual to run this application outside of[kiali].

It is possible to proxy the API requests without having to push the changes to kiali. Add the[proxy] property to

with the url of kiali.

[source, json]

{ "name": "kiali-ui", "version": "0.2.1", "proxy": "", "bugs": {


For a video on getting a Kiali-ui development environment running please see (complete with tips/tricks):


If Kiali is configured with a specific web root, make sure to append it to the URL. On many setups with Kubernetes, the web root will be

by default.


yarn start
and try it!

[source, bash]

$ curl -u admin:admin http://localhost:3000/api Namespaces: [default istio-system kube-public kube-system myproject openshift openshift-infra openshift-node]

Namespace: default Services [docker-registry kubernetes router]

Service Name: docker-registry Service Labels: docker-registry = default Type: ClusterIP


=== Styling[PatternFly] is the main UI components framework. It defines style based on SASS preprocessor. All Patternfly build assets are copied to

. Any React component may have its related SCSS file (such as
- this one includes all PatternFly Sass along with PatternFly React Sass extensions). Once Sass compiles, the resulting CSS can be found next to its SCSS counterpart (ex:

To compile CSS, run:


yarn build-css

Note: Only static assets which are

'ed into your application will be included in your resulting build output.

=== RCUE Styling To use the[RCUE] styled css instead of normal Patternfly

For development run:


env REACTAPPRCUE=true yarn start

For production build run:


env REACTAPPRCUE=true yarn build

=== Style Code Guide

See the link:./STYLE_GUIDE.adoc[STYLE CODE GUIDE file].

=== Testing To run the tests, the standard command

yarn test
is valid, but since some tests are using link:[snapshots] the preferred command is to update them in the same time:


yarn test -u

Then hit

to run all tests.

After running the tests, if any snapshot has been modified (check git status), the diff should be reviewed to make sure it's an intentional or trivial change. Modified snapshots must be part of the commit so that they're reviewed collectively and won't make CI build fail.

Note: for OS/X users testing requires watchman to be installed


brew install watchman

== Testing Libraries for Vulnerabilities We use[Snyk] for JS vulnerability testing. Snyke will run automatically on every commit pushed to


If you wish to run Snyk manually to test before you push, then the following command can be used:


yarn run snyk

== Production Builds Use

yarn build
which will bundle the build artifacts using webpack into the

== Analyze Javascript Library Size To produce a graphical representation of the all the libraries in the project (showing what % of total each one is).


yarn build

yarn run analyze

Which will then launch a browser with your graphical source map displayed.

== License and Copyright See the link:./LICENSE[LICENSE file].

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.