Skip to main content

language.badge standard.badge unittest.badge Coverity OpenSSF Scorecard OpenSSF Baseline Documentation Status

release.badge docker.badge pypi.badge npm.badge cargo.badge cockpit.badge Join the chat at https://gitter.im/app-mesh/community

App Mesh

App Mesh = systemd + cron + remote execution + API.

A lightweight, secure platform that runs, schedules, and remote-controls applications across machines — one C++ daemon with JWT/RBAC security, a CLI, REST APIs, SDKs in 6 languages, and a built-in workflow engine.

Use App Mesh to:

⚡ Quick Start

Start the daemon in Docker:

docker run -d -p 6060:6060 --restart=always --name=appmesh --net=host -v /var/run/docker.sock:/var/run/docker.sock laoshanxi/appmesh:latest

Manage applications with the appm CLI:

# List registered applications
$ appm ls
ID  NAME    OWNER  STATUS    HEALTH  PID  USER  MEMORY    %CPU  RETURN  AGE  DURATION  STARTS  COMMAND
1   pyexec  mesh   disabled  -       -    -     -         -     -       37s  -         0       "python3 ../../bin/py_exec.py"
2   ping    mesh   enabled   OK      747  root  5.9 MiB   0     -       37s  37s       1       "ping cloudflare.com"
3   pytask  mesh   enabled   OK      748  root  29.7 MiB  0     -       37s  37s       1       "python3 ../../bin/py_task.py"

# Register a new application
$ appm add -a myapp -c "ping www.baidu.com"

# View its live output
$ appm ls -a myapp -o
PING www.baidu.com (183.2.172.17) 56(84) bytes of data.
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=1 ttl=52 time=34.9 ms

# appm -h for more usage

Send tasks to a running application and get responses back through the SDK:

from appmesh import AppMeshClient
client = AppMeshClient()
client.login("USER-NAME", "USER-PWD")

result_from_server = "0"
for i in range(10):
    task_data = f"print({result_from_server} + {i}, end='')"
    result_from_server = client.run_task(app_name="pytask", data=task_data)
    print(result_from_server)

For native packages (.deb/.rpm), systemd setup, and cluster initialization, see the Installation Guide and the Dockerfile.

🚀 Core Capabilities

Capability What you get
Application management Full remote CRUD and control — cgroup limits, OS user, environment variables, Docker apps, stdin/stdout — with monitoring of start counts, exit codes, errors, and health checks
Scheduling Long- and short-running apps, periodic jobs, cron expressions, custom timings, and policy-driven start/exit behaviors
Remote execution Run commands and scripts on any node; send in-memory tasks to running applications for high-performance computing
Workflow engine GitHub-Actions-style YAML pipelines with DAG scheduling, running natively on App Mesh
Security JWT + RBAC with multi-tenant isolation; OAuth, 2FA; YAML-based user storage (local, or Consul for clustering); SSL/TLS on TCP/HTTP/WebSocket; CSRF tokens; HMAC-PSK verification
Observability Built-in Prometheus exporter, Grafana datasource, Loki integration, host/app resource metrics
Clustering Consul-based cluster management and request forwarding across nodes
Extras File upload/download API, remote shell execution, hot config reload, bash completion

Runs on Linux, macOS, and Windows (x86 and ARM).

🤖 AI & LLM Integration

App Mesh's secure remote-execution core makes it a natural runtime for AI workloads:

🔄 Workflow Pipeline

Define CI/CD pipelines as YAML — similar to GitHub Actions, but running natively on App Mesh with the built-in Workflow Engine:

  • DAG scheduling — jobs run in dependency order, independent jobs in parallel
  • 4 step types — shell commands, existing Apps, Task API messages, sub-workflows
  • Error handling — retry with exponential backoff, continue-on-error, finally cleanup blocks
  • Expressions${{ inputs.env }}, ${{ steps.build.stdout }}, success(), failure(), always()
  • Remote execution — target specific nodes by label or hostname
appm workflow add -f pipeline.yaml        # register
appm workflow run pipeline -e env=prod -f # run and follow output
appm workflow runs pipeline               # view history

🧰 Interfaces & SDKs

Interface Details
CLI appm command reference
REST REST APIs · OpenAPI spec
Web GUI app-mesh-ui
SDKs Python · Golang · Rust · Java · JavaScript · C++

💡 Success Stories

AI & automation

Remote computing

Operations & observability

Platform & Kubernetes

🆚 Comparison

Feature App Mesh Supervisor crontab
Schedule accuracy Seconds Seconds Minutes
Language C++17 Python C
Web GUI
Command lines
SDK
Cron schedule expression
Manage docker app
Session login
Manage stdout/stderr
Health check
Authentication
Multi-tenant

📚 Documentation

🔗 Library dependencies

Community & License

Questions and discussions are welcome on Gitter. Licensed under the MIT License.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

appmesh-2.3.1-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file appmesh-2.3.1-py3-none-any.whl.

File metadata

  • Download URL: appmesh-2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for appmesh-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18a353ac06c80dfd546389f93b8a429bacf153144911c0b2ae747f601422b17e
MD5 4d445c23f7caa086c57df43ba6ca6920
BLAKE2b-256 85894b0e0e21d941b5ae6cd63cb2cbb44fd22c4ee8d094a2e8560a876d365998

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.0

1 file

2.3.3

1 file

2.3.2

1 file

This release

2.3.1 This release

1 file

2.3.0

1 file

2.2.9

1 file

2.2.8

1 file

2.2.7

1 file

2.2.6

1 file

2.2.5

1 file

2.2.4

1 file

2.2.3

1 file

2.2.2

1 file

2.2.1

1 file

2.2.0

1 file

2.1.19

1 file

2.1.18

1 file

2.1.17

1 file

2.1.16

1 file

2.1.15

1 file

2.1.14

1 file

2.1.13

1 file

2.1.12

1 file

2.1.11

1 file

2.1.10

1 file

2.1.9

1 file

2.1.8

1 file

2.1.7

1 file

2.1.6

1 file

2.1.5

1 file

2.1.4

1 file

2.1.3

1 file

2.1.2

1 file

2.1.1

1 file

2.1.0

1 file

2.0.4

1 file

2.0.3

1 file

2.0.2

1 file

2.0.1

1 file

1.6.17

2 files

1.6.16

2 files

1.6.15

2 files

1.6.14

2 files

1.6.13

2 files

1.6.11

1 file

1.6.8

1 file

1.6.7

1 file

1.6.5

1 file

1.6.2

1 file

1.6.1

1 file

1.5.4

1 file

1.5.3

1 file

1.4.8

1 file

1.4.7

1 file

1.4.6

1 file

1.4.5

1 file

1.4.3

1 file

1.4.2

1 file

1.4.1

1 file

1.4.0

1 file

1.3.9

1 file

1.3.8

1 file

1.3.7

1 file

1.3.6

1 file

1.3.5

1 file

1.3.4

1 file

1.3.3

1 file

1.3.2

1 file

1.3.1

1 file

1.3.0

1 file

1.2.9

1 file

1.2.6

1 file

1.2.5

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.2.0

1 file

1.1.9

1 file

1.1.8

1 file

1.1.7

1 file

1.1.6

1 file

1.1.5

1 file

1.1.4

1 file

1.1.3

1 file

1.1.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page