Add Repository actor support to feature API
In #4459 (closed), we attempted to add Feature Flag factors support to Gitaly. After careful consideration, we decided to introduce Repository actor to the actor support list. This new actor is dedicated to Gitaly at the moment. It is suitable for the data model of Gitaly. Flipper, the engine behinds GitLab feature flag, is powerful in terms of actor support. The new actor class needs to add flipper_id
method. During feature flag evaluation, passing Repository in also works out of the box.
However, in practice, GitLab advocate chatops workflow so that folks can interact with feature flags directly on Slack. In addition, we also support admin APIs for the instance administrators to do the same thing with their instances. Chatops also uses the same APIs.
As a result, we'll need to add Repositroy actor to Admin feature flag APIs. Although the unique ID used by Flipper is gl_repository, it makes more sense from the user perspective to use Repository full path instead. We'll add to touch Feature::Target.