Skip to content

GitLab CI/CD does not work with Kerberos auth mode

Harsh Chouraria requested to merge hchouraria-docs-gitlab-kerberos-ci-cd into master

What does this MR do?

Documents that GitLab CI/CD may not be an option if electing to enable Kerberos based HTTP authentication over a GitLab instance

  • GitLab Runners require use of HTTP authentication
  • When Kerberos is enabled, HTTP authentication responses include a Negotiate option
  • Git picks up on this and begins attempting to use SPNEGO authentication at the runners
  • Git lacks some changes required to fall back to job token authentication when SPNEGO (naturally) fails to work
  • As a result, CI/CD jobs begin to always fail with authentication issues even when the right credentials are passed

It could theoretically be made to work if the ports are split for Kerberos, but this involves different URLs for different types of users/services that complicate the use of GitLab and likely also do not work for submodule accesses.

Related issues

Customer ticket: https://gitlab.zendesk.com/agent/tickets/233244

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 Harsh Chouraria

Merge request reports