Перейти до вмісту
На сайт

Railhook чи Hookdeck — open-source альтернатива Hookdeck

Hookdeck складається з двох продуктів: Event Gateway, щоб приймати вебхуки, і Outpost, щоб їх надсилати. Railhook робить і те, і те в одному продукті, тож його порівнюють з кожною з двох половин.

Railhook Hookdeck Event Gateway Hookdeck Outpost
Напрямок Приймання й надсилання Приймання Надсилання
Ліцензія MIT Закритий код, лише SaaS Apache-2.0
Можна розгорнути на власному сервері Так, з усіма функціями Ні Так
Доставляє в черги й шини подій Ні, лише HTTP — Так: SQS, EventBridge, Pub/Sub, RabbitMQ та інші
Портал для клієнтів Так, вбудовуваний — Так
OpenTelemetry Ні — Так
Безкоштовний CLI для локальної розробки Так Так, разом із Console —

Прочерк означає, що з перевірених сторінок це однозначно не випливає або що пункт до цього продукту не стосується. Це не твердження, що такої функції немає.

  • Приймачі ваших клієнтів — черги, а не HTTP-сервіси. Outpost доставляє в SQS, EventBridge, Pub/Sub і RabbitMQ. Railhook доставляє лише через HTTP.
  • Вам потрібен портал, яким клієнти користуються самі, з оформленням на вашому CSS. В Outpost є портал для користувачів. У Railhook теж є вбудовуваний портал для клієнтів, але його вигляд налаштовується лише кольором бренду, логотипом, світлою чи темною темою та мовою.
  • Вам потрібні трейси. Outpost експортує дані в OpenTelemetry. Railhook віддає метрики Prometheus, а трейсів не має.
  • Ви приймаєте вебхуки й не хочете нічого обслуговувати самі. Event Gateway — керований сервіс із платними планами. Railhook Cloud поки має лише безкоштовний план, тож якщо ваш обсяг перевищує його ліміти, доведеться розгортати власний сервер.
  • Приймання вебхуків має працювати на вашому сервері. Event Gateway має закритий код і працює лише як SaaS від Hookdeck. Точка приймання, перевірка підписів, пересилання й відтворення в Railhook — усе це в MIT-репозиторії, тож вебхуки провайдерів не мусять проходити через третю сторону.
  • Ви і приймаєте, і надсилаєте. Hookdeck розносить напрямки по двох продуктах із двома окремими розгортаннями. У Railhook вхідні пересилання й вихідні доставки проходять однаковий життєвий цикл спроб, мають одну панель керування й один список недоставлених повідомлень.
  • Ви самі вирішуєте, скільки зберігати вебхуки. Railhook на власному сервері зберігає отримані вебхуки стільки, скільки ви налаштуєте, і будь-який із них можна знову відтворити на ваші сервіси. Див. Зберігання та експорт даних.
  • Вам потрібна перевірка підписів провайдерів, яку не треба писати самим. Railhook сам перевіряє підписи Stripe, GitHub, GitLab, Shopify, Slack, Twilio, Square, Adyen, SendGrid і HubSpot та відхиляє підроблений вебхук із 401 ще до того, як його збереже. Див. Перевірка вхідних вебхуків.

Джерело Event Gateway стає джерелом Railhook, а його призначення — призначеннями цього джерела. Призначення Outpost стає ендпоінтом Railhook. Спершу створіть у Railhook джерело та його призначення, надішліть тестовий вебхук на адресу приймання, а потім змініть на неї адресу вебхука в налаштуваннях провайдера. Повна відповідність понять — у розділі Перехід на Railhook.