- title: '`sidekiq` delivery method for `incoming_email` and `service_desk_email` is deprecated' announcement_milestone: '16.0' removal_milestone: '17.0' breaking_change: true reporter: msaleiko stage: Monitor issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/398132 body: | The `sidekiq` delivery method for `incoming_email` and `service_desk_email` is deprecated and is scheduled for removal in GitLab 17.0. GitLab uses a separate process called `mail_room` to ingest emails. Currently, GitLab administrators can configure their GitLab instances to use `sidekiq` or `webhook` delivery methods to deliver ingested emails from `mail_room` to GitLab. Using the deprecated `sidekiq` delivery method, `mail_room` writes the job data directly to the GitLab Redis queue. This means that there is a hard coupling between the delivery method and the Redis configuration. Another disadvantage is that framework optimizations such as job payload compression are missed. Using the `webhook` delivery method, `mail_room` pushes the ingested email body to the GitLab API. That way `mail_room` does not need to know your Redis configuration and the GitLab application adds the processing job. `mail_room` authenticates with a shared secret key. Reconfiguring an Omnibus installation generates this secret key file automatically, so no secret file configuration setting is needed. You can configure a custom secret key file (32 characters base 64 encoded) by running a command like below and referencing the secret file in `incoming_email_secret_file` and `service_desk_email_secret_file` (always specify the absolute path): ```shell echo $( ruby -rsecurerandom -e "puts SecureRandom.base64(32)" ) > ~/.gitlab-mailroom-secret ``` If you run GitLab on more than one machine, you need to provide the secret key file for each machine. We highly encourage GitLab administrators to start using the `webhook` delivery method for `incoming_email_delivery_method` and `service_desk_email_delivery_method` instead of `sidekiq`. tiers: [Free, Silver, Gold, Core, Premium, Ultimate] documentation_url: https://docs.gitlab.com/ee/user/project/service_desk.html#use-a-custom-email-address