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 IAM instance, check out Cloud-IAM!

Hook0 UI

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

πŸ“˜

Hook0 UI dependencies

  • Hook0 API
  • Keycloak IAM

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.