Skip to content

Add external_url config to Sidekiq nodes

What does this MR do?

It is necessary to configure external_url on dedicated Sidekiq nodes.

If any jobs require the SSH or HTTP path of the GitLab instance and external_url is absent, GitLab will return the Sidekiq hostname instead of the domain that is used to access GitLab - also see https://gitlab.com/gitlab-org/gitlab/-/blob/v14.3.2-ee/lib/gitlab/repository_url_builder.rb#L19-27 for the central point where this is determined.

See these tickets for examples where a missing external_url on the Sidekiq node caused issues:

  • https://gitlab.zendesk.com/agent/tickets/242624 - Customer had webhooks on their project configured. When an event was triggered, the webhook payload contained URLs that referenced the Sidekiq hostname rather than the external domain used to access the GitLab UI.
  • https://gitlab.zendesk.com/agent/tickets/172237 - Customer was referencing JIRA issue IDs in their commits. GitLab was sending URLs that referenced the Sidekiq hostname rather than the external domain used to access the GitLab UI back to JIRA. JIRA was then referencing the wrong URL back to GitLab.

After adding external_url on the Sidekiq node, the problems were resolved.

Let's add this to our documentation so it doesn't catch anyone else out.

Related issues

Author's checklist

If you are only adding documentation, do not add any of the following labels:

  • ~"feature"
  • ~"frontend"
  • ~"backend"
  • ~"bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Review checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
  • Ensure a release milestone is set.
Edited by Anton Smith

Merge request reports