Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

leo-cli

Package Overview
Dependencies
Maintainers
7
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

leo-cli

A Nodejs interface to interact with the Leo SDK and AWS

  • 3.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
84
decreased by-22.94%
Maintainers
7
Weekly downloads
 
Created
Source

LeoPlatform/cli

leo-cli

The Leo command line interface

After installaction: Quick Start Guide: https://github.com/LeoPlatform/Leo

Overview of the Leo Platform: https://docs.leoplatform.io

Installation

Pre-Requisites

  1. Install the aws-cli toolkit - Instructions for this are found at http://docs.aws.amazon.com/cli/latest/userguide/installing.html
  2. Configure the aws-cli tools - Instructions are found at http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
  3. Install node - https://nodejs.org/en/
  4. Deploy the Leo Bus Cloudformation

Install

  1. Install using npm. In your project folder run the following command.
npm install leo-cli -g

leo-cli create

Create a System

A system provides you the opportunity to create a cohesive group of microservices. It is not required, but gives you a moment to consider the overall structure of your project. The leo-cli create commands will create a directory.

leo-cli create system MySystem
cd MySystem

Create a Microservice

A microservice is the central architectural construct

leo-cli create microservice MyService
cd MyService

Create a REST API

Microservice exposed via REST.

leo-cli create resource MyAPI
cd MyAPI

Create a React Application

A front-end application. Also considered a microservice

leo-cli create react MyReactApp
cd MyReactApp

Additional tools for Leo front-end applications:

LEO Authentication - Helps provide cognito authenticated api calls

LEO Authorization - A Front-end Authorization framework that is modeled after AWS Permission structure

Front End Specific Configuration - Configure AWS Cognito for Front End apps

Build Bots

Bots must be created inside a microservice directory

cd /MySystem/MyService
leo-cli create load MyLoadBot
leo-cli create enrich MyEnrichBot
leo-cli create offload MyOffloadBot
leo-cli create bot MyBot
leo-cli create cron MyCronBot
Testing Bots

Inside a bot directory

cd /MySystem/MyService/bots/MyBot
leo-cli test .
Runing Bots

Inside a bot or resource directory

cd /MySystem/MyService/bots/MyBot
leo-cli run .

leo-cli publish - Publishing Microservices & Bots

Publishing a microservice will build all needed lambda functions into zip files and a cloudformation file. Those files are then uploaded to your publish s3 bucket.

The publish command must be run from a micorservice or bot directory

leo-cli publish
Note:

As of version 2.0.0, leo_cli_config.js and leo_config.js are required to be able to publish. See leo-config for config details. Config files are automatically created as part of the Quick Start.

options

  • -e --env [environment] Environment.
  • --changeset Only build Changeset.
  • -c Only build cloudformation.
  • -s Save cloudformation.json to the microservice directory.
  • -F --force-deploy Force-deploy without requiring confirmation of changeset.
  • -d --deploy [environment] Deploy the published cloudformation.
  • -f all --force all Force publish and deploy of all bots, including ones without changes.
  • --filter idGlobExp Filters the lambdas deployed by the given glob expression. default: *
  • --run awsStackName Runs the generated cloudformation.json against the AWS Stack 'awsStackName'. If the stack doesn't exist, it will be crated
  • --build Builds the cloudformation and lambdas but doesn't publish them to s3
  • --public Makes the s3 publish folder public

Version of the build using the microservice or bot package.json file. If a bot is forced to be built and has the same version number the current timestamp will be appended to he version

Deploy Examples

Publish a Microservice with all new/updated bots

cd /MySystem/MyService
leo-cli publish 

Publish a Microservice and force all bots to build

cd /MySystem/MyService
leo-cli publish --force all

Publish a single bot in a Microservice

cd /MySystem/MyService/bots/MyBot
leo-cli publish

Publish a single bot or resource in a Microservice

cd /MySystem/MyService/bots/MyBot
leo-cli publish 
cd /MySystem/MyService
leo-cli publish --filter MyBot

Deploying a Microservices to AWS

The deploy command can only be run after a microservice has been published. You must be inside a microservice directory to deploy.

The second parameter is the name of the AWS Stack for the microservice.

cd /MySystem/MyService
leo-cli deploy . TestMyService
leo-cli deploy . StageMyService
leo-cli deploy . ProdMyService

Support

Want to hire an expert, or need technical support? Reach out to the Leo team: https://leoinsights.com/contact

FAQs

Package last updated on 24 Jun 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc