Introduction to Weik.io
Learn about Weik.io, the open source integration and automation platform
Weik.io is an open-source platform for connecting systems such as CRMs, legacy databases, and third-party APIs without custom glue code. It handles integrations, API management, file transfers, and event routing in a single platform.
What Weik.io does
Instead of writing custom glue code for every connection, you can use Weik.io to handle:
- Integrations: Connect systems using Apache Camel patterns.
- API management: Create, deploy, and manage REST APIs.
- File transfers: Schedule and monitor file movements with Rclone.
- Event processing: Route CloudEvents using NATS messaging.
Platform components
Weik.io splits the work across six main parts:
- Backend: The control center. It handles REST APIs, state, and configuration.
- Agent: The worker. It runs the integrations (using Apache Camel and Rclone).
- UI: The web dashboard for monitoring and management.
- CLI: The command-line tool for deployments and automation.
- APIM: The API gateway, built on Microsoft YARP.
- NATS: The message broker that connects the components.
Configuration
You configure Weik.io using:
- YAML files, when you want to define things declaratively.
- The REST API, for programmatic control.
- The CLI, for terminal operations.
It also includes logging, monitoring, and OpenTelemetry support out of the box.
Deployment options
Open source
Self-hosted deployment with source code access. You can run it on your own infrastructure or a local machine using Docker Compose.
Get Started • Docker Compose Setup
Cloud
A managed service where Weik.io handles updates and monitoring. Plans start at €49/month.
Cloud Enterprise
A managed service with an SLA. Weik.io deploys it directly into your Azure account and provides enterprise-grade support.
See Deployment Options for a detailed comparison.
Use cases
You can use Weik.io to:
- Connect ERP and business systems without writing custom connectors from scratch.
- Set up an API gateway to add authentication and rate limiting to internal APIs.
- Keep databases in sync on a schedule.
- Automate file transfers between legacy FTP servers and cloud storage.
- Route events between microservices.
Example integration
Here is a basic integration that polls a database and sends data to an API:
- from:
uri: "timer:sync?period=300000"
steps:
- to:
uri: "sql:SELECT * FROM orders WHERE status = 'pending'"
- marshal:
json: {}
- to:
uri: "https://api.example.com/orders"
This runs every 5 minutes, reads pending orders from a SQL database, converts the rows to JSON, and sends them to an API with an HTTP POST request.
Next steps
- Architecture - See how the components fit together.
- Quickstart - Run your first integration locally.