īģŋ[![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)
<a href="https://scan.coverity.com/projects/laoshanxi-app-mesh">
<img alt="Coverity Scan Build Status"
src="https://img.shields.io/coverity/scan/21528.svg"/>
</a>
[](https://api.securityscorecards.dev/projects/github.com/laoshanxi/app-mesh)
[![release.badge]][release.url] [![pypi.badge]][pypi.url] [![npm.badge]][npm.url]
# App Mesh: Advanced Application Management Platform
App Mesh is an open-source, multi-tenant application management platform designed for cloud-native environments. It efficiently manages, schedules, and monitors both microservices and traditional applications, offering a lightweight alternative to Kubernetes. App Mesh bridges the gap between simple process managers and complex container orchestration systems, making it ideal for organizations seeking to modernize their infrastructure without adopting full container-native complexity. Supporting both containerized and native applications, it provides a versatile solution for diverse enterprise needs.
<div align=center><img src="https://github.com/laoshanxi/picture/raw/master/appmesh/diagram.png" align=center /></div>
## Features
Feature | Description
---|---
Application management | đ§Š <b>Application Management (CURD) with Full Remote Control</b> â including cgroup, OS user, environment variables, Docker, stdin, and stdout â along with comprehensive monitoring (start counts, exit codes, error messages, health checks). <br> đ§Š <b>Fine-Grained Application Behavior Control & Scheduling</b> â supports long- and short-running tasks, periodic jobs, cron schedules, custom timings, and robust error handling. <br> đ§Š <b>Multi-Tenancy</b> â built-in user ownership model and access controls. <br> đ§Š <b>Unified Access Interface</b> â 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).<br>
Security | đ Authentication: [LDAP](https://app-mesh.readthedocs.io/en/latest/LDAP.html), [OAuth](src/sdk/python/test/test_oauth2.py), [2FA](https://app-mesh.readthedocs.io/en/latest/MFA.html), YAML-based storage (local file or Consul for clustering) <br> đ 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 <br> đ Protection: SSL/TLS for TCP/HTTP, CSRF tokens, HMAC with PSK for non-token verification
Cloud native | Schedule cloud-level applications to run on multiple hosts with resource size requests. <br> đŠī¸ [Prometheus Exporter (build-in)](https://app-mesh.readthedocs.io/en/latest/PROMETHEUS.html) <br> đŠī¸ [Grafana SimpleJson datasource](https://app-mesh.readthedocs.io/en/latest/GrafanaDataSource.html) <br> đŠī¸ [Grafana Loki](https://app-mesh.readthedocs.io/en/latest/Loki.html) <br>đŠī¸ [Dockerfile](https://github.com/laoshanxi/app-mesh/blob/main/Dockerfile)
Micro service application | đ§ą [Consul micro-service cluster management](https://app-mesh.readthedocs.io/en/latest/CONSUL.html)
Extra Features | Collect host/app resource usage <br> Remote shell command execution <br> File upload/download interface <br> Hot-update support `systemctl reload appmesh` <br> Bash completion <br> Reverse proxy <br> đ[Web GUI](https://github.com/laoshanxi/app-mesh-ui)
Platform support | X86_64 <br> ARM32 <br> ARM64
SDK | [Python](https://app-mesh.readthedocs.io/en/latest/api/appmesh_client.html) <br> [Golang](https://github.com/laoshanxi/app-mesh/blob/main/src/sdk/go/appmesh_client.go) <br> [JavaScript](https://www.npmjs.com/package/appmesh) <br> [Java](https://github.com/laoshanxi/app-mesh/packages/2227502) <br> [Swagger OpenAPI Specification](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/laoshanxi/app-mesh/main/src/daemon/rest/openapi.yaml)
## Getting started
Refer to the [Installation doc](https://app-mesh.readthedocs.io/en/latest/Install.html) to learn how to install App Mesh via Docker Compose or natively and set up an App Mesh cluster.
## Documentation
- [Read the Docs](https://app-mesh.readthedocs.io/)
- [REST API](https://app-mesh.readthedocs.io/en/latest/Development.html#rest-apis)
- [Command lines](https://app-mesh.readthedocs.io/en/latest/CLI.html)
- [Security](https://app-mesh.readthedocs.io/en/latest/Security.html)
## Comparison
### Standalone mode
| Feature | App Mesh | [Supervisor](http://supervisord.org/) | [crontab](https://crontab.guru/) |
| ------------------------ | -------- | ------------------------------------- | -------------------------------- |
| Accuracy | Seconds | Seconds | Minutes |
| Language | C++11 | Python | C |
| Web GUI | â | â |
| Command lines | â | â | â |
| SDK | â | |
| Cron schedule expression | â | | â |
| Manage daemon process | | | â |
| Manage docker app | â | |
| Start check (avoid leak) | â | â |
| Session login | | |
| Manage stdout/stderr | â | â |
| Health check | â | |
| Rich control options | â | |
| Authentication | â | â |
| Multi-tenant | â | | â |
### Cluster mode
| Feature | App Mesh | Kubernetes |
| ----------------- | -------- | ---------- |
| Easy deploy | â |
| More features | | â |
| Non-container app | â |
| Service expose | â | â |
| Scheduler | â | â |
| Definition file | YAML | YAML |
| GUI | â | â |
| Virtual Network | | â |
| Monitor tools | â | â |
| [Remote task](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html) | â | |
---
### Mind diagram

---
## Success
- [Build a powerful monitor system with Grafana/Prometheus/Loki](https://app-mesh.readthedocs.io/en/latest/success/build_powerful_monitor_system_with_Grafana_Prometheus_Loki.html)
- [Customize application start behavior](https://app-mesh.readthedocs.io/en/latest/success/customize_app_startup_behavior.html)
- [Manage cluster-level microservice applications](https://app-mesh.readthedocs.io/en/latest/success/manage_cluster_level_microservice_applications.html)
- [Open service broker support local PV for Kubernetes](https://app-mesh.readthedocs.io/en/latest/success/open_service_broker_support_local_pv_for_K8S.html)
- [Promote native application to microservice application](https://app-mesh.readthedocs.io/en/latest/success/promote_native_app_to_microservice_app.html)
- [Secure REST file server](https://app-mesh.readthedocs.io/en/latest/success/secure_REST_file_server.html)
- [Standalone JWT server](https://app-mesh.readthedocs.io/en/latest/success/standalone_JWT_server.html)
- [Kubernetes run none-container applications](https://app-mesh.readthedocs.io/en/latest/success/kubernetes_run_native_application.html)
- [Remote execute](https://app-mesh.readthedocs.io/en/latest/success/remote_run_cli_and_python.html)
- [Python parallel run](https://app-mesh.readthedocs.io/en/latest/success/python_parallel_run.html)
- [Secure consul cluster](https://app-mesh.readthedocs.io/en/latest/success/secure_consul_cluster.html)
- [JWT service with REST and UI](https://github.com/laoshanxi/app-mesh/blob/main/script/docker-compose-auth-service.yaml)
- [Remote task execute](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html)
---
## Library dependency
- [MessagePack](https://msgpack.org/)
- [boostorg/boost](https://github.com/boostorg/boost)
- [ACE_TAO/ACE](https://github.com/DOCGroup/ACE_TAO)
- [Thalhammer/jwt-cpp](https://github.com/Thalhammer/jwt-cpp)
- [nlohmann/json](https://json.nlohmann.me)
- [yaml-cpp](https://github.com/jbeder/yaml-cpp)
- [nfpm](https://github.com/goreleaser/nfpm)
- [jupp0r/prometheus-cpp](https://github.com/jupp0r/prometheus-cpp)
- [zemasoft/wildcards](https://github.com/zemasoft/wildcards)
- [mariusbancila/croncpp](https://github.com/mariusbancila/croncpp)
- [log4cpp](http://log4cpp.sourceforge.net)
- [Crypto++](https://www.cryptopp.com)
- [ldap-cpp](https://github.com/AndreyBarmaley/ldap-cpp)
- [OATH Toolkit](http://www.nongnu.org/oath-toolkit/liboath-api)
[language.url]: https://isocpp.org/
[language.badge]: https://img.shields.io/badge/language-C++-blue.svg
[standard.url]: https://en.wikipedia.org/wiki/C%2B%2B#Standardization
[standard.badge]: https://img.shields.io/badge/C%2B%2B-11%2F14%2F17-blue.svg
[release.url]: https://github.com/laoshanxi/app-mesh/releases
[release.badge]: https://img.shields.io/github/v/release/laoshanxi/app-mesh?label=Github%20package
[docker.url]: https://hub.docker.com/repository/docker/laoshanxi/appmesh
[docker.badge]: https://img.shields.io/docker/pulls/laoshanxi/appmesh.svg
[cockpit.url]: https://github.com/laoshanxi/app-mesh-ui
[cockpit.badge]: https://img.shields.io/badge/Cockpit-app--mesh--ui-blue?logo=appveyor
[unittest.url]: https://github.com/catchorg/Catch2
[unittest.badge]: https://img.shields.io/badge/UnitTest-Catch2-blue?logo=appveyor
[pypi.badge]: https://img.shields.io/pypi/v/appmesh?label=PyPI%3Aappmesh
[pypi.url]: https://pypi.org/project/appmesh/
[npm.badge]: https://img.shields.io/npm/v/appmesh?label=npm%3Aappmesh
[npm.url]: https://www.npmjs.com/package/appmesh
Raw data
{
"_id": null,
"home_page": "https://github.com/laoshanxi/app-mesh",
"name": "appmesh",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "appmesh AppMesh app-mesh",
"author": "laoshanxi",
"author_email": "178029200@qq.com",
"download_url": null,
"platform": null,
"description": "\ufeff[![language.badge]][language.url] [![standard.badge]][standard.url] [![unittest.badge]][unittest.url] [![docker.badge]][docker.url] [![cockpit.badge]][cockpit.url]\n[](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)\n<a href=\"https://scan.coverity.com/projects/laoshanxi-app-mesh\">\n <img alt=\"Coverity Scan Build Status\"\n src=\"https://img.shields.io/coverity/scan/21528.svg\"/>\n</a>\n[](https://api.securityscorecards.dev/projects/github.com/laoshanxi/app-mesh)\n[![release.badge]][release.url] [![pypi.badge]][pypi.url] [![npm.badge]][npm.url]\n\n# App Mesh: Advanced Application Management Platform\n\nApp Mesh is an open-source, multi-tenant application management platform designed for cloud-native environments. It efficiently manages, schedules, and monitors both microservices and traditional applications, offering a lightweight alternative to Kubernetes. App Mesh bridges the gap between simple process managers and complex container orchestration systems, making it ideal for organizations seeking to modernize their infrastructure without adopting full container-native complexity. Supporting both containerized and native applications, it provides a versatile solution for diverse enterprise needs.\n\n<div align=center><img src=\"https://github.com/laoshanxi/picture/raw/master/appmesh/diagram.png\" align=center /></div>\n\n## Features\n\nFeature | Description\n---|---\nApplication management | \ud83e\udde9 <b>Application Management (CURD) with Full Remote Control</b> \u2013 including cgroup, OS user, environment variables, Docker, stdin, and stdout \u2013 along with comprehensive monitoring (start counts, exit codes, error messages, health checks). <br> \ud83e\udde9 <b>Fine-Grained Application Behavior Control & Scheduling</b> \u2013 supports long- and short-running tasks, periodic jobs, cron schedules, custom timings, and robust error handling. <br> \ud83e\udde9 <b>Multi-Tenancy</b> \u2013 built-in user ownership model and access controls. <br> \ud83e\udde9 <b>Unified Access Interface</b> \u2013 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).<br>\nSecurity | \ud83d\udd10 Authentication: [LDAP](https://app-mesh.readthedocs.io/en/latest/LDAP.html), [OAuth](src/sdk/python/test/test_oauth2.py), [2FA](https://app-mesh.readthedocs.io/en/latest/MFA.html), YAML-based storage (local file or Consul for clustering) <br> \ud83d\udd10 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 <br> \ud83d\udd10 Protection: SSL/TLS for TCP/HTTP, CSRF tokens, HMAC with PSK for non-token verification\nCloud native | Schedule cloud-level applications to run on multiple hosts with resource size requests. <br> \ud83c\udf29\ufe0f [Prometheus Exporter (build-in)](https://app-mesh.readthedocs.io/en/latest/PROMETHEUS.html) <br> \ud83c\udf29\ufe0f [Grafana SimpleJson datasource](https://app-mesh.readthedocs.io/en/latest/GrafanaDataSource.html) <br> \ud83c\udf29\ufe0f [Grafana Loki](https://app-mesh.readthedocs.io/en/latest/Loki.html) <br>\ud83c\udf29\ufe0f [Dockerfile](https://github.com/laoshanxi/app-mesh/blob/main/Dockerfile)\nMicro service application | \ud83e\uddf1 [Consul micro-service cluster management](https://app-mesh.readthedocs.io/en/latest/CONSUL.html)\nExtra Features | Collect host/app resource usage <br> Remote shell command execution <br> File upload/download interface <br> Hot-update support `systemctl reload appmesh` <br> Bash completion <br> Reverse proxy <br> \ud83c\udf10[Web GUI](https://github.com/laoshanxi/app-mesh-ui)\nPlatform support | X86_64 <br> ARM32 <br> ARM64\nSDK | [Python](https://app-mesh.readthedocs.io/en/latest/api/appmesh_client.html) <br> [Golang](https://github.com/laoshanxi/app-mesh/blob/main/src/sdk/go/appmesh_client.go) <br> [JavaScript](https://www.npmjs.com/package/appmesh) <br> [Java](https://github.com/laoshanxi/app-mesh/packages/2227502) <br> [Swagger OpenAPI Specification](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/laoshanxi/app-mesh/main/src/daemon/rest/openapi.yaml)\n\n## Getting started\n\nRefer to the [Installation doc](https://app-mesh.readthedocs.io/en/latest/Install.html) to learn how to install App Mesh via Docker Compose or natively and set up an App Mesh cluster.\n\n## Documentation\n\n- [Read the Docs](https://app-mesh.readthedocs.io/)\n- [REST API](https://app-mesh.readthedocs.io/en/latest/Development.html#rest-apis)\n- [Command lines](https://app-mesh.readthedocs.io/en/latest/CLI.html)\n- [Security](https://app-mesh.readthedocs.io/en/latest/Security.html)\n\n## Comparison\n\n### Standalone mode\n\n| Feature | App Mesh | [Supervisor](http://supervisord.org/) | [crontab](https://crontab.guru/) |\n| ------------------------ | -------- | ------------------------------------- | -------------------------------- |\n| Accuracy | Seconds | Seconds | Minutes |\n| Language | C++11 | Python | C |\n| Web GUI | \u221a | \u221a |\n| Command lines | \u221a | \u221a | \u221a |\n| SDK | \u221a | |\n| Cron schedule expression | \u221a | | \u221a |\n| Manage daemon process | | | \u221a |\n| Manage docker app | \u221a | |\n| Start check (avoid leak) | \u221a | \u221a |\n| Session login | | |\n| Manage stdout/stderr | \u221a | \u221a |\n| Health check | \u221a | |\n| Rich control options | \u221a | |\n| Authentication | \u221a | \u221a |\n| Multi-tenant | \u221a | | \u221a |\n\n### Cluster mode\n\n| Feature | App Mesh | Kubernetes |\n| ----------------- | -------- | ---------- |\n| Easy deploy | \u221a |\n| More features | | \u221a |\n| Non-container app | \u221a |\n| Service expose | \u221a | \u221a |\n| Scheduler | \u221a | \u221a |\n| Definition file | YAML | YAML |\n| GUI | \u221a | \u221a |\n| Virtual Network | | \u221a |\n| Monitor tools | \u221a | \u221a |\n| [Remote task](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html) | \u221a | |\n\n---\n\n### Mind diagram\n\n\n\n---\n\n## Success\n\n- [Build a powerful monitor system with Grafana/Prometheus/Loki](https://app-mesh.readthedocs.io/en/latest/success/build_powerful_monitor_system_with_Grafana_Prometheus_Loki.html)\n- [Customize application start behavior](https://app-mesh.readthedocs.io/en/latest/success/customize_app_startup_behavior.html)\n- [Manage cluster-level microservice applications](https://app-mesh.readthedocs.io/en/latest/success/manage_cluster_level_microservice_applications.html)\n- [Open service broker support local PV for Kubernetes](https://app-mesh.readthedocs.io/en/latest/success/open_service_broker_support_local_pv_for_K8S.html)\n- [Promote native application to microservice application](https://app-mesh.readthedocs.io/en/latest/success/promote_native_app_to_microservice_app.html)\n- [Secure REST file server](https://app-mesh.readthedocs.io/en/latest/success/secure_REST_file_server.html)\n- [Standalone JWT server](https://app-mesh.readthedocs.io/en/latest/success/standalone_JWT_server.html)\n- [Kubernetes run none-container applications](https://app-mesh.readthedocs.io/en/latest/success/kubernetes_run_native_application.html)\n- [Remote execute](https://app-mesh.readthedocs.io/en/latest/success/remote_run_cli_and_python.html)\n- [Python parallel run](https://app-mesh.readthedocs.io/en/latest/success/python_parallel_run.html)\n- [Secure consul cluster](https://app-mesh.readthedocs.io/en/latest/success/secure_consul_cluster.html)\n- [JWT service with REST and UI](https://github.com/laoshanxi/app-mesh/blob/main/script/docker-compose-auth-service.yaml)\n- [Remote task execute](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html)\n\n---\n\n## Library dependency\n\n- [MessagePack](https://msgpack.org/)\n- [boostorg/boost](https://github.com/boostorg/boost)\n- [ACE_TAO/ACE](https://github.com/DOCGroup/ACE_TAO)\n- [Thalhammer/jwt-cpp](https://github.com/Thalhammer/jwt-cpp)\n- [nlohmann/json](https://json.nlohmann.me)\n- [yaml-cpp](https://github.com/jbeder/yaml-cpp)\n- [nfpm](https://github.com/goreleaser/nfpm)\n- [jupp0r/prometheus-cpp](https://github.com/jupp0r/prometheus-cpp)\n- [zemasoft/wildcards](https://github.com/zemasoft/wildcards)\n- [mariusbancila/croncpp](https://github.com/mariusbancila/croncpp)\n- [log4cpp](http://log4cpp.sourceforge.net)\n- [Crypto++](https://www.cryptopp.com)\n- [ldap-cpp](https://github.com/AndreyBarmaley/ldap-cpp)\n- [OATH Toolkit](http://www.nongnu.org/oath-toolkit/liboath-api)\n\n[language.url]: https://isocpp.org/\n[language.badge]: https://img.shields.io/badge/language-C++-blue.svg\n[standard.url]: https://en.wikipedia.org/wiki/C%2B%2B#Standardization\n[standard.badge]: https://img.shields.io/badge/C%2B%2B-11%2F14%2F17-blue.svg\n[release.url]: https://github.com/laoshanxi/app-mesh/releases\n[release.badge]: https://img.shields.io/github/v/release/laoshanxi/app-mesh?label=Github%20package\n[docker.url]: https://hub.docker.com/repository/docker/laoshanxi/appmesh\n[docker.badge]: https://img.shields.io/docker/pulls/laoshanxi/appmesh.svg\n[cockpit.url]: https://github.com/laoshanxi/app-mesh-ui\n[cockpit.badge]: https://img.shields.io/badge/Cockpit-app--mesh--ui-blue?logo=appveyor\n[unittest.url]: https://github.com/catchorg/Catch2\n[unittest.badge]: https://img.shields.io/badge/UnitTest-Catch2-blue?logo=appveyor\n[pypi.badge]: https://img.shields.io/pypi/v/appmesh?label=PyPI%3Aappmesh\n[pypi.url]: https://pypi.org/project/appmesh/\n[npm.badge]: https://img.shields.io/npm/v/appmesh?label=npm%3Aappmesh\n[npm.url]: https://www.npmjs.com/package/appmesh\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Client SDK for App Mesh",
"version": "1.6.1",
"project_urls": {
"Homepage": "https://github.com/laoshanxi/app-mesh"
},
"split_keywords": [
"appmesh",
"appmesh",
"app-mesh"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8caa24257b2bcd408ad020e8b7888215a2112b905c32c6911d1a24215f89e7f9",
"md5": "c97a7bb04833fbe5e7e9c46f35719f0d",
"sha256": "f2a9bbfd1641b82ff09008a4125739a18d811875829b50d709738f7762094c6c"
},
"downloads": -1,
"filename": "appmesh-1.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c97a7bb04833fbe5e7e9c46f35719f0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 32694,
"upload_time": "2025-09-11T23:06:28",
"upload_time_iso_8601": "2025-09-11T23:06:28.638446Z",
"url": "https://files.pythonhosted.org/packages/8c/aa/24257b2bcd408ad020e8b7888215a2112b905c32c6911d1a24215f89e7f9/appmesh-1.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-11 23:06:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "laoshanxi",
"github_project": "app-mesh",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "appmesh"
}