Skip to content

epam/modular-cli

Repository files navigation

Modular-CLI

Content

  1. General information
  2. Installation
  3. Configuration
  4. First run
  5. Autocomplete
  6. Modular CLI schema
  7. Project information

Content ↑

1. General information

Modular-CLI is the specialized tool for interacting with the Modular-API. Automatically generate auth token, request body based on received meta from Modular-API and send it via HTTP requests.

Content ↑

2. Installation

The installation of Modular-CLI assumed that you have Python3.10 and pip installed. Use the following links to install the tools in case they are not installed.

Python download page

Pip installation page

NOTE: Due to the best Python practices, it is highly recommended to use virtual environment to protect project against dependency breakage.

Creating Virtual Environments Guide

  • Create: python -m venv modular_cli_venv
  • Activate (Linux): source modular_cli_venv/bin/activate
    Activate (Windows): source modular_cli_venv/Scripts/activate
  • Installation: pip install .

Content ↑

3. Configuration

By default - entry point for Modular-CLI set as modular-cli and this name will be used in all next commands examples. However, you have ability to customize this name in setup.py file before Modular-CLI installation:

  • open setup.py file in any convenient editor
  • find property entry_points and line modular-cli=modular_cli.modular_cli:modular_cli in it
  • replace modular-cli keyword with desired name

Before first run Modular-CLI should be properly configured. Please create the user in Modular-API by yourself or ask for support your system administrator. For using Modular-CLI you need to know your username, password and link to Modular-API.
After that use the next command:
modular-cli setup --username $USER --password $PASSWORD --api_path $LINK_TO_MODULAR_API
Please NOTE: Modular-API server should be in running state when setup command will be executed

If you would like update access credentials just execute modular-cli setup command again.
To delete credentials run modular-cli cleanup command

Optional configuration

The following environment variables could be used:

  • LOG_PATH: in case you need to store the Modular-cli log file by the custom path.

Content ↑

4. First run

First step you should do after configuration it is retrieving jwt token for authorization and available for your user commands meta.

Execute modular-cli login - to get fresh jwt token and available commands

Response:
Login successful

Execute modular-cli - to see available for your user commands

Available modules:
        module_1
        module_2
        ...
        module_N
Available groups:
        group_1
        group_2
        ...
        group_N
Available commands:
        cleanup
        login
        setup
        version

Try to execute any available by Modular-API policy command

modular-cli $module_name $group_name $command_name --$parameter $parameter value
Response:
$Command execution result

In every command you can add --json or --table flag and change output mode.

  • If --json flag was specified:
modular-cli $module_name $group_name $command_name --$parameter $parameter value --json
{
    "Status": "SUCCESS",
    "Code": 200,
    "Message": "$Command execution result",
    "Warnings": []
}
  • If --table flag was specified:
modular-cli $module_name $group_name $command_name --$parameter $parameter value --table
+---------+------+----------------------------------------------------+
|  Status | Code |                      Response                      |
+---------+------+----------------------------------------------------+
| SUCCESS | 200  |             $Command execution result              |
+---------+------+----------------------------------------------------+

If you want to extend list of available commands/modules please contact to your system administrator with request about adding desired resources.

Commands syntax:
modular-cli <available commands> <parameters>
modular-cli <available modules> <group or command> <parameters>
modular-cli <available groups> <subgroup or command> <parameters>

Content ↑

5. Autocomplete

The user has ability to enable autocompletion feature for Modular-CLI tool. Autocomplete option available only on Unix-based platforms (bash&zsh interpreters).

To activate it do a few steps:

  1. Activate virtual environment by command source <path_to_venv>/bin/activate
  2. Create SYMLINK to virtual environment sudo ln -s <your_path_to_venv>/bin/modular-cli /usr/local/bin/modular-cli
  3. Start a new terminal session
  4. Execute command sudo modular-cli enable_autocomplete
  5. Restart terminal session

To deactivate:

  1. Execute the sudo modular-cli disable_autocompletecommand
  2. Restart terminal session

Content ↑

6. Modular CLI schema

Schema

Content ↑

6. Project information

Source Code: https://github.com/epam/modular-cli
Documentation: https://github.com/epam/modular-cli/blob/main/README.md
Changelog: https://github.com/epam/modular-cli/blob/main/CHANGELOG.md
Supported Python Version: 3.10

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •