0.2.0 • Published 7 years ago

node-red-contrib-fission v0.2.0

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
7 years ago

node-red-contrib-fission

Node Red extension for Fission with function invocation/management and other commands support.

Demos

Invoke Hello World Function: In this demo, we create a simple inject node to inject messages manually, a debug node to output messages, and a fission function node to invoke hello in fission via fission function endpoint. The params are packed and sent to the fission function, the result is parsed and then passed to the next node in the flow.

Create a web app in 30 minutes In this demo, we create 12 flows which consist of 16 functions and 62 nodes. It required 3rd-party services (Minio, Redis, Rethinkdb) managed by service-catalog, adapters to translate events in 3rd-party services into messages in the flow charts, and some standard functions provided by us (e.g. image processing).

Monitor the flow charts online In this demo, we are running the web app backend using fission and nodered. An admin ui is using the web app Http API to pull the images and client data. 100 clients are uploading images and reporting status at different rate. We can see every invocation on the flows we composed in the last demo. The detail metrics of each fission function are displayed in charts.

Installation

Optional Perquisite

Metrics

You need to enable the metrics feature in this PR and expose the prometheus service prometheus on port 9090 in fission-metrics namespace.

Auto scaling

You need to enable the auto scaling feature in this PR

Deploy Node-red with other fission services

# use the official node red docker image
$ kubectl create -f nodered.yaml

Install fission nodes from Node-red palette

Open the node red ui on nodeport 31318, search for node-red-contrib-fission in node red palette and install.

Available nodes

  • fission-invocation: node which invokes and manages fission functions
  • fission-params-validate: node which validates the input messages base on rules

WIP nodes

The following node requires standard fission functions or require additional modification to fission:

  • fission-httptrigger: node which manages fission http triggers, and receive http events from fission
  • fission-timetrigger: node which manages fission time triggers, and receive cron events from fission
  • fission-natstrigger: node which manages fission mq triggers, and receive mq events from fission or publish mq events to fission
  • fission-minio-adapters: not released
  • fission-redis-adapters: not released
  • fission-rethinkdb-adapters: not released

Dev branch

k8s branch contains all the nodes I am working on. If you are interested, check that out.