MLSysOps CLI (mls)
The official command-line interface for the MLSysOps Framework. This tool empowers you to manage applications, infrastructure resources, and orchestration agents seamlessly across the device-edge-cloud continuum.
📋 Table of Contents
- ✨ Features
- ✅ Prerequisites
- 📦 Installation
- 🔧 Configuration
- 🚀 Quick Start
- 📚 Command Reference
- 💡 Pro Tip: Enable Tab Completion
- 📄 License
✨ Features
- 📱 Application Management: Deploy, list, and remove applications with simple commands.
- 🏗️ Infrastructure Insight: Query and register infrastructure components like clusters and nodes.
- ⚙️ System Control: Ping system agents and switch operational modes Heuristic or ML.
- 🤖 Agent Deployment: Easily deploy orchestration agents to nodes, clusters, or an entire continuum.
- 🌐 Framework installation: Install the required components of the Framework.
✅ Prerequisites
Before you begin, ensure you have the following installed:
- Python 3.7+
pip(Python package installer)
📦 Installation
You can install the MLSysOps CLI using one of the following methods.
Option 1: Install from PyPI (Recommended)
pip install mlsysops-cli
After installation, you can use the mls command directly in your terminal.
Option 2: Install from source (For Development)
If you plan to contribute to the CLI or need the latest unreleased features, install it from the source repository.
# 1. Clone the repository (CLI branch)
git clone -b CLI [https://github.com/mlsysops-eu/mlsysops-framework.git](https://github.com/mlsysops-eu/mlsysops-framework.git)
# 2. Navigate to the CLI directory
cd mlsysops-framework/mlsysops-cli
# 3. Install in editable mode
pip install -e .
This will also expose the mls command in your terminal, and any changes you make to the code will be reflected immediately.
🔧 Configuration
Make sure you have your environment variables or .env file set up with:
# Configuration with the framework API
export MLS_API_IP=<MLS API host ip>
export MLS_API_PORT=8000
# Deployment
export KARMADA_HOST_KUBECONFIG=<path to karmada host kubeconfig>
export KARMADA_API_KUBECONFIG=<path to karmada api kubeconfig>
export KARMADA_HOST_IP=<karmada host ip>
🚀 Quick Start
Get an overview of all available commands and options with the --help flag.
mls --help
Each major component of the framework has its own command group:
mls apps– Manage application deploymentsmls infra– Query and register infrastructuremls manage– System control (ping, mode switch)mls framework– Deploy the core framework components.
📚 Command Reference
🧹 Application Commands
Manage the lifecycle of your applications
- Deploy an application
mls apps deploy-app --path ./my_app.yaml
- List all running applications
mls apps list-all
- Remove an application
mls apps remove-app <application-id>
🏗️ Infrastructure Commands
Query information about your registered infrastructure.
- List Infrastructure by type (e.g., Cluster, Node)
mls infra list-infra --type Cluster
⚙️ Management Commands
Perform system-level administrative tasks.
-Ping a system agent to check its status:
mls manage ping-agent
-Set the system's operational mode: 0 for Heuristic 1 for ML
mls manage set-mode --mode 1
🌐 Framework Commands
Deploy core components of the MLSysOps framework and orchestration agents.
mls framework deploy-all
mls framework deploy-cluster
mls framework deploy-continuum
mls framework deploy-node
mls framework deploy-services
Optional path argument: Use the --path flag to specify the system descriptions folder.
mls framework deploy-all/cluster/continuum/node --path ./descriptions
The descriptions folder should contain subfolders like node, cluster, or continuum for proper agent configuration.
Optional inventory argument: Use the --inventory flag to specify the inventory YAML file used during the K3s installation.
mls framework add-system-agents --inventory ./inventory.yaml
Note: Only one of
--pathor--inventorycan be specified at a time. If both options are provided, the command will throw an error.
💡 Pro Tip: Enable Tab Completion
Enable tab-completion for the mls CLI in your terminal to quickly discover available commands and options:
This will help you auto-complete commands and options by simply pressing the [TAB] key.
echo 'eval "$(_MLS_COMPLETE=bash_source mls)"' >> ~/.bashrc
source ~/.bashrc
Now you can type mls [TAB][TAB] to see all available commands. It's a game-changer! 🎉
📄 License
This project is licensed by MLSysOps.
Copyright © 2025 MLSysOps.
Metadata
Release files for mlsysops-cli 0.0.0.post16323571162
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mlsysops_cli-0.0.0.post16323571162.tar.gz | 19.7 kB | Without provenance | Details for mlsysops_cli-0.0.0.post16323571162.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mlsysops_cli-0.0.0.post16323571162-py3-none-any.whl | Python 3 | none | any | Details for mlsysops_cli-0.0.0.post16323571162-py3-none-any.whl |
Total release size: 39.8 kB
Release files / mlsysops_cli-0.0.0.post16323571162.tar.gz
| Download URL | mlsysops_cli-0.0.0.post16323571162.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69500e824cb4b7f674d7273333200ad85cc506437136f75010ceec394ff21268
|
|
BLAKE2b-256 checksum How to use checksums |
dd4d9f475b5e71884b1cb21ad582ca05113a34a209dbe3b0b3ba94da7baca90f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / mlsysops_cli-0.0.0.post16323571162-py3-none-any.whl
| Download URL | mlsysops_cli-0.0.0.post16323571162-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eddf3b5a25399751b0bf9bcbfa2752259ba005311c5014da0d67c049c2d97668
|
|
BLAKE2b-256 checksum How to use checksums |
71c16384b2682519285e5089f798cf13e11cb6e0c7e79153bb360467581a6a04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for mlsysops-cli 0.0.0.post16323571162
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.