Feature #6033

Git bot on XMPP

Added by Tails 2013-07-18 07:49:42 . Updated 2019-06-02 15:28:58 .

Status:
In Progress
Priority:
Normal
Assignee:
muri
Category:
Infrastructure
Target version:
Start date:
2013-12-29
Due date:
% Done:

100%

Feature Branch:
Type of work:
Sysadmin
Blueprint:

Starter:
0
Affected tool:
Deliverable for:

Description

The current plan is to run muri’s Tailsbot on our infrastructure. That bot gives URL+description of tickets, and announces recent changes in Git.

What’s needed for it to happen:

  • have errbot in Debian: ITP
  • decide where exactly we’re going to run the bot
  • manage the required packages installation with Puppet
  • manage the config file and credentials with Puppet
  • something about errbot plugins (not sure what that is, asked muri to clarify)

Subtasks

Feature #5440: Have kgb client hooks installed at git.tails.boum.org Rejected

0

Feature #5443: Run kgb-bot on lizard Rejected

100

Feature #6060: Enable kgb client hooks Rejected

0


Related issues

Related to Tails - Feature #9908: Bot that answers questions on XMPP Rejected 2015-08-05

History

#1 Updated by intrigeri 2013-07-19 01:31:00

  • Type of work set to Sysadmin

Type of work: Sysadmin

#2 Updated by intrigeri 2013-07-20 02:11:41

  • Subject changed from find another irc commit bot to Bot that announces commits on IRC
  • Starter set to No

#3 Updated by intrigeri 2013-12-29 03:21:27

  • Category set to Infrastructure

#4 Updated by BitingBird 2015-08-05 08:49:43

  • related to Feature #9908: Bot that answers questions on XMPP added

#5 Updated by BitingBird 2016-05-20 20:28:00

Maybe https://ikiwiki.info/plugins/contrib/irker/ is interesting, not sure but to investigate?

#6 Updated by BitingBird 2016-06-27 02:29:33

  • Subject changed from Bot that announces commits on IRC to Bot that announces commits on XMPP

The chans moved to xmpp -> that’s where the bot should be

#7 Updated by muri 2016-06-29 06:37:34

  • Assignee set to muri

assigning to me, as i’m already maintaining an xmpp bot for tails

#8 Updated by intrigeri 2016-08-18 08:58:54

It seems that most subtickets are IRC-specific, and the big picture needs a refresh :)

#9 Updated by intrigeri 2017-05-28 11:29:02

  • Subject changed from Bot that announces commits on XMPP to Git bot on XMPP
  • Description updated
  • Status changed from Confirmed to In Progress
  • Blueprint deleted (https://tails.boum.org/blueprint/find_another_irc_commit_bot)

#10 Updated by intrigeri 2017-05-28 11:46:31

  • Type of work changed from Sysadmin to Debian

(Next thing to do needs to be done in Debian.)

#11 Updated by muri 2017-06-05 17:15:24

intrigeri wrote:
> have errbot in Debian

intrigeri, iirc you once said that having errbot as a debian package is not a requirement, now it seems it is. so, just to clarify: is it? ;) i’m also asking because i’m still not sure if i’m capable of packaging errbot (as far as i can say it is a fast moving target partly using very young python modules). i still want to try packaging, but i can’t promise anything

> something about errbot plugins

errbot ist just the basic bot functionality for multiple backends (irc, xmpp, slack, …). the functionality of reacting to ticket numbers of tails, debian and tor is provided by a plugin, which is very specific for tails’ needs. i’ve pushed the code to: https://0xacab.org/muri/errbot-plugin-tails
the functionality of the git announcements is done by another plugin which i forked from https://github.com/errbotio/err-gitbot and which i fixed a bit and hardcoded tails’ git repository. it can be found on https://0xacab.org/muri/errbot-plugin-git

i will have another look at the packaging side of errbot after the first week of july and give you an assessment of how realistic it is that i package (and maintain) errbot in debian.

#12 Updated by Anonymous 2017-06-30 10:44:04

  • Assignee changed from muri to intrigeri
  • QA Check set to Info Needed

@intrigeri: https://labs.riseup.net/code/issues/6033#note-11 there is a question for you in here :)

#13 Updated by intrigeri 2017-07-23 07:48:47

  • Assignee changed from intrigeri to muri
  • Type of work changed from Debian to Sysadmin

Hi!

> intrigeri, iirc you once said that having errbot as a debian package is not a requirement, now it seems it is. so, just to clarify: is it? ;)

I’ve explained the reason why we try very hard to avoid running non-packaged software in an email a few weeks ago. Now, surely we can find a compromise. Can you please list the exact components (including dependencies, recursively) that we would need to run from third-party sources, ideally Git checkouts? I hope that most errbot are packaged already. If that dependency tree is small enough, one option could be that:

  • you’re responsible for maintaining a Git branch somewhere for each of these components: this means you’re the one responsible for ensuring both that we don’t run old crappy versions with security issues, and that upgrades don’t break the service;
  • we track these branches and install from there with Puppet, like we do e.g. for https://git-tails.immerda.ch/puppet-tails/tree/manifests/pythonlib.pp;
  • we can either track a production branch, or a production signed tag that you would update whenever you see fit (“signed” not for security, just to allow updated tags to be propagated).

What do you think?

> errbot ist just the basic bot functionality for multiple backends (irc, xmpp, slack, …). the functionality of reacting to ticket numbers of tails, debian and tor is provided by a plugin, which is very specific for tails’ needs. i’ve pushed the code to: https://0xacab.org/muri/errbot-plugin-tails

OK. I believe the setup described above would work for this one.

> the functionality of the git announcements is done by another plugin which i forked from https://github.com/errbotio/err-gitbot and which i fixed a bit and hardcoded tails’ git repository. it can be found on https://0xacab.org/muri/errbot-plugin-git

Ideally, it would be nice to merge your improvements upstream (and make it configurable if needed so 1. we don’t have to hard-code stuff; 2. we can track multiple Git repos) so we don’t have to run a fork. Other than that, same as above.

> i will have another look at the packaging side of errbot after the first week of july and give you an assessment of how realistic it is that i package (and maintain) errbot in debian.

Great, thanks. I’d rather see the above plan as a temporary workaround until errbot is packaged, but perhaps it’ll work well enough for everyone who’s affected that we don’t need to package errbot in the end.

#14 Updated by Anonymous 2018-01-19 15:09:46

hey muri, I’m unsure what is left to be done on this ticket? Could you please clarify? Thanks!

#15 Updated by muri 2018-01-22 17:06:23

u wrote:
> hey muri, I’m unsure what is left to be done on this ticket? Could you please clarify? Thanks!

hi, every few month i’m looking at packaging again and i get a bit further but then there is another obstacle.
at the moment upstream requires ‘cryptography<2.1.0’ and ‘pyOpenSSL<17.3.0’ but for both packages debian has newer versions… i’ll take a look at it again in february.
just for the record, i’ve pushed the packaging work to https://salsa.debian.org/muri-guest/errbot

#16 Updated by Anonymous 2018-08-19 08:52:38

muri wrote:
> u wrote:

> just for the record, i’ve pushed the packaging work to https://salsa.debian.org/muri-guest/errbot

awesome!

#17 Updated by Anonymous 2018-08-19 08:53:42

Except that you’ve deleted this in the meantime from Salsa.. :)

#18 Updated by muri 2019-03-19 16:20:51

u wrote:
> Except that you’ve deleted this in the meantime from Salsa.. :)

Yeah, someone else is now working on the Debian package ;) The main problem at the moment is that the current release of errbot (5.1.3) depends on a fork of the rocket webserver which is not in Debian. Upstream announced they would move to flask in the next release (the current release is from june ’18) and drop that fork.

I’m in the process of migrating the bot to another system- i’ll document what is needed to set errbot up, then its easier to choose if we should wait for the Debian package or move ahead with running it from source.

#19 Updated by Anonymous 2019-03-20 11:29:23

muri wrote:
> u wrote:
> > Except that you’ve deleted this in the meantime from Salsa.. :)
>
> Yeah, someone else is now working on the Debian package ;) The main problem at the moment is that the current release of errbot (5.1.3) depends on a fork of the rocket webserver which is not in Debian. Upstream announced they would move to flask in the next release (the current release is from june ’18) and drop that fork.
>
> I’m in the process of migrating the bot to another system- i’ll document what is needed to set errbot up, then its easier to choose if we should wait for the Debian package or move ahead with running it from source.

@muri: thanks for doing that!

#20 Updated by intrigeri 2019-06-02 15:28:58

  • QA Check deleted (Info Needed)