Kashti is a dashboard for your Brigade pipelines.
vdice Merge pull request #233 from vdice/fix/brigade-js
fix(brigade.js): success notification should be callback
Latest commit 687ea2d Oct 15, 2018
Permalink
Failed to load latest commit information.
.vscode ensure ordering of test imports Oct 5, 2018
charts/kashti feat(charts/kashti): add checksum annotations to deployment Oct 8, 2018
docs feat(releasing): add docker-* scripts to package.json, improve/update… Oct 15, 2018
e2e ref(e2e): refactor e2e to use page objects Jan 16, 2018
src fix(dashboard.component.html): use master for install.md link Oct 15, 2018
.babelrc chore(*): use webpack instead of gulp pipelines Dec 13, 2017
.dockerignore ref(deps): use npm packages for fastclick and viewport-units-buggyfill Dec 1, 2017
.editorconfig chore: initial commit from @angular/cli Jan 9, 2018
.eslintrc.json chore(eslint): add ESLint rules Jan 15, 2018
.gitignore [#118] update gitignore May 17, 2018
Dockerfile chore(dockerfile): update for an angular5 world Jan 16, 2018
Dockerfile.e2e Add Dockerfile.e2e with Google Chrome for e2e testing Aug 13, 2018
LICENSE Fixed license Nov 14, 2017
README.md Fix helm chart path for local development Oct 4, 2018
angular.json Add new demo environment Jul 19, 2018
brigade.js fix(brigade.js): success notification should be callback Oct 15, 2018
code-of-conduct.md add a link to Microsoft's Code of Conduct May 16, 2018
karma.conf.js remove non-default browserNoActivityTimeout setting from karma.conf Oct 5, 2018
package.json feat(releasing): add docker-* scripts to package.json, improve/update… Oct 15, 2018
protractor.conf.js Remove window size from Protractor config Aug 13, 2018
tsconfig.json chore: initial commit from @angular/cli Jan 9, 2018
tslint.json update angular-cli, bump packages Jul 18, 2018
yarn.lock add updated yarn.lock Oct 15, 2018

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.