Project

General

Profile

Feature #6033

Git bot on XMPP

Added by Tails almost 6 years ago. Updated about 1 month ago.

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

100%

QA Check:
Info Needed
Feature Branch:
Type of work:
Sysadmin
Blueprint:
Starter:
No
Affected tool:

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.orgRejected

Feature #5443: Run kgb-bot on lizardRejected

Feature #6547: Puppet module to manage kgb-botRejected

Feature #6060: Enable kgb client hooksRejected


Related issues

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

History

#1 Updated by intrigeri almost 6 years ago

  • Type of work set to Sysadmin

Type of work: Sysadmin

#2 Updated by intrigeri almost 6 years ago

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

#3 Updated by intrigeri over 5 years ago

  • Category set to Infrastructure

#4 Updated by BitingBird over 3 years ago

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

#5 Updated by BitingBird almost 3 years ago

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

#6 Updated by BitingBird almost 3 years ago

  • 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 almost 3 years ago

  • Assignee set to muri

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

#8 Updated by intrigeri over 2 years ago

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

#9 Updated by intrigeri almost 2 years ago

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

#10 Updated by intrigeri almost 2 years ago

  • Type of work changed from Sysadmin to Debian

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

#11 Updated by muri almost 2 years ago

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 u almost 2 years ago

  • 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 over 1 year ago

  • 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 u over 1 year ago

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

#15 Updated by muri about 1 year ago

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 u 8 months ago

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 u 8 months ago

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

#18 Updated by muri about 1 month ago

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 u about 1 month ago

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!

Also available in: Atom PDF