Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

A secure, high-performance, multi-tenant micro-service platform for remote "App Management" and "Computing"

License

Notifications You must be signed in to change notification settings

laoshanxi/app-mesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

language.badge standard.badge unittest.badge docker.badge cockpit.badge Documentation Status Join the chat at https://gitter.im/app-mesh/community Coverity Scan Build Status OpenSSF Scorecard release.badge pypi.badge npm.badge cargo.badge

Advanced Application Management Platform

App Mesh is a secure platform for executing and managing user-defined process behaviors as managed services, providing control and integration via CLI and RESTful APIs.

App Mesh = systemd + scheduler + remote exec + API

1. Application Management

Manages user-defined processes in a way similar to systemd services or Docker-managed processes, while providing more advanced capabilities for control, security, and integration.

# List registered applications
$ appc 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"
# Add app
$ appc add -a myapp -c "ping www.baidu.com"
# View app
$ appc 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
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=2 ttl=52 time=35.1 ms
64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=3 ttl=52 time=35.3 ms
# appc -h for more usage

Supports not only long-running services, but also scheduled and policy-driven executions, with remote control and execution status tracking.

2. Sending Tasks to a Running Application

Interact with a running application by sending tasks or data to it and receiving responses 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)

πŸš€ Features

Feature Description
App Management 🧩 App CURD with Full Remote Control – including cgroup, OS user, environment variables, Docker, stdin, and stdout – along with comprehensive monitoring (start counts, exit codes, error messages, health checks).
🧩 Fine-Grained Behavior Control & Scheduling – supports long- and short-running tasks, periodic jobs, cron schedules, custom timings, and robust error handling.
🧩 Multi-Tenancy – built-in user ownership model and access controls.
🧩 Unified Access Interface – interact via CLI, REST, SDK or WebGUI.
Computing πŸš€ High-performance in-memory computing
▢️ Remote execution
Security πŸ” Authentication: OAuth, 2FA, YAML-based storage (local or Consul for clustering)
πŸ” Authorization: JWT, RBAC, multi-tenant isolation
πŸ” Protection: SSL/TLS for TCP/HTTP/WebSocket, CSRF tokens, HMAC with PSK for non-token verification
Cloud Native 🌩️ Prometheus Exporter (build-in)
🌩️ Grafana SimpleJson datasource
🌩️ Grafana Loki
🌩️ Dockerfile
🧱 Consul micro-service cluster management
Extra Features Collect host/app resource usage
Remote shell command execution
File upload/download API
Hot-update support systemctl reload appmesh
Bash completion
Request Forwarding
🌐Web GUI
Echosystem LLM: Model Context Protocol (MCP)
IoT: MQTT
Platform support X86, ARM
SDK C++, Rust, Python, Golang, JavaScript, Java, Swagger OpenAPI Specification

πŸ“¦ Install

Refer to the Installation doc, this covers:

  • Docker Compose setup
  • Native installation
  • Cluster initialization

πŸ“š Documentation

πŸ†š Comparison

Standalone mode

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

Mind diagram

mind-diagram


πŸ’‘ Success


πŸ”— Library dependency