[![language.badge]][language.url] [![standard.badge]][standard.url] [![unittest.badge]][unittest.url] [![docker.badge]][docker.url] [![cockpit.badge]][cockpit.url]
[](https://app-mesh.readthedocs.io/en/latest/?badge=latest) [](https://gitter.im/app-mesh/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://api.securityscorecards.dev/projects/github.com/laoshanxi/app-mesh)
[](https://www.bestpractices.dev/projects/12481)
[![release.badge]][release.url] [![pypi.badge]][pypi.url] [![npm.badge]][npm.url] [![cargo.badge]][cargo.url]
# 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.
```shell
# 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.
```python
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](https://app-mesh.readthedocs.io/en/latest/CLI.html), [REST](https://app-mesh.readthedocs.io/en/latest/Development.html#rest-apis), [SDK](https://github.com/laoshanxi/app-mesh/tree/main/src/sdk) or [WebGUI](https://github.com/laoshanxi/app-mesh-ui).
Computing | đ [High-performance in-memory computing](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html)
âļī¸ [Remote execution](https://app-mesh.readthedocs.io/en/latest/success/remote_run_cli_and_python.html)
đ [Workflow Pipeline](https://app-mesh.readthedocs.io/en/latest/Workflow.html) â GitHub Actions-style CI/CD with DAG, retry, conditions, and remote execution
Security | đ Authentication: [OAuth](src/sdk/python/test/test_oauth2.py), [2FA](https://app-mesh.readthedocs.io/en/latest/MFA.html), YAML-based storage (local or Consul for clustering)
đ Authorization: [JWT](https://app-mesh.readthedocs.io/en/latest/JWT.html), [RBAC](https://app-mesh.readthedocs.io/en/latest/USER_ROLE.html), multi-tenant isolation
đ Protection: SSL/TLS for `TCP`/`HTTP`/`WebSocket`, CSRF tokens, HMAC with PSK for non-token verification
Cloud Native | đŠī¸ [Prometheus Exporter (built-in)](https://app-mesh.readthedocs.io/en/latest/PROMETHEUS.html)
đŠī¸ [Grafana SimpleJson datasource](https://app-mesh.readthedocs.io/en/latest/GrafanaDataSource.html)
đŠī¸ [Grafana Loki](https://app-mesh.readthedocs.io/en/latest/Loki.html)
đŠī¸ [Dockerfile](https://github.com/laoshanxi/app-mesh/blob/main/Dockerfile)
đ§ą [Consul micro-service cluster management](https://app-mesh.readthedocs.io/en/latest/CONSUL.html)
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](https://github.com/laoshanxi/app-mesh-ui)
Ecosystem | LLM: [Model Context Protocol (MCP)](src/sdk/mcp)
AI: [Claude Code Plugin](src/sdk/claude-plugin)
IoT: [MQTT](src/sdk/mqtt)
Platform support | Linux, macOS, Windows (X86, ARM)
SDK | [C++](https://github.com/laoshanxi/app-mesh/blob/main/src/sdk/cpp), [Rust](https://github.com/laoshanxi/app-mesh/blob/main/src/sdk/rust), [Python](https://app-mesh.readthedocs.io/en/latest/api/appmesh.html#module-appmesh.client_http), [Golang](https://github.com/laoshanxi/app-mesh/blob/main/src/sdk/go/client_http.go), [JavaScript](https://www.npmjs.com/package/appmesh), [Java](https://github.com/laoshanxi/app-mesh/packages/2227502), [Swagger OpenAPI Specification](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/laoshanxi/app-mesh/main/src/daemon/rest/openapi.yaml)
## đĻ Install
Refer to the [Installation doc](https://app-mesh.readthedocs.io/en/latest/Install.html), this covers:
- Docker Compose setup
- Native installation
- Cluster initialization
