Skip to content

Allow self-managed GitLab instances to require licensed seats for Duo Chat

Context

This was done for GitLab.com via Allow customers to require licensed seats for D... (#457090 - closed)

The reason for this change is that some customers were unhappy that non-licensed users were able to use Duo Chat. They want Duo Chat to only be available to users with seats, instead of all members of their group. The original plan was to keep free access to all members for a period of time until we "cut off" free access. This feature flag lets customers opt into na early free access cut-off.

We are discussing also adding this functionality for SM customers as a backport for %16.11.

Implementation details

The .com solution is a feature flag that can be enabled per group. Or, if it is globally enabled, it would apply to all groups.

The Duo Pro free access cut-off check for self-managed is here. We could update that logic to also check for ::Feature.enabled?(:duo_chat_requires_licensed_seat), which a self-managed instance could use to opt their entire instance into this behavior.

Most likely, a SM instance would want this to be a global feature flag rather than opting groups into it one-by-one like we are doing in gitlab.com

For which customers is this feature flag interesting?

Only SM customer and Dedicated customers that match ALL the following specific needs can benefit from this issue:

  • Ultimate and Premium tier
  • Wants to try out or use Duo features including Code Suggestions
  • But does not want all users in their instance to have access to Duo Chat while it is still free.

No other customers needs this feature because

How to set the feature flag

The feature flag to require users to have a Duo Pro add-on seat assigned to use Duo Chat on SM is called duo_chat_requires_licensed_seat_sm. Check here for the information about feature flags in GitLab.

Edited by Torsten Linz