{"id":33926987,"url":"https://github.com/laoshanxi/app-mesh","last_synced_at":"2026-04-08T13:31:41.596Z","repository":{"id":38370513,"uuid":"186355587","full_name":"laoshanxi/app-mesh","owner":"laoshanxi","description":"A secure, high-performance, multi-tenant micro-service platform for remote \"App Management\" and \"Computing\"","archived":false,"fork":false,"pushed_at":"2026-04-06T04:35:43.000Z","size":12743,"stargazers_count":214,"open_issues_count":11,"forks_count":28,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-06T06:25:20.750Z","etag":null,"topics":["2fa","alertmanager","consul-client","cron","docker","grafana-datasource","hmac-sha256","in-memory-computing","jwt","kubernetes","loki","ninja","oauth2","prometheus-exporter","psk2","sbom","service-mesh","websocket"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laoshanxi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-13T06:06:20.000Z","updated_at":"2026-04-06T04:35:47.000Z","dependencies_parsed_at":"2026-01-23T07:04:14.472Z","dependency_job_id":null,"html_url":"https://github.com/laoshanxi/app-mesh","commit_stats":{"total_commits":1512,"total_committers":12,"mean_commits":126.0,"dds":0.0443121693121693,"last_synced_commit":"19dd5c9a64990efefeb44dd021e30d72598ec7d6"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/laoshanxi/app-mesh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laoshanxi%2Fapp-mesh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laoshanxi%2Fapp-mesh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laoshanxi%2Fapp-mesh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laoshanxi%2Fapp-mesh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laoshanxi","download_url":"https://codeload.github.com/laoshanxi/app-mesh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laoshanxi%2Fapp-mesh/sbom","scorecard":{"id":367668,"data":{"date":"2025-08-18T10:03:23Z","repo":{"name":"github.com/laoshanxi/app-mesh","commit":"30d49cc858bf923710d97bfc7f903e10bb31f265"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":5.1,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1","Info: detected update tool: RenovateBot: renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/21 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-centos-7.yml:26","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-centos-8.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-macos.yaml:22","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/build-macos.yaml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-18.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-22.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-24.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-latest.yml:38","Info: jobLevel 'actions' permission set to 'read': .github/workflows/code-scan-codeql.yml:34","Info: jobLevel 'contents' permission set to 'read': .github/workflows/code-scan-codeql.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-appmesh-image.yml:39","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-container-agent-image.yml:39","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-github-package.yml:36","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/release-github-package.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-jar-package.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:23","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:24","Info: jobLevel 'contents' permission set to 'read': .github/workflows/test-ci.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-centos-7.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-centos-8.yml:17","Warn: no topLevel permission defined: .github/workflows/build-macos.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-18.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-22.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-24.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/build-ubuntu-latest.yml:21","Warn: no topLevel permission defined: .github/workflows/build-windows.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/code-scan-codeql.yml:27","Info: topLevel 'contents' permission set to 'read': .github/workflows/code-scan-coverity.yml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-appmesh-image.yml:22","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-container-agent-image.yml:22","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-github-package.yml:17","Warn: no topLevel permission defined: .github/workflows/release-jar-package.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-npm-package.yml:12","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-pypi-package.yml:12","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-ci.yml:17"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-7.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-7.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-centos-7.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-7.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-7.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-7.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-7.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-7.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-7.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-7.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-8.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-8.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-centos-8.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-8.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-8.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-8.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-8.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-8.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-centos-8.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-centos-8.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-macos.yaml:126: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-macos.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-18.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-18.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-22.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-22.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-24.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-24.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ubuntu-latest.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-ubuntu-latest.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-windows.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-windows.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-windows.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-windows.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-windows.yaml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-windows.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-windows.yaml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/build-windows.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/code-scan-codeql.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/code-scan-codeql.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/code-scan-codeql.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/code-scan-codeql.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/code-scan-codeql.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-codeql.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/code-scan-coverity.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-coverity.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/code-scan-coverity.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-coverity.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/code-scan-coverity.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/code-scan-coverity.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-appmesh-image.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-appmesh-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-container-agent-image.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-container-agent-image.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:119: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:123: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-github-package.yml:178: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-github-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-jar-package.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-jar-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-jar-package.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-jar-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-jar-package.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-jar-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-npm-package.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-npm-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-npm-package.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-npm-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-npm-package.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-npm-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-pypi-package.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-pypi-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-package.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-pypi-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-pypi-package.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-pypi-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-pypi-package.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/release-pypi-package.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/scorecards.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/scorecards.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/scorecards.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/scorecards.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/scorecards.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/scorecards.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecards.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/scorecards.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-ci.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-ci.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-ci.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-ci.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-ci.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-ci.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/laoshanxi/app-mesh/test-ci.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:9","Warn: containerImage not pinned by hash: Dockerfile:16: pin your Docker image by updating python:3.13-slim to python:3.13-slim@sha256:4d55aff3915a8622fdb8e6ab3645992de771bd97c3dd1279860cd5e18bcd7582","Warn: containerImage not pinned by hash: docker/Dockerfile.build_centos7:1: pin your Docker image by updating centos:7 to centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4","Warn: containerImage not pinned by hash: docker/Dockerfile.build_centos8:1: pin your Docker image by updating centos:8 to centos:8@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177","Warn: containerImage not pinned by hash: docker/Dockerfile.build_ubuntu:1: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9","Warn: containerImage not pinned by hash: docker/Dockerfile.build_ubuntu18:1: pin your Docker image by updating ubuntu:18.04 to ubuntu:18.04@sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98","Warn: containerImage not pinned by hash: docker/Dockerfile.build_ubuntu22:1: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:1aa979d85661c488ce030ac292876cf6ed04535d3a237e49f61542d8e5de5ae0","Warn: containerImage not pinned by hash: docker/Dockerfile.build_ubuntu24:1: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9","Warn: containerImage not pinned by hash: docker/Dockerfile.container_agent:1","Warn: containerImage not pinned by hash: docker/Dockerfile.container_agent:20: pin your Docker image by updating python:3.13.7-slim to python:3.13.7-slim@sha256:8220ccec22e88cddd9a541cacd1bf48423bda8cdeb1015249e4b298edf86cdc7","Warn: pipCommand not pinned by hash: docker/Dockerfile.container_agent:16-18","Warn: pipCommand not pinned by hash: script/setup_build_env/autogen.sh:72","Warn: pipCommand not pinned by hash: script/setup_build_env/autogen.sh:72","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh:206","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh:207","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh:209","Warn: pipCommand not pinned by hash: script/setup_build_env/autogen.sh:222","Warn: pipCommand not pinned by hash: script/setup_build_env/autogen.sh:222","Warn: downloadThenRun not pinned by hash: script/setup_build_env/autogen.sh:225","Warn: downloadThenRun not pinned by hash: script/setup_build_env/autogen.sh.apt.sh:56","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.apt.sh:76","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.apt.sh:77","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.apt.sh:78","Warn: pipCommand not pinned by hash: script/setup_build_env/autogen.sh.apt.sh:88","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.mac.sh:61","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.mac.sh:62","Warn: goCommand not pinned by hash: script/setup_build_env/autogen.sh.mac.sh:63","Warn: npmCommand not pinned by hash: .github/workflows/release-npm-package.yml:36","Warn: pipCommand not pinned by hash: .github/workflows/release-pypi-package.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/release-pypi-package.yml:34","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  65 third-party GitHubAction dependencies pinned","Info:   0 out of  10 containerImage dependencies pinned","Info:   0 out of   8 pipCommand dependencies pinned","Info:   0 out of   9 goCommand dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":5,"reason":"5 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-4cx2-fc23-5wg6","Warn: Project is vulnerable to: GHSA-8xfc-gm6g-vgpv","Warn: Project is vulnerable to: GHSA-hr8g-6v94-x4m9","Warn: Project is vulnerable to: GHSA-v435-xc8x-wvr9","Warn: Project is vulnerable to: GHSA-wjxj-5m7g-mg7q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (9) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 2.1.2 not signed: https://api.github.com/repos/laoshanxi/app-mesh/releases/235482673","Warn: release artifact 2.1.1 not signed: https://api.github.com/repos/laoshanxi/app-mesh/releases/78425535","Warn: release artifact 2.1.0 not signed: https://api.github.com/repos/laoshanxi/app-mesh/releases/68296004","Warn: release artifact 2.0.2 not signed: https://api.github.com/repos/laoshanxi/app-mesh/releases/62683205","Warn: release artifact 2.0.1 not signed: https://api.github.com/repos/laoshanxi/app-mesh/releases/58099285","Warn: release artifact 2.1.2 does not have provenance: https://api.github.com/repos/laoshanxi/app-mesh/releases/235482673","Warn: release artifact 2.1.1 does not have provenance: https://api.github.com/repos/laoshanxi/app-mesh/releases/78425535","Warn: release artifact 2.1.0 does not have provenance: https://api.github.com/repos/laoshanxi/app-mesh/releases/68296004","Warn: release artifact 2.0.2 does not have provenance: https://api.github.com/repos/laoshanxi/app-mesh/releases/62683205","Warn: release artifact 2.0.1 does not have provenance: https://api.github.com/repos/laoshanxi/app-mesh/releases/58099285"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/build-centos-7.yml:23"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":3,"reason":"3 out of 9 merged PRs checked by a CI test -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":0,"reason":"project has 0 contributing companies or organizations -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-08-18T12:14:47.287Z","repository_id":38370513,"created_at":"2025-08-18T12:14:47.287Z","updated_at":"2025-08-18T12:14:47.287Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31558380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","alertmanager","consul-client","cron","docker","grafana-datasource","hmac-sha256","in-memory-computing","jwt","kubernetes","loki","ninja","oauth2","prometheus-exporter","psk2","sbom","service-mesh","websocket"],"created_at":"2025-12-12T10:39:16.622Z","updated_at":"2026-04-08T13:31:41.588Z","avatar_url":"https://github.com/laoshanxi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![language.badge]][language.url] [![standard.badge]][standard.url] [![unittest.badge]][unittest.url] [![docker.badge]][docker.url] [![cockpit.badge]][cockpit.url]\n[![Documentation Status](https://readthedocs.org/projects/app-mesh/badge/?version=latest)](https://app-mesh.readthedocs.io/en/latest/?badge=latest) [![Join the chat at https://gitter.im/app-mesh/community](https://badges.gitter.im/app-mesh/community.svg)](https://gitter.im/app-mesh/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\u003ca href=\"https://scan.coverity.com/projects/laoshanxi-app-mesh\"\u003e\n  \u003cimg alt=\"Coverity Scan Build Status\"\n       src=\"https://img.shields.io/coverity/scan/21528.svg\"/\u003e\n\u003c/a\u003e\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/laoshanxi/app-mesh/badge)](https://api.securityscorecards.dev/projects/github.com/laoshanxi/app-mesh)\n[![release.badge]][release.url] [![pypi.badge]][pypi.url] [![npm.badge]][npm.url] [![cargo.badge]][cargo.url]\n\n# Advanced Application Management Platform\n\n**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.\n\nApp Mesh = systemd + scheduler + remote exec + API\n\n## 1. Application Management\n\nManages user-defined processes in a way similar to systemd services or Docker-managed processes, while providing more advanced capabilities for control, security, and integration.\n\n```shell\n# List registered applications\n$ appc ls\nID  NAME    OWNER  STATUS    HEALTH  PID  USER  MEMORY    %CPU  RETURN  AGE  DURATION  STARTS  COMMAND\n1   pyexec  mesh   disabled  -       -    -     -         -     -       37s  -         0       \"python3 ../../bin/py_exec.py\"\n2   ping    mesh   enabled   OK      747  root  5.9 MiB   0     -       37s  37s       1       \"ping cloudflare.com\"\n3   pytask  mesh   enabled   OK      748  root  29.7 MiB  0     -       37s  37s       1       \"python3 ../../bin/py_task.py\"\n# Add app\n$ appc add -a myapp -c \"ping www.baidu.com\"\n# View app\n$ appc ls -a myapp -o\nPING www.baidu.com (183.2.172.17) 56(84) bytes of data.\n64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=1 ttl=52 time=34.9 ms\n64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=2 ttl=52 time=35.1 ms\n64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq=3 ttl=52 time=35.3 ms\n# appc -h for more usage\n```\n\nSupports not only long-running services, but also scheduled and policy-driven executions, with remote control and execution status tracking.\n\n## 2. Sending Tasks to a Running Application\n\nInteract with a running application by sending tasks or data to it and receiving responses through the SDK.\n\n```python\nfrom appmesh import AppMeshClient\nclient = AppMeshClient()\nclient.login(\"USER-NAME\", \"USER-PWD\")\n\nresult_from_server = \"0\"\nfor i in range(10):\n    task_data = f\"print({result_from_server} + {i}, end='')\"\n    result_from_server = client.run_task(app_name=\"pytask\", data=task_data)\n    print(result_from_server)\n```\n\n## 🚀 Features\n\nFeature | Description\n---|---\nApp Management  | 🧩 \u003cb\u003eApp CURD with Full Remote Control\u003c/b\u003e – including cgroup, OS user, environment variables, Docker, stdin, and stdout – along with comprehensive monitoring (start counts, exit codes, error messages, health checks). \u003cbr\u003e 🧩 \u003cb\u003eFine-Grained Behavior Control \u0026 Scheduling\u003c/b\u003e – supports long- and short-running tasks, periodic jobs, cron schedules, custom timings, and robust error handling. \u003cbr\u003e 🧩 \u003cb\u003eMulti-Tenancy\u003c/b\u003e –  built-in user ownership model and access controls. \u003cbr\u003e 🧩 \u003cb\u003eUnified Access Interface\u003c/b\u003e – 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).\u003cbr\u003e\nComputing | 🚀 [High-performance in-memory computing](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html) \u003cbr\u003e ▶️ [Remote execution](https://app-mesh.readthedocs.io/en/latest/success/remote_run_cli_and_python.html)\nSecurity |  🔐 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) \u003cbr\u003e 🔐 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 \u003cbr\u003e 🔐 Protection: SSL/TLS for `TCP`/`HTTP`/`WebSocket`, CSRF tokens, HMAC with PSK for non-token verification\nCloud Native | 🌩️ [Prometheus Exporter (built-in)](https://app-mesh.readthedocs.io/en/latest/PROMETHEUS.html) \u003cbr\u003e 🌩️ [Grafana SimpleJson datasource](https://app-mesh.readthedocs.io/en/latest/GrafanaDataSource.html) \u003cbr\u003e 🌩️ [Grafana Loki](https://app-mesh.readthedocs.io/en/latest/Loki.html) \u003cbr\u003e 🌩️ [Dockerfile](https://github.com/laoshanxi/app-mesh/blob/main/Dockerfile) \u003cbr\u003e 🧱 [Consul micro-service cluster management](https://app-mesh.readthedocs.io/en/latest/CONSUL.html)\nExtra Features | Collect host/app resource usage \u003cbr\u003e Remote shell command execution \u003cbr\u003e File upload/download API \u003cbr\u003e Hot-update support `systemctl reload appmesh` \u003cbr\u003e Bash completion \u003cbr\u003e Request Forwarding \u003cbr\u003e 🌐[Web GUI](https://github.com/laoshanxi/app-mesh-ui)\nEcosystem | LLM: [Model Context Protocol (MCP)](src/sdk/mcp) \u003cbr\u003e AI: [Claude Code Plugin](src/sdk/claude-plugin) \u003cbr\u003e IoT: [MQTT](src/sdk/mqtt)\nPlatform support | Linux, macOS, Windows (X86, ARM)\nSDK | [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)\n\n## 📦 Install\n\nRefer to the [Installation doc](https://app-mesh.readthedocs.io/en/latest/Install.html), this covers:\n\n - Docker Compose setup\n - Native installation\n - Cluster initialization\n\n\u003cdiv align=center\u003e\u003cimg src=\"https://github.com/laoshanxi/picture/raw/master/appmesh/diagram.png\" align=center /\u003e\u003c/div\u003e\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++17    | Python                                | C                                |\n| Web GUI                  | √        | √                                     |\n| Command lines            | √        | √                                     | √                                |\n| SDK                      | √        |                                       |\n| Cron schedule expression | √        |                                       | √                                |\n| Manage docker app        | √        |                                       |\n| Session login            | √        |                                       |\n| Manage stdout/stderr     | √        | √                                     |\n| Health check             | √        |                                       |\n| Authentication           | √        | √                                     |\n| Multi-tenant             | √        |                                       | √                                |\n\n---\n\n### Mind diagram\n\n![mind-diagram](https://github.com/laoshanxi/picture/raw/master/appmesh/mind.png)\n\n---\n\n## 💡 Success\n\n- [In-memory remote task execute](https://app-mesh.readthedocs.io/en/latest/RemoteTask.html)\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- [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 non-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\n---\n\n## 🔗 Library dependency\n\n- [MessagePack](https://github.com/msgpack/msgpack-c)\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- [spdlog](https://github.com/gabime/spdlog)\n- [Crypto++](https://www.cryptopp.com)\n- [concurrentqueue](https://github.com/cameron314/concurrentqueue)\n- [libwebsockets](https://libwebsockets.org/)\n- [uWebSockets](https://github.com/uNetworking/uWebSockets)\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-14%2F17%2F20-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[cargo.badge]: https://img.shields.io/crates/v/appmesh\n[cargo.url]: https://crates.io/crates/appmesh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaoshanxi%2Fapp-mesh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaoshanxi%2Fapp-mesh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaoshanxi%2Fapp-mesh/lists"}