Kashti is a dashboard for your Brigade pipelines.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode ensure ordering of test imports Oct 5, 2018
charts/kashti
docs
e2e ref(e2e): refactor e2e to use page objects Jan 16, 2018
src
.babelrc
.dockerignore
.editorconfig chore: initial commit from @angular/cli Jan 9, 2018
.eslintrc.json chore(eslint): add ESLint rules Jan 15, 2018
.gitignore
Dockerfile
Dockerfile.e2e
LICENSE
README.md
angular.json
brigade.js
code-of-conduct.md add a link to Microsoft's Code of Conduct May 16, 2018
karma.conf.js
package.json feat(releasing): add docker-* scripts to package.json, improve/update… Oct 15, 2018
protractor.conf.js
tsconfig.json
tslint.json
yarn.lock

README.md

Kashti is a dashboard for your Brigade pipelines.

kashti-animation


Brigade provides event-driven scripting for Kubernetes. With a simple JavaScript file, you can build elaborate pipelines composed of multiple containers running in parallel or serially. Among other possible applications, Brigade can be used to build highly flexible CI/CD pipelines.

Kashti is a web dashboard for Brigade, helping you easily visualize and inspect your Brigade builds. Kashti gives you a deep view into your Brigade projects, scripts, and jobs.

This repo has a self-hosted demo

Installation and Configuration

Kashti is built atop Brigade. You can read the full Installation Guide to see how to install it into a cluster that already runs Brigade.

Kashti is Experimental

Kashti is in an early stage of development. To get started coding on Kashti, check out the Developer Guide

The Kashti Developer Guide

This guide explains how to work on the Kashti codebase.

Clone Repo and Build Dependencies

Begin by cloning this repository with your favorite Git tool.

$ git clone git@github.com:Azure/kashti.git
$ cd kashti
$ yarn global add @angular/cli
$ yarn install                      # install project dependencies

Kashti Development

$ ng serve                          # start a local server in development mode
$ ng serve --environment prod       # start a local server in production mode (minification, uglification, etc.)
$ ng lint                           # run linters 
$ ng test                           # run unit tests
$ ng e2e                            # run e2e tests in Chrome
$ yarn e2e:watch                    # run e2e tests in watch mode. Be sure to run `ng serve` first!

ng serve, ng test, and ng e2e:watch will watch for changes to the project and automatically recompile the application and if running tests, re-run tests against the latest changes.

We require all tests to pass before merging pull requests (and ideally, all commits should be good individually, too).

Deployment

Kashti can be run locally via a ng serve.

To install in a Kubernetes development cluster, we recommend using the chart.

If you are running Minikube, you can do a full build of this repo into a Docker image:

$ eval $(minikube docker-env)
$ yarn docker-build
$ helm install -n brigade-ui charts/kashti --set brigade.apiServer=http://localhost:7745

This will push a copy of the Docker image into your Minikube docker registry and then install the chart.

The value of brigade.apiServer should be the fully qualified URL to your Brigade installation's API server. This is the URL that the client will see, so you may need to use the outside IP address, not the cluster IP.

The example above can be used along with a few kubectl port-forward commands to locally access your Kashti UI. See the Install Guide for more.