dalal
dalal copied to clipboard
BYOL* Payload Transformation Service
🦹 Dalal 🦹
BYOL* Payload Transormation Service
(*Bring Your Own Language 👻)
Try it out »
Report Bug
·
Request Feature
Table of Contents
- About the Project
- Key Features
- Built With
- Usage Instructions
- Getting Started
- Prerequisites
- Running Dalal locally
- Roadmap
- Contributing
- Credits
About The Project

Dalal is a powerful, in-flight webhook transformation service to connect absolutely any 2 services with very few lines of code - writen in your favourite language!
Key Features:
- Only expects a simple transformation function to convert the source payload to your destination service.
- Runs on top of OpenFaaS, so every language supported on OpenFaaS is supported.
- Detailed logs of past deliveries & errors with statistics.
Built With
- Ruby on Rails and Sidekiq
- OpenFaas
- Postgres
- React with TS & Styled Components
- Ant Design and Nivo
Usage Instructions
- Create a new channel from the home page.
- Write a transformation function in any language desired, which will take in the data passed when the webhook is called, and use that to forward the data to desired service in the required format.
- Add the url of the desired service, where you want to forward the request, in the target URL.
- Click on Save.
Getting Started
Prerequisites
- Docker & Docker Compose
- Docker Hub account (Other registries to be supported soon)
- OpenFaaS running locally or remote
- We recommend faasd to get up and running within 5 minutes. It is a single golang binary wrapping the core project.
Running Dalal Locally
- Start the service using:
docker-compose up
- (Optional) run the Dalal UI frontend with instructions from dalal-ui.
API Documentation
Postman Documentation, which you can also import as a collection for local testing.
Roadmap
- Test and expand support to more languages
- Enhance API to enable testing transformations right from the browser
- Support private registries for function image storage
- Add detailed metrics
- Support autoscaling for functions expecting high traffic
- Minimize time to update & deploy a function to OpenFaaS
Contributing
Contributions to Dalal are always welcome and all contributions you make are greatly appreciated. If you need clarifications, please create an issue.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Credits
Built with love, empathy and superpowers 🌺