Skip to content

CLI used to create & build Flogo applications.

License

Notifications You must be signed in to change notification settings

project-flogo/cli

Folders and files

NameName
Last commit message
Last commit date
Aug 9, 2022
Jan 22, 2020
Mar 2, 2020
Nov 27, 2019
May 13, 2019
Sep 13, 2019
Mar 21, 2019
Apr 20, 2020
Aug 9, 2022
Apr 22, 2020
Apr 22, 2020
Jun 27, 2022
Aug 9, 2022
May 24, 2023
May 24, 2023
May 24, 2023
May 24, 2023

Repository files navigation

Serverless functions and edge microservices made painless

Installation | Getting Started | Documentation | Contributing | License


Project Flogo is an open source framework to simplify building efficient & modern serverless functions and edge microservices and this is the cli that makes it all happen.

FLOGO CLI

The Flogo CLI is the primary tool to use when working with a Flogo application. It is used to create, modify and build Flogo applications

Installation

Prerequisites

To get started with the Flogo CLI you'll need to have a few things

  • The Go programming language version 1.11 or later should be installed.
  • In order to simplify dependency management, we're using go mod. For more information on go mod, visit the Go Modules Wiki.

Install the cli

To install the CLI, simply open a terminal and enter the below command

$ go install github.com/project-flogo/cli/...@latest

Build the CLI from source

You can build the cli from source code as well, which is convenient if you're developing new features for it! To do that, follow these easy steps

# Get the flogo CLI from GitHub
$ git clone https://github.com/project-flogo/cli.git

# Go to the directory
$ cd cli

# Optionally check out the branch you want to use 
$ git checkout test_branch

# Run the install command
$ go install ./... 

Getting started

Getting started should be easy and fun, and so is getting started with the Flogo cli.

First, create a file called flogo.json and with the below content (which is a simple app with an HTTP trigger)

{
  "name": "SampleApp",
  "type": "flogo:app",
  "version": "0.0.1",
  "appModel": "1.1.0",
  "imports": [
  	"github.com/project-flogo/contrib/trigger/rest",
  	"github.com/project-flogo/flow",
  	"github.com/project-flogo/contrib/activity/log"
  ],
  "triggers": [
    {
      "id": "receive_http_message",
      "ref": "#rest",
      "name": "Receive HTTP Message",
      "description": "Simple REST Trigger",
      "settings": {
        "port": 9233
      },
      "handlers": [
        {
          "settings": {
            "method": "GET",
            "path": "/test"
          },
          "action": {
            "ref": "#flow",
            "settings": {
              "flowURI": "res://flow:sample_flow"
            }
          }
        }
      ]
    }
  ],
  "resources": [
    {
      "id": "flow:sample_flow",
      "data": {
        "name": "SampleFlow",
        "tasks": [
          {
            "id": "log_message",
            "name": "Log Message",
            "description": "Simple Log Activity",
            "activity": {
              "ref": "#log",
              "input": {
                "message": "Simple Log",
                "addDetails": "false"
              }
            }
          }
        ]
      }
    }
  ]
}

Based on this file we'll create a new flogo app

$ flogo create -f flogo.json myApp

From the app folder we can build the executable

$ cd myApp
$ flogo build -e

Now that there is an executable we can run it!

$ cd bin
$ ./myApp

The above commands will start the REST server and wait for messages to be sent to http://localhost:9233/test. To send a message you can use your browser, or a new terminal window and run

$ curl http://localhost:9233/test

For more tutorials check out the Labs section in our documentation

Documentation

There is documentation also available for CLI Commands and CLI Plugins.

Contributing

Want to contribute to Project Flogo? We've made it easy, all you need to do is fork the repository you intend to contribute to, make your changes and create a Pull Request! Once the pull request has been created, you'll be prompted to sign the CLA (Contributor License Agreement) online.

Not sure where to start? No problem, you can browse the Project Flogo repos and look for issues tagged kind/help-wanted or good first issue. To make this even easier, we've added the links right here too!

Another great way to contribute to Project Flogo is to check flogo-contrib. That repository contains some basic contributions, such as activities, triggers, etc. Perhaps there is something missing? Create a new activity or trigger or fix a bug in an existing activity or trigger.

If you have any questions, feel free to post an issue and tag it as a question, email flogo-oss@tibco.com or chat with the team and community:

  • The project-flogo/Lobby Gitter channel should be used for general discussions, start here for all things Flogo!
  • The project-flogo/developers Gitter channel should be used for developer/contributor focused conversations.

For additional details, refer to the Contribution Guidelines.

License

Flogo source code in this repository is under a BSD-style license, refer to LICENSE