Razeedash

June 16, 2020 ยท View on GitHub

Dependabot Status

Travis Build Status https://travis-ci.com/razee-io/razeedash

Razeedash is an app to manage deployments on Kubernetes

Requirements

  • Kubernetes CLI Tools
  • Kubernetes Cluster
  • razeedash-api
  • MongoDB
  • Register GitHub Application

Environment Varibles

When deploying RazeeDash these variables can be set by adding them to the razeedash-config ConfigMap.

NameRequiredValueDescription
MONGO_URLRequired-URL to your mongo instance
MONGO_OPTIONSOptional-Set additional mongo connection string options
OAUTH_SECRET_KEYOptional-GitHub OAuth Secret Key
BITBUCKET_URLOptionalhttps://bitbucket.org/Required when using Bitbucket Enterprise authentication
BITBUCKET_APIOptionalhttps://api.bitbucket.org/2.0/Required when using Bitbucket Enterprise authentication
BUILD_IDOptionalTravis build IDTravis Build ID
LAST_COMMIT_IDOptionalGitHub commit hashcodegit log --pretty=format:'%h' -n 1

Mongo connection options

You can optionally define a MONGO_OPTIONS environment variable to set mongo connection string settings. For example, to ensure that meteor connects using ssl=true you could use

export MONGO_OPTIONS='{"ssl": true}'

Register GitHub application

To use OAUTH authentication to GitHub you need to Register a new Github OAuth App Example registration for running locally.

FieldValue
NameLocal Razeedash Development
DescriptionLocal development
Homepage URLhttp://localhost:3000
User authorization callback URLhttp://localhost:3000/_oauth/github

Using Bitbucket Enterprise authentication

Add bitbucket_url and bitbucket_api to the razeedash-config ConfigMap. For example:

    apiVersion: v1
    kind: ConfigMap
    data:
        bitbucket_url: https://bitbucket.your_company.org/
        bitbucket_api: https://api.bitbucket.your_company.org/2.0/

Deploy components

Follow razeedash-api instructions to setup razeedash-api and MongoDB.

# Get latest release of razeedash and deploy
kubectl apply -f "https://github.com/razee-io/Razeedash/releases/latest/download/resource.yaml"

Check logs across pods using kc_logs.sh script from kube-cloud-scripts

kc_logs.sh razee razeedash 1m

Local Development

Requirements:

Install Packages

npm install

Local development with Minikube

local dev with minikube

NPM Commands

NameDescription
npm installInstall packages
npm startRun app
npm run lintRun lint ES6, yaml, json, docker and markdown
npm run eslintFix common ES6 lint issues
npm run jsonlintLint JSON files
npm run dockerlintLint Dockerfile
npm run shlintLint shell scripts
npm run markdownlintLint markdown files
npm testRun unit tests
npm run test:localRun tests and watch for changes
npm run test:local:coverageRun tests, generate coverage and watch
npm run test:unitRun tests
npm run test:unit:coverageRun tests and generate coverage