Skip to main content

CLI for MLSysOps orchestration framework

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.1.1.tar.gz (24.3 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.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mlsysops_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 24.3 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.1.tar.gz
Algorithm Hash digest
SHA256 9481c96bbd8e2b96fb28f9fe79393a5349c4cfeb1a94d4e3ff95f962730e2846
MD5 966b92db3e113fe85316c4ea810b7df9
BLAKE2b-256 b84a0cde0ee3fe097270bbd3fc0ae62655ae688710f449db3c6f3809adeafcb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mlsysops_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f637e97703d86b3e5ccf69919f258c120bdf33a87f69723ef856e95e8723b395
MD5 7877b5617d71bd5b93c4615e298a2f88
BLAKE2b-256 6ea487e7526abe7fce6553d914677ad28606b02994c900ea9e5d5b6e1ac2641f

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