Nutmeg Plundering Muse

    leo-cli

    3.0.2 • Public • Published

    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

    Keywords

    none

    Install

    npm i leo-cli

    DownloadsWeekly Downloads

    109

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    319 kB

    Total Files

    129

    Last publish

    Collaborators

    • leoinsights
    • jgrantr
    • czirker
    • elsmob
    • jhunsaker
    • zirkerc
    • francislewis