Skip to content

Add mailroom webhook support to Omnibus

Omnibus starts mailroom using bin/mailroom binary with the configuration generated from config/mail_room.yml. The mailroom service run script is available here. The mailroom service configuration is merged between hard-coded address-worker mappings, and Gitlab's incoming_email and service_desk_email configuration. It means Omnibus acts as an environment manager. config/mail_room.yml decides which delivery method to use. As soon as Omnibus can prepare the necessary config, especially secret_file, the mailroom service should work seamlessly when we switch to use webhook.

Therefore, there are some main steps to do. We can replicate the detailed steps in Omnibus kas recipe.

  • Add a random secret to mailroom configuration. This configuration should be added when the recipe is enabled. kas example.
  • Mount the aforementioned secret as a file under mailroom configuration. kas example.
  • Add the secret file path to secret_file fields of incoming_email and service_desk_email in config/gitlab.yml template.
Edited by Quang-Minh Nguyen