MEMBRANE
BETA
What is Membrane?
Stateful serverless TypeScript for internal tools.
FEATURESEXAMPLES
example github action alert
Example of a Membrane program to checks if a Github workflow job has failed, and if so, it sends a sms message with information about the failure.
Use the Endpoint function to receive webhooks
SMS notification
import { nodes, root, state } from "membrane";
export async function endpoint({ path, body }) {
switch (path) {
case "/webhook":
{
const { action, workflow_job, repository } = JSON.parse(body);
if (
action === "completed" &&
workflow_job.conclusion === "failure"
) {
const message =
`The workflow "${workflow_job.workflow_name}"
in the repository "${repository.full_name}"
was canceled due to a failure caused by
"${workflow_job.name}".`;
await nodes.sms.send({ message });
}
}
return JSON.stringify({ status: 200 });
default:
console.log("Unknown Endpoint:", path);
}
}
What is Membrane?
Stateful serverless TypeScript for internal tools.
FEATURESEXAMPLES
Features Walkthrough
Communication
- 2023.08.20 Progress Update #3 Simpler function signatures, built-in Google auth.
- 2023.08.13 Progress Update #2 Windows support and OOM handling.
- 2023.07.30 Progress Update #1 Internal logging architecture, improved HTTP UI.
- 2023.07.14 Progress Update #0 Exit nodes and Program Replays.
Enter your email for occasional updates