Skip to main content

The MLSysOps Agents Framework CLI.

Project description

MLSysOps CLI

MLSysOps CLI (mls) is a command-line tool for interacting with the MLSysOps framework. It allows users to manage applications, infrastructure resources, and orchestration agents across the device-edge-cloud continuum.

📦 Installation

Make sure you have Python 3.7+ and pip installed.

Option 1: Install via pip (recommended)

pip install -i https://test.pypi.org/simple/ mlsysops-cli

After installation, you can use the mls command directly in your terminal.


Option 2: Install from source (for development)

If you want to work on the CLI or customize it:

# Clone the repository (make sure to use the CLI branch)
git clone -b CLI https://github.com/mlsysops-eu/mlsysops-framework.git

# Go into the CLI directory
cd mlsysops-framework/mlsysops-cli

# Install it 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>

🚀 Usage

mls --help

Each section of the system has its own command group:

  • mls apps – Manage application deployments
  • mls infra – Query and register infrastructure
  • mls manage – System control (ping, mode switch)
  • mls agents – Deploy orchestration agents

🧹 Application Commands

mls apps deploy-app --path ./my_app.yaml
mls apps list-all
mls apps remove-app

🏗️ Infrastructure Commands

mls infra list-infra --type Cluster

⚙️ Management Commands

mls manage ping-agent
mls manage set-mode --mode 1

Framework Commands

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 --path or --inventory can be specified at a time. If both options are provided, the command will throw an error.


⚡ Tab Completion (Bash)

Enable tab-completion for the mls CLI in your terminal to quickly discover available commands and options:

echo 'eval "$(_MLS_COMPLETE=bash_source mls)"' >> ~/.bashrc
source ~/.bashrc

Then try:

mls [TAB][TAB]

Enjoy instant access to commands and flags 🎉


📄 License

License © 2025 [MLSysOps]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlsysops_cli-0.0.0.post16080443065.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlsysops_cli-0.0.0.post16080443065-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file mlsysops_cli-0.0.0.post16080443065.tar.gz.

File metadata

File hashes

Hashes for mlsysops_cli-0.0.0.post16080443065.tar.gz
Algorithm Hash digest
SHA256 64b2783fd78bbfd158fb12c9103d7fdc43cef4020e6063dc6420d332ede2c0ab
MD5 01e79c8ab8d8c1a69305967152991f23
BLAKE2b-256 087589a3690b3d1eac8fc04bde7b42cd72b07fed3beaeb26b6155ea5f2f6002a

See more details on using hashes here.

File details

Details for the file mlsysops_cli-0.0.0.post16080443065-py3-none-any.whl.

File metadata

File hashes

Hashes for mlsysops_cli-0.0.0.post16080443065-py3-none-any.whl
Algorithm Hash digest
SHA256 f8eab801b9aaab941ef053d8db095f3f775838dd648df4090e6573e2928ae01e
MD5 27b50d5536e954741a0279201f4bd3cd
BLAKE2b-256 940226af2d16a0bb5e11da10f66d4b1c8e1b160dedaf6b0334e611dcc131eaed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page