Re-allow development of plugins for cog/Marvin
A while back the decision was made to not further allow work on our Cog installation (Marvin) as Cog itself was deprecated. While it's true that the company behind Cog shut down and the repository hasn't been very active since (last commits from October 2017) we were also not left with an alternative. The idea was to use GitLab chatops, but our roadmap (https://about.gitlab.com/direction/) makes no clear mention of when chatops will happen (if ever).
For the database OKR of Q1 2018 we have two tasks that depend on some form of chat bot being present in our Slack channel:
- https://gitlab.com/gitlab-com/infrastructure/issues/3448
- https://gitlab.com/gitlab-com/infrastructure/issues/3452
Both of these tasks are specific to the GitLab.com workflow and it really doesn't make sense to ship this to customers. As such Marvin/Cog would be the best approach. Yes, the underlying tech is not actively maintained but:
- It's already up and running, which means we don't have to spend months setting up an alternative
- The underlying tech not being maintained doesn't mean Marvin suddenly stops working
- It allows us to make many developers' lives easier by automating various mundane tasks in the most accessible way possible (= via chat commands)
Slash commands aren't very suitable because they would require setting up additional APIs/infrastructure in some shape or form, and we already have Cog up and running.
Because of this I would like to have the ability again to add custom plugins to Marvin until we have a very clear plan of what we're going to do with GitLab chatops, when it's going to happen, and more importantly when we expect it to be usable for GitLab.com (as our MVPs are more often than not good enough for our own scale/use cases).