GithubHelp home page GithubHelp logo

andrask / cloudflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nokia/cloudflow

0.0 2.0 0.0 520 KB

A workflow visualization tool for OpenStack Mistral (https://github.com/openstack/mistral)

License: Apache License 2.0

JavaScript 1.03% HTML 14.48% CSS 11.98% TypeScript 72.51%

cloudflow's Introduction

CloudFlow

A workflow visualization tool for OpenStack Mistral (https://github.com/openstack/mistral)

Live Demo

http://rawgit.com/nokia/CloudFlow/master/docs/index.html

Features

  • Visualize the flow of workflow executions
  • Identify the execution path of a single task in huge workflows
  • Search by any entity ID
  • Easily distinguish between simple task (an action) and a sub workflow execution
  • Follow tasks with a retry and/or with-items
  • 1-click to copy task's input/output/publish/params values
  • See complete workflow definition and per task definition YAML
  • And more...

Table of Contents

Requirements

Mistral >= Pike

CloudFlow requires Mistral Pike or greater, as we rely on new runtime_context added to Mistral Pike.

Installing CloudFlow on the Mistral machine

CloudFlow has no dedicated backend service and passes the API calls to Mistral via Proxy settings.

In the scripts folder there are 2 configuration files: one for when using ngnix and one for apache.

To run CloudFlow on your Mistral instance:

  1. Go to releases tab and download the latest release. Extract into a known location (i.e. /opt) so you'll have a /opt/CloudFlow/ folder.
    • There will be 2 folders in there: dist which holds the UI application, and scripts for the various web servers options.
  2. Copy the appropriate configuration file to the configuration directory on your Mistral machine:
    • nginx: usually: /etc/nginx/conf.d/http/servers/
    • Apache2:
      • Linux: /etc/apache2/sites-enabled/.
      • Mac: /etc/apache2/other/. Also make sure that the environment variable APACHE_LOG_DIR is set to the proper value. On Mac computers it's usually /var/log/apache2.
      • Note that for apache2 several modules need to be enabled. See file for more info.
  3. Optionally update the path in the configuration file(s) to point to the dist folder (i.e. /opt/CloudFlow/dist)
  4. Optionally update the port for which CloudFlow will be served in the browser (currently: 8000)
  5. Optionally enable HTTPS in the configuration file.
  6. Restart nginx/apache.
  7. Open the browser and navigate to http[s]://<your_mistral_ip>:8000.
  8. Whenever there is an update to CloudFlow, simply download the latest version and extract it in the same place.

A Dockerfile will be provided in future release.

Authentication

OpenID Connect

CloudFlow supports the OpenID Connect protocol (and was tested against KeyCloak).

If your Mistral requires authentication and uses the OpenID Connect protocol, create the following auth.json file under the assets/ folder (i.e. assets/auth.json):

{
  "_type": "openid-connect",
  "issuer": "<Url of the Identity Provider>",
  "loginUrl": "<Url for login endpoint>",
  "clientId": "<Client Identifier valid at the Authorization Server>"
}

You can obtain all the URLs by examining the output of https://<openid-server-ip>:<port>/auth/realms/<realm>/.well-known/openid-configuration

No Authentication

If you want to work w/o authentication, make sure your Mistral does not require authentication to perform REST API requests, by setting the following in /etc/mistral/mistral.conf:

[pecan]
auth_enable=False

Also, make sure there is no auth.json file under the assets/ directory.

Development

  • Clone this repo
  • yarn install (preferred) or npm install
  • Edit proxy.conf.json to point your Mistral instance.
  • Edit the auth.json file (if needed)
  • npm run start

Building

  • Clone this repo
  • yarn install (preferred) or npm install
  • npm run build
  • The artifacts will be stored in dist folder.

CloudFlow

cloudflow's People

Contributors

andrask avatar csatarigergely avatar guyshaanan avatar rakhmerov avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.