Architecture

A Hook0 instance is composed of multiple parts. Let's explain what they are used for!

Hook0 API

Hook0 API is the central part of the system. It is a Rust web application.

📘

Hook0 API dependencies

👍

If you need a managed Keycloak instance, check out Cloud IAM!

Hook0 UI

Hook0 UI is a Vue.js front-end web application.

📘

Hook0 UI dependencies

  • Hook0 API
  • your Keycloak instance

Hook0 Output Worker

Hook0 Output Worker is responsible of actually calling users' webhooks and gathering responses. It is a Rust application that does not need to accept incoming connections.

📘

Hook0 Output Worker dependencies

  • the PostgreSQL database used by Hook0 API

There can be multiple instances of Hook0 Output Worker, work would be shared between each of them.