Skip to content
This repository has been archived by the owner on Aug 22, 2021. It is now read-only.

ssbanerje/openshift-workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Openshift Workflows

A client for the OpenShift which provides an interface to the Broker-API for simple deployments as well as more complicated workflows.

Screenshot

Installation

  • Get the latest source code
$ git clone https://github.com/subszero/openshift-workflows.git
  • Install NodeJS and NPM from here

  • Install all dependencies

$ npm install
  • Generate new SSL certificates in the certs/ folder

  • Run the server and open the page in a browser

$ node app.js -b

Configuration files

This application was built to be used with the FreeShift or MegaShift service provided on the Red Hat Cloud. However, it can be used with any deployment of the Openshift Origin. If however, you have tweaked this to include non-standard cartridges and templates, it may be required to make changes in the following configuration files -

  • public/conf/images.json - This file controls the images that are used to display cartridges on the screen.
{
    "Node.js 0.6": "/img/icons/nodejs.png",
    "Zend Server 5.6": "/img/icons/zend.png",
    "Ruby 1.9": "/img/icons/ruby.png",
    "JBoss Application Server 7.1": "/img/icons/jboss_as7.png",
    "Python 2.6": "/img/icons/python.png",
    "Jenkins Server 1.4": "/img/icons/jenkins.png",
    "Ruby 1.8": "/img/icons/ruby.png",
    "JBoss Enterprise Application Platform 6.0": "/img/icons/jboss.png",
    "PHP 5.3": "/img/icons/php.png"
}

The file stores a hash with the name of the cartridge as key and the location of the corresponding image as value.

  • public/conf/templates.json - This file controls the images that are used to display templates on the screen.
{
    "CakePHP": "/img/icons/cakephp.png",
    "CakePHP (TEST)": "/img/icons/cakephp_Test.png",
    "Django": "/img/icons/django.png",
    "Django (Test)": "/img/icons/django_Test.png"
}

The file stores a hash with the name of the template as key and the location of the corresponding image as value.

  • public/conf/rules.json - This file defines dependencies between cartridges and templates, so that a semantically correct workflow can be defined.
{
    "cartridge": {
        "rockmongo-1.1": ["mongodb-2.2"],
        "10gen-mms-agent-0.1": ["mongodb-2.2"],
        "phpmyadmin-3.4": ["mysql-5.1"]
    },
    "template": {
        "cakephp": ["mysql-5.1"],
        "drupal": ["mysql-5.1"],
        "rails": ["mysql-5.1"],
        "wordpress": ["mysql-5.1"]
    }
}

The configuration file has two parts, the cartridge hash, which stores the dependencies of cartridges, ie. "rockmongo-1.1": ["mongodb-2.2"] means that RockMongo cannot be installed without MongoDB installed first. The second part of this configuration file, the template hash, stores the embedded cartridges that are installed along with the template, ie. "cakephp": ["mysql-5.1"] means that CakePHP installs MySQL as one of it's embedded cartridges.

Useful Links

Openshift

Application Architecture

Poster

Technologies used in the backend

Technologies used in the frontend

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •