Skip to main content

The MLSysOps Agents Framework CLI.

Project description

MLSysOps CLI (mls)

License Python Version PyPI

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

  • 📱 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 deployments
  • mls infra – Query and register infrastructure
  • mls 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 --path or --inventory can 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.

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.1.4.tar.gz (19.7 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.1.4-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file mlsysops_cli-0.1.4.tar.gz.

File metadata

  • Download URL: mlsysops_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mlsysops_cli-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ff83b5384b273da63f87cc9b336c3f9e7a75f71b034c49cd9d07e40b5f253b9d
MD5 a147954d1653299b82797b8fc9700fd9
BLAKE2b-256 09856660585ea071cbfe92b95d8c6bf0c6d97f02a19a114f3dc9af4ffb802410

See more details on using hashes here.

File details

Details for the file mlsysops_cli-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mlsysops_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mlsysops_cli-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3a0cf4e1eaeb209e82484b500aa00a52ef67fe8efb1193bc7ef8d70d386f1293
MD5 abb08123c2d33408b037f795ef61cb48
BLAKE2b-256 92b04f9c063f0990427ab4a550bf2b78eb1d3ebcdb166cd49cc0c95b0f504e1c

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