lenra_cli 1.0.0-beta.25

The Lenra command line interface
lenra_cli-1.0.0-beta.25 is not a library.

Contributors Forks Stargazers Issues MIT License

Report Bug ยท Request Feature

What is Lenra

Lenra is an open source framework to create your app using any language, and deploy it without any Ops scale, built on ethical values.

Discover our framework

Getting Started

Prerequisites

To build and run the Lenra elements that handle your app, the Lenra CLI needs Docker and Docker Compose.

You can also install the Docker buildx command to use the Buildkit optimization given by Dofigen.

Install the Lenra CLI using one of the next possibilities.

Download the binary

You can download the binary from the release page and add it to your path environment variable.

Cargo install

First install Cargo, the Rust package manager: https://doc.rust-lang.org/cargo/getting-started/installation.html

Then use the next command to install the Lenra's cli:

cargo install lenra_cli

Since the CLI is not released yet, you have to target a pre-release version like that:

cargo install lenra_cli@v1.0.0-beta.24

Build it from sources

First install Cargo, the Rust package manager: https://doc.rust-lang.org/cargo/getting-started/installation.html

Then clone this repository and install it with Cargo:

git clone https://github.com/lenra-io/lenra_cli.git
cargo install --path .

How to use it

Use the help options to understand how to use it:

$ lenra --help
lenra_cli 0.0.0
The Lenra command line interface

USAGE:
    lenra <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    build      Build your app in release mode
    check      Checks the running app
    dev        Start the app in an interactive mode
    help       Print this message or the help of the given subcommand(s)
    logs       View output from the containers
    new        Create a new Lenra app project
    start      Start your app previously built with the build command
    stop       Stop your app previously started with the start command
    update     Update the tools Docker images
    upgrade    Upgrade the app with the last template updates

Subcommands

This tool contains many subcommands to help you doing what you need.

  • new: creates a new Lenra app project
  • dev: starts your app in dev mode
  • update: updates the tools Docker images
  • upgrade: upgrades the app with the last template updates
  • build: builds the Lenra app of the current directory
  • start: starts your app previously built with the build command
  • logs: displays output from the containers
  • stop: stops your app previously started with the start command
  • check: checks the running app

Configuration file

The Lenra's configuration file describes your Lenra app configurations, like API versions or how to build it.

Here is an example using a Dofigen file:

componentsApi: "1.0"
generator:
  dofigen: dofigen.yml

Configuration

The configuration is the main element of the file:

Field Type Description
componentsApi String The components API version
generator Generator The generator configuration

Generator

The generator define your application is built. There are many configurators:

Dofigen

The Dofigen generator use a Dofigen configuration to generate the Docker image.

The Dofigen configuration can be the path to a Dofigen file or it content directly.

Docker

The Docker generator use a Dockerfile to generate the Docker image.

The Dockerfile can be the path to a file or it content directly.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please open an issue with the tag "enhancement" or "bug". Don't forget to give the project a star! Thanks again!

Run tests

In order to have more advanced unit tests, we use Mocktopus that is based on the nightly Rust toolchain. To run them you have to install the toolchain and run them with it:

rustup install nightly
cargo +nightly test

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Lenra - @lenra_dev - contact@lenra.io

Project Link: https://github.com/lenra-io/lenra_cli