{"id":35015257,"url":"https://github.com/metacall/function-mesh-example","last_synced_at":"2026-05-24T05:33:18.054Z","repository":{"id":40355775,"uuid":"183894713","full_name":"metacall/function-mesh-example","owner":"metacall","description":"MetaCall complete example with Function Mesh between multiple programming languages.","archived":false,"fork":false,"pushed_at":"2023-03-03T00:19:09.000Z","size":260,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-05-01T15:41:15.755Z","etag":null,"topics":["faas","function-mesh","pdf-generator","polyglot","react","serverless","service-mesh"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metacall.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}},"created_at":"2019-04-28T10:41:08.000Z","updated_at":"2024-05-01T15:41:15.755Z","dependencies_parsed_at":"2023-02-01T12:15:54.173Z","dependency_job_id":null,"html_url":"https://github.com/metacall/function-mesh-example","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/metacall/function-mesh-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metacall%2Ffunction-mesh-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metacall%2Ffunction-mesh-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metacall%2Ffunction-mesh-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metacall%2Ffunction-mesh-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metacall","download_url":"https://codeload.github.com/metacall/function-mesh-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metacall%2Ffunction-mesh-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33423284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["faas","function-mesh","pdf-generator","polyglot","react","serverless","service-mesh"],"created_at":"2025-12-27T05:18:34.223Z","updated_at":"2026-05-24T05:33:18.049Z","avatar_url":"https://github.com/metacall.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://metacall.io\" target=\"_blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/metacall/core/master/deploy/images/logo.png\" alt=\"M E T A C A L L\" style=\"max-width:100%;\" width=\"32\" height=\"32\"\u003e\n    \u003cp\u003e\u003cb\u003eM E T A C A L L\u003c/b\u003e\u003c/p\u003e\u003c/a\u003e\n    \u003cp\u003eMetaCall complete example with Function Mesh between multiple programming languages.\u003c/p\u003e\n\u003c/div\u003e\n\n## Motivation\n\nThis example has been designed in order to illustrate the differences between the **[MetaCall Function Mesh](https://medium.com/@metacall/function-mesh-architecture-c0304ba4bad0)** and a typical Service Mesh such as [Istio](https://istio.io/docs/examples/bookinfo/).\n\nThe complexity of State of The Art Service Meshes makes it difficult to develop applications because it requires the developer to have knowledge in multiple areas of expertise. The plumbing becomes difficult and tedious, meanwhile with Function Mesh there is no plumbing, only function calls.\n\n**[MetaCall Core](https://github.com/metacall/core)** allows to do call functions between languages and the plumbing and scalability is automatically done by the **[FaaS](https://metacall.io)**.\n\n## Architecture Overview\n\n![MetaCall Function Mesh Overview](/overview.png)\n\n## Running the example with Docker\n\nIt is possible to run and test the **Function Mesh** locally through **MetaCall CLI** in Docker. So there is no need to install all dependencies in your environment.\n\n`Docker`\n\n``` sh\ndocker build -t metacall/function_mesh_example .\ndocker run -it metacall/function_mesh_example\n```\n\n`Docker Compose`\n\n``` sh\ndocker-compose build\ndocker-compose run example\n```\n\n## Testing the example\n\nInput commands are the ones after the `\u003e` symbol (type `help` to show all command list).\n\n``` sh\n\u003e load py frontend/frontend.py\nScript (frontend/frontend.py) loaded correctly\n\u003e inspect\nruntime node {\n    module react {\n        function ReactIndexPage(name)\n    }\n}\nruntime py {\n    module frontend {\n        function convert(html)\n        function index()\n    }\n}\n\u003e call index()\n...\n\u003e call convert(\"\u003chtml\u003e\u003chead\u003e\u003ctitle\u003eExample Html\u003c/title\u003e\u003c/head\u003e\u003cbody\u003eHello World\u003c/body\u003e\u003c/html\u003e\")\n...\n\u003e exit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetacall%2Ffunction-mesh-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetacall%2Ffunction-mesh-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetacall%2Ffunction-mesh-example/lists"}