What is MetaCall?
MetaCall helps you build serverless applications using a more fine-grained, scalable and NoOps oriented Function Mesh instead of ServiceMesh and DevOps approach. It automagically converts your code into a Function Mesh and auto-scales individual hot parts or functions of your app.
Need of an Automated Cloud Dev Environment
As MetaCall being an Open Source Software, the major block to start contributing to the Project is to Setup the Project Locally with all custom configurations, tools, libraries that a particular project requires. And I've been with MetaCall for a year, and the majority of the queries we get on our internal discord server are about setup and dealing with various issues. That's how I started, too. So with this Automated Cloud Dev Environment on Gitpod, you can just code, build, test, and ship without having to worry about setting up all the environments!
In this blog, i will be automating the setup of metacall/core on Gitpod.
I will be automating this Installation official docs of MetaCall
Step 1: Create a .gitpod.yml file in Root
official Docs for configuring the
.gitpod.yml: config-gitpod-file
For This Project, requirement was to build the project, pulling metacall docker images & executing them.
tasks:
- name: Build Metacall
init: |
mkdir build && cd ./build
cmake ..
cd ..
command:
sudo env PATH=$PATH cmake --build . --target install
- name: Pulling metacall Docker Images
init: |
docker pull metacall/core
docker pull metacall/core:dev
mkdir -p $HOME/metacall
command:
docker run -e LOADER_SCRIPT_PATH=/metacall -v $HOME/metacall:/metacall -w /metacall -it metacall/core:dev /bin/bash
- name: Pulling metacall-cli Docker Image
init: |
docker pull metacall/core:cli
command:
docker run -e LOADER_SCRIPT_PATH=/metacall -v $HOME/metacall:/metacall -w /metacall -it metacall/core:cli
Tasks Description
- Task 1: It will Build all the files
- Task 2: It will pull & execute
metacall/core:devdocker image
- Task 3: It will pull & execute
metacall-clidocker image
At the time of workspace preparation, this .gitpod.yml file will setup all of the essential environments. and Your Project Will be ready to code under _ 60 seconds_ (Gitpod ⚡)
See it in Action
Click the button below. A workspace with all required environments will be created.
To use it on your forked repo, edit the 'Open in Gitpod' button url to
https://gitpod.io/#https://github.com/<your-github-username>/core
My Pull Request: gitpodify the metacall/core 🚀
Repository of Gitpod, an Automated Open Source Cloud Dev. Environment. Use it or just give it a 🌟 for their amazing work.
gitpod-io
/
gitpod
The developer platform for on-demand cloud development environments to create software faster and more securely.
Gitpod has been renamed to Ona - mission control for software projects and software engineering agents. We no longer recommend this version of Gitpod, users should take advantage of Ona's free tier or contact sales for enterprise. With Ona you gain more powerful development environments than Gitpod Classic with industry-standard specifications based on Dev Container and Ona Agents.
Gitpod Classic
Gitpod Classic is a developer platform providing on-demand, pre-configured development environments in the cloud. It allows developers to spin up secure workspaces with a simple .gitpod.yml configuration file, eliminating the need for manual environment setup. The platform integrates seamlessly with GitHub, GitLab, Bitbucket, and Azure DevOps, offering features like prebuilt environments, collaborative code reviews, and professional developer experience with VS Code extensions and customization options. Workspaces are ephemeral, secure, and based on Docker, providing developers with the same capabilities as their local Linux machines but in a consistent…
Repository of MetaCall/Core, give it a 🌟
MetaCall allows calling functions, methods or procedures between multiple programming languages.
sum.py
def sum(a, b):
return a + b
main.js
const { sum } = require('./sum.py');
sum(3, 4); // 7
shell
metacall main.js
MetaCall is an extensible, embeddable, and interoperable cross-platform polyglot runtime. It supports NodeJS, Vanilla JavaScript, TypeScript, Python, Ruby, C#, Java, WASM, Go, C, C++, Rust, D, Cobol and more.
Install
The easiest way to install MetaCall is the following:
curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh
For more information about other install methodologies and platforms or Docker, check the install documentation.
Examples
You can find a complete list of examples in the documentation. If you are interested in submitting new examples, please contact us in our chats.






Top comments (0)