sergi / kashti

Kashti is a dashboard for your Brigade pipelines.

Home Page:https://brigade.sh/#kashti

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This branch is under active development and may break at any time. Please use master or releases for stable versions of Kashti.

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 chart/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.

About

Kashti is a dashboard for your Brigade pipelines.

https://brigade.sh/#kashti

License:MIT License


Languages

Language:TypeScript 66.7%Language:CSS 16.8%Language:HTML 14.2%Language:JavaScript 2.0%Language:Smarty 0.3%