Skip to main content

leastbot - Least Authority ircbot / webhook thingy.

Project description

========
leastbot
========

Scratching an itch.

.. toc::

Release Process
===============

* Ensure all tickets for the target release milestone are closed except for the *release capstone ticket* which is always titled: `Release N.N`
* Ensure the unittest coverage looks good.
* Edit ``./setup.py`` to set the version to N.N, and commit this.
* Install this on a staging test system and do some (*FIXME: Which?*) smoke tests.
* Tag the revision as ``release-N.N`` and push the tag to github.
* Run: ``./setup.py sdist --upload --sign --identity $YOUR_CODE_SIGNING_PGP_ID``
* Create a new virtual env and run ``pip install leastbot``. Check the installation was successful and has the right version (*FIXME: How?*).
* Close the capstone ticket, which is the only remaining ticket in the milestone.
* Bonus: Send announcements.

Recommended Deployment on Debian-like
=====================================

#. Install system-wide recent `virtualenv` as per `these instructions`_.

.. _`these instructions`: http://virtualenv.readthedocs.org/en/latest/virtualenv.html#installation

#. install C build stuff for dependencies:

.. code::

sudo apt-get install build-essential python-dev libffi-dev

#. Create a specific user:

.. code::

sudo adduser --disabled-password leastbot

#. Become that user:

.. code::

sudo su - leastbot

#. Create and activate a `virtualenv` for `leastbot` and its dependencies:

.. code::

mkdir ./leastbotvenv
virtualenv ./leastbotvenv
source ./leastbotvenv/bin/activate

#. Install `service_identity` for some weird reason I don't quite understand but seems related to the python `cryptography` package:

.. code::

pip install service_identity

#. Install `leastbot` from pypi (into the activated `virtualenv`):

.. code::

pip install leastbot

#. Run `leastbot` to see an error message about how the secret config file is missing:

.. code::

leastbot

#. Cut and paste the output of the last command into the path it specifies, then edit that file to fit your secret credentials (one for github, one for irc).

(Also, you probably want to make this file readable only by the `leastbot` user.)

#. Repeat the "missing config" process for the public config:

.. code::

leastbot

#. Cut, paste, edit, public config.

#. Finally, run `leastbot`, which should succeed and connect to irc:

.. code::

leastbot

.. warning:: The default commandline is equivalent to ``leastbot --log-level DEBUG`` which is *very verbose* and includes *all messages to a channel*. Be aware of the confidentiality and space impact. I *believe* that ``leastbot --log-level INFO`` will be relatively concise and privacy-preserving. Caveat emptor.

#. Verify `leastbot` has joined the expected irc channel by viewing its log output and also by joining the channel with another irc client and observing the channel roster and/or join notifications.

#. Go configure github webhook notifications to point to your leastbot web port. Test them by clicking test buttons.

.. admonition:: TODO

Improve this part of the instructions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

leastbot-0.2.1.tar.gz (15.6 kB view details)

Uploaded Source

File details

Details for the file leastbot-0.2.1.tar.gz.

File metadata

  • Download URL: leastbot-0.2.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for leastbot-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bf348923310cb4b16c7551be9ba6032c2d5b6b623981e09089e73f50f7d3b1a6
MD5 0e09d3973b3d88550782f3464d88b7f5
BLAKE2b-256 e3221d647c155b4be694c72a903bd3e4c3068f53c92a847f9603a94e3e1beab5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page