- General information
- Installation
- Configuration
- First run
- Autocomplete
- Modular CLI schema
- Project 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.
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.
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 .
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 linemodular-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
The following environment variables could be used:
LOG_PATH
: in case you need to store the Modular-cli log file by the custom path.
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>
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:
- Activate virtual environment by command
source <path_to_venv>/bin/activate
- Create SYMLINK to virtual environment
sudo ln -s <your_path_to_venv>/bin/modular-cli /usr/local/bin/modular-cli
- Start a new terminal session
- Execute command
sudo modular-cli enable_autocomplete
- Restart terminal session
To deactivate:
- Execute the
sudo modular-cli disable_autocomplete
command - Restart terminal session
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