All Projects → open-rpa → Openflow

open-rpa / Openflow

Licence: mpl-2.0
Scalable, secure workflow solution

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Openflow

Openrpa
Free Open Source Enterprise Grade RPA
Stars: ✭ 596 (+388.52%)
Mutual labels:  automation, workflow
Pipedream
Connect APIs, remarkably fast. Free for developers.
Stars: ✭ 2,068 (+1595.08%)
Mutual labels:  automation, workflow
Prefect
The easiest way to automate your data
Stars: ✭ 7,956 (+6421.31%)
Mutual labels:  automation, workflow
Ck
Collective Knowledge framework (CK) helps to organize black-box research software as a database of reusable components and micro-services with common APIs, automation actions and extensible meta descriptions. See real-world use cases from Arm, General Motors, ACM, Raspberry Pi foundation and others:
Stars: ✭ 395 (+223.77%)
Mutual labels:  automation, workflow
Automation
code generator
Stars: ✭ 65 (-46.72%)
Mutual labels:  automation, workflow
Create Pull Request
A GitHub action to create a pull request for changes to your repository in the actions workspace
Stars: ✭ 473 (+287.7%)
Mutual labels:  automation, workflow
Sooty
The SOC Analysts all-in-one CLI tool to automate and speed up workflow.
Stars: ✭ 867 (+610.66%)
Mutual labels:  automation, workflow
Wexflow
An easy and fast way to build automation and workflows on Windows, Linux, macOS, and the cloud.
Stars: ✭ 2,435 (+1895.9%)
Mutual labels:  automation, workflow
Apple Automation
iOS/macOS 自动化,效率玩法探索。
Stars: ✭ 60 (-50.82%)
Mutual labels:  automation, workflow
Bpmn Elements
Executable workflow elements based on BPMN 2.0
Stars: ✭ 54 (-55.74%)
Mutual labels:  automation, workflow
Shortcutsdirectory
A collection of user-submitted shortcuts for Shortcuts for iOS.
Stars: ✭ 376 (+208.2%)
Mutual labels:  automation, workflow
Aws Workflows On Github
Workflows for automation of AWS services setup from Github CI/CD
Stars: ✭ 95 (-22.13%)
Mutual labels:  automation, workflow
Utask
µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋
Stars: ✭ 374 (+206.56%)
Mutual labels:  automation, workflow
Beehive
A flexible event/agent & automation system with lots of bees 🐝
Stars: ✭ 5,348 (+4283.61%)
Mutual labels:  automation, workflow
Streamsheets
An open-source tool for processing stream data using a spreadsheet-like interface.
Stars: ✭ 281 (+130.33%)
Mutual labels:  automation, workflow
Walkoff
A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
Stars: ✭ 855 (+600.82%)
Mutual labels:  automation, workflow
Add And Commit
Add & commit files from a path directly from GitHub Actions
Stars: ✭ 198 (+62.3%)
Mutual labels:  automation, workflow
Pipeline
Node-based automation server
Stars: ✭ 212 (+73.77%)
Mutual labels:  automation, workflow
Xible
Visualize your workflow
Stars: ✭ 49 (-59.84%)
Mutual labels:  automation, workflow
Server
The Prefect API and backend
Stars: ✭ 87 (-28.69%)
Mutual labels:  automation, workflow

OpenFlow

Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scalable NodeRed implementation. Also the "backend" for OpenRPA

Join rocket chat #openrpa or check out the community forum

Build to run on docker, how to setup docker is not supported on GitHub/slack

Quick start running openflow using npm

For now only Linux (tested on ubuntu 18LTS) and windows is supported Install NodeJS version 12 (google how to do that, if in doubt, hint, use nvm if you got the wrong version installed) Also you need to have an installation of mongoDB and RabbitMQ Importantent! You need to enable management console in RabbitMQ

On window, run from a command prompt with admin rights

On windows this will require build tools to be present, install using

npm install --global windows-build-tools

On linux this will require build tools to be present. On ubuntu you can install using

sudo apt-get install gcc g++ make

Then to install and run OpenFlow, install the @openiap/openflow package

npm i @openiap/openflow -g

On Linux run with sudo

sudo npm i @openiap/openflow -g

then create a template configuration file using openflow-cli --init

open and edit openflow.env, if needed, then install the service using

on windows

openflow-cli --install openflow

and on Linux remember to use sudo

sudo openflow-cli --install openflow

then open a browser and visit localhost.openiap.io

Quick start running openflow nodered using npm

For now only Linux (tested on ubuntu 18LTS) and windows is supported Install NodeJS version 12 (google how to do that, if in doubt, hint, use nvm if you got the wrong version installed) This require you to have openflow installed somewhere, or you can use our public openflow at app.openiap.io (noderedremote.env)

On window, run from a command prompt with admin rights

On windows this will require build tools to be present, install using

npm install --global windows-build-tools

On linux this will require build tools to be present. On ubuntu you can install using

sudo apt-get install gcc g++ make

Then to install and run OpenFlow Nodered, install the @openiap/nodered package npm i @openiap/nodered -g

On Linux run with sudo

sudo npm i @openiap/nodered -g

then create a template configuration file using openflow-nodered-cli --init

this will create 2 environment files with an example of how to connect to a locally installed openflow or how to connect to app.openiap.io So lets assume you want to run a remote openflow connected to app.openiap.io

on windows

openflow-nodered-cli --install noderedremote

and on Linux remember to use sudo

sudo openflow-nodered-cli --install noderedremote

this will prompt for a pre-created username and password, and then install a local service with the name noderedremote and start it

then open a browser and visit localhost.openiap.io:1880

Quick start using docker

To quickly get started with your own installation you can use one of these docker-compose files. download the file you want rename to docker-compose.yaml open a shell and cd to that folder you downloaded the file to, and type docker-compose up or docker-compose up -d

docker-compose-traefik.yml is for people running docker ce/docker desktop or docker swarm

docker-compose-toolbox.yml is for people running docker toolbox

docker-compose.yml is for developers who don't want to install mongoDB/RabbitMQ or an easy way to run one instance while debugging the other.

Then you can access the API/web on http://localhost.openiap.io ( or http://toolbox.openiap.io ) You can access nodered on http://nodered1.localhost.openiap.io ( or http://nodered1.toolbox.openiap.io ) and RabbitMQ on http://mq.localhost.openiap.io ( or http://mq.toolbox.openiap.io )

The first username and password you try to login as, will be created and made admin

For help with running on kubernetes or self hosting contact OpenIAP for a support agreement

Quick start using helm to install on kubernetes

To quickly get started with your own installation on kubernetes, first install traefik

Each OpenFlow will have it's own namespace, and you create a value file for each instance/namespace Create a file and call it demo1.yaml with this content

# this will be the root domain name hence your openflow url will now be http://demo.mydomain.com 
domainsuffix: mydomain.com # this will be added to all domain names
domain: demo 
# if traefic is for https using websecure, the you can uncomment the below 2 lines
# you need to tell the name of the secret containing the certificate, I can recomend using kubed for replicating this
# protocol: https
# tlsSecret: wild.mydomain.com
openflow:
#  external_mongodb_url: mongodb+srv://user:[email protected]?retryWrites=true&w=majority
rabbitmq:
  default_user: admin
  default_pass: supersecret
# if you are using mpongodb atlas, or has mongodb running somewhere else
# uncomment below line, and external_mongodb_url in openflow above
# mongodb:
#   enabled: false

First add the helm repo and create a new namespace called demo1

helm repo add openiap https://raw.githubusercontent.com/open-rpa/helm-repo/master/
helm repo update
kubectl create namespace demo1

The create the install using

helm install openflow openiap/openflow -n demo1 --values ./demo1.yaml

If you late update your values file you can update your install using

helm upgrade openflow openiap/openflow -n demo1 --values ./demo1.yaml

Read more about this at the githu repo

Developer setup

Install VSCode, NodeJS 12, mongoDB and RabbitMQ You need to enable management console in RabbitMQ

Clone this repo into a folder, in a shell type

git clone https://github.com/open-rpa/openflow.git

go to the folder with openflow

cd openflow

Install gulp and typescript globally

npm i gulp typescript browserify tsify -g

install packages for openflow api/web

npm i

install packages for NodeRED by

cd OpenFlowNodeRED npm i

cd ..

Now open in VS code

code OpenFlow.code-workspace

at the top level create a folder called config and inside create a file called .env ( notice it starting with a dot)

and add this content to the file

nodered_id=nodered1
nodered_sa=nodered1
port=80
nodered_port=1880
nodered_domain_schema=$nodered_id$.localhost.openiap.io
tls_crt=
tls_key=
tls_ca=

signing_crt=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqRENDQW5TZ0F3SUJBZ0lKQUp5N0tIMTE1dkQ4TUEwR0NTcUdTSWIzRFFFQkN3VUFNRnN4Q3pBSkJnTlYKQkFZVEFrUkxNUk13RVFZRFZRUUlEQXBUYjIxbExWTjBZWFJsTVNFd0h3WURWUVFLREJoSmJuUmxjbTVsZENCWAphV1JuYVhSeklGQjBlU0JNZEdReEZEQVNCZ05WQkFNTUMzTnBaMjVwYm1kalpYSjBNQjRYRFRFNU1EUXdOekUwCk5ETXpORm9YRFRJNU1EUXdOREUwTkRNek5Gb3dXekVMTUFrR0ExVUVCaE1DUkVzeEV6QVJCZ05WQkFnTUNsTnYKYldVdFUzUmhkR1V4SVRBZkJnTlZCQW9NR0VsdWRHVnlibVYwSUZkcFpHZHBkSE1nVUhSNUlFeDBaREVVTUJJRwpBMVVFQXd3TGMybG5ibWx1WjJObGNuUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCCkFRQy9JSkdEaGxLTU9SWkoycXQwSWpjSDZOWUFtZDVxQzQ4dkNJRE54QWZCbmQxQnN4WlVjWkl5dkFlT28yNDcKM3I0eTYwNDgxRHVUS2JaMTBTNjRqRU05aW1XTXB1TFlJRnVyQ3BWNzVEWWhxMS85Q0FJVHJqNjlmVDluSkptcwpjM2lxTnJ1Tlg1bDlISXdadWtQM1ZNRkJRNWZVd3N1ZnE0YW1NbnVnZmtyUEVzSngxK3VJb0NYU3pyblZvcnZpClZ0ZFh4a3M4N0l1S0ZnMDJIZ1RQSzdwc0FXYTBRY3g2ck04bkV5TUhwNUdlR1Rvb1NNbkcyZ1RGNWZOSVFNdTMKVEVoc2p3SWRTYmRwck1Gb1VZV05Bc2FueTJOQk0wREhZRUdjQlZhZ0xWNUhFUW5ySUM3NEhtNjYxdG9HaU5VSAoveW04U3VndTgwWVFiVGxPcTFWNnNkaVRBZ01CQUFHalV6QlJNQjBHQTFVZERnUVdCQlMrYWc1NGtITllKZ29pCm9yRnlia293THR5R3ZqQWZCZ05WSFNNRUdEQVdnQlMrYWc1NGtITllKZ29pb3JGeWJrb3dMdHlHdmpBUEJnTlYKSFJNQkFmOEVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQTZpZHBYdzdSR2pzcUpNanI2c1YvaQpXeXFsL2xkSy9sa1NCdnNBSENieDdQYi9rVUd2NHJNbndYMnBHdTR0YkFnSDc4eStmS3dzazllYkxDeTA4Y1k0Ckt5czhzbUpLenhWN0R6U3RVR1NvZmZMaFliVVVMK3UyNU5vVXc0TG1WQU5FU0NaMTZ3aTdPQUdJMkJnNFR6TXoKdnlIUHRaaE9wTXBNV2lzM2ZnRXFzV3QxS2VLcXo0Z2M5RnJtZDZPNlQzVVAxWTRBR3VEWnNScnpiU2RQS2JxbApxekprT2tQcGtHOGo3ZjFWNkk1ZlkzblZaSWk2YW1TcTM1RTJkQzVMY0dIQXRtT1lWL0c4TEQ3OUFnTVpFUU5vCkF2R2RnV1gvbXBFVkFjMmRFQkJlcUN6WjF1aVhWUjdERld2ZDFKTEpsdVRyTm9jMUROc0xNKzNEZFFiQ2JnYVcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
singing_key=LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQy9JSkdEaGxLTU9SWkoKMnF0MElqY0g2TllBbWQ1cUM0OHZDSUROeEFmQm5kMUJzeFpVY1pJeXZBZU9vMjQ3M3I0eTYwNDgxRHVUS2JaMQowUzY0akVNOWltV01wdUxZSUZ1ckNwVjc1RFlocTEvOUNBSVRyajY5ZlQ5bkpKbXNjM2lxTnJ1Tlg1bDlISXdaCnVrUDNWTUZCUTVmVXdzdWZxNGFtTW51Z2ZrclBFc0p4MSt1SW9DWFN6cm5Wb3J2aVZ0ZFh4a3M4N0l1S0ZnMDIKSGdUUEs3cHNBV2EwUWN4NnJNOG5FeU1IcDVHZUdUb29TTW5HMmdURjVmTklRTXUzVEVoc2p3SWRTYmRwck1GbwpVWVdOQXNhbnkyTkJNMERIWUVHY0JWYWdMVjVIRVFucklDNzRIbTY2MXRvR2lOVUgveW04U3VndTgwWVFiVGxPCnExVjZzZGlUQWdNQkFBRUNnZ0VBVXBjZ1NsV2hGamNWQ3BVVHdmdUhERVB4TmhGSHEwdVRkQitZaVZKTWg3NVAKL2pRRlVqaEJsT3JyMlJlR2F4aTEyQXNXby9LU1MrV2Frdzd4d1kzYkFKenRoUG9Zekl3dkVKcGlQa2MvblEwUgpUYVpJUDNqc1k3WGIwQlpnMGNTVVAvbW0wbENkWXhNUzk0c21FNXJzWitkdGxPTVlXc2NrU0cxSVB2SlVJV2FZCnl3NC9kaHJ3TWRsREVZS2tSbks1aDR1dXR1dzA1Q1VzNkZWN2F5cEJRRStGM3RxVlF3QWxGbWNueXdvZTB5WjQKZW1tWkRvT1dzNUk4cGNGbjZCSW1wZjN3UEg5UWhlQXJVaXRqV3YrZmI2cWRVaHJFVDBxMzh4dTZ5M1lJNFNLYQpXME9kUng4L3FTYllXdkpzbmxscDR0aUpDWE5IdnV6MVBKSGhxOUprQVFLQmdRRCt2dHlWcVJoaEJZTmd6WWorClFCaDNLcktrNEVqTXZaSGhEelhES0pMZ2JEVmJzNExrQkYySWZGOTF0S1k3d09CNVpXcU82Z3FqVVJBVE5hc1YKOExCOGE2TEpXYVJuTklLMnJkd1FwalFYcy92OVBSYnJwc2tTbDRJdUsyZWNBMjBSQkhicW5yNHZ5ZkQ4U3BzaApSdHlTUk5CRGVsaU01Z1JDM0JKKzBZbjBVUUtCZ1FEQUVZSUp3Y2xnQloyWmNNTlh1dW1lLzUxdHBHeGppRTJpCjZ3SDNsOHNTVDN1U1A4MHdndGdHaVFsUTRsR3BmSThqWkl4N0pwcGw0Qko1ZEtuVnpIS1dqMzA3YXYxcjdpU3QKLzJOVDNobzdaYkNlYzlhMHlJU2E3dTNGZGxzZ0VPcE45dURmbG5GQVQ3ZmIrM2d4Sk9DUWp1TkFCZXZaK2pScwpZY0ZhQWhGNW93S0JnUUNGUG9HVVNsRDFGblFrWXYwL3QzalVnK0hTK1hrNmxnRkNqYmthTGhPOURQeFB6Ykl0CjM5YW9lQjFhTExZeVZPMVVzZVl0Z0Y4MkUwVnNOc3NZKzc3a0pVeU5NclVhUWs0SWpTR3BGN1h4bS9PMi9vZ0oKbEVCaDJCdUFXTFdsMWVqcldNRjJjTGVidVcyeUdMZlJqUVg3LzhCTE95Z3I4bmZTSE5nVHV6Z0VNUUtCZ0JrZgpNUjhObGNWVmRyT25LQ1hGY09FM0ZlUk5hVS9yZUJ3akdQTEZpKzR0TDBDRno5VFVpR1R5YjZHQXVLV3VnUnBrCkFHdnJOSzYyakRRT3FsZ29rYVJYeUUySlJQUmxCYThzaEZWbjY0NXhVcFNuR2lJelNBVHIwM1hNY1ViVWI1RWIKQlhhNU9yN3FybVc3a3BENi9kUnFuQmEzcjQyblNFd1V6VEYwcTh4NUFvR0FIcXdRSyt1R0NTdlNsNENJUGhyRQpDREIvcytDK2NJNXVCeFJCMHVlNjc3L2lpdGZPSU9lOUNiTHE3R0tib0w4RVg3eXhKNVRLWjlYQmh5LzNCWmVNCllydEx3M2JicTNTN2hpUGFYSmE1dXZma3BWR1RnNEdzTnBJQ3VNTEJUaXJ6M0ZRV25UNFNZbzkrREVoalhEeVQKWlVOMERtUkJVNjNjWjRLSUlXd2xWUTA9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
NODE_ENV=development

saml_federation_metadata=http://localhost.openiap.io/issue/FederationMetadata/2007-06/FederationMetadata.xml
saml_issuer=uri:localhost.openiap.io
# saml_entrypoint=http://localhost.openiap.io/issue
# saml_baseurl=http://localhost.openiap.io:1880/

allow_personal_nodered=false
allow_user_registration=true
# mongodb_url=mongodb://localhost:27017
# mongodb_db=openflow

# api_bypass_perm_check=true
update_acl_based_on_groups=true
multi_tenant=false

websocket_max_package_count=1048576

api_ws_url=ws://localhost.openiap.io
domain=localhost.openiap.io
protocol=http
amqp_url=amqp://localhost
aes_secret=7TXsxf7cn9EkUqm5h4MEWGjzkxkNCk2K
auto_create_users=true
auto_create_domains=
skip_history_collections=audit,jslog

Lastly you need to allow powershell scripts to run, i don't know what is the recommended setting, i normally just go with bypass

Set-ExecutionPolicy Bypass -Force

Now you can run this by going to run ( Ctrl+Shit+D) and selecting OpenFlow in the dropdown box and press play button, select OpenFlowNodeRed in the dropdown and press play again

Lastly we need to start a background job that copies asserts to the dist folder, go to Terminal tab and add a new shelll, then type

gulp

You can now access openflow web on http://localhost.openiap.io and nodered on http://localhost.openiap.io:1880

For further help or education contact OpenIAP for a support agreement

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].