Skip to main content

A slack messaging authentication andinterfacing system for the DTG

Project description

Howler Monkey

A slack messaging authentication and interfacing system for the DTG

Intended to allow for automated messaging to our DTG slack group at a controlled endpoint.

Authentication is provided by only allowing connections over local unix domain sockets on a puppy VM. As such any user that can gain access to the host in order to connect must have sufficient monkeysphere auth and thus be a member of the DTG or at least equivalently privileged. Unauthenticated access by minor services can also be mediated by co-locating them on the same host.

Design

Server

  • Python process

  • Loads config from file:

    • Slack Address (includes token)

    • Unix socket address

  • Accepts JSON payloads over unix socket (via standard handler, poss UnixStreamServer)

  • Sends messages to slack via requests (steal code from dtg-lunch-notify)

  • Checks response codes?

  • Sends JSON back over socket detailing if there were any errors?

  • Runs as a daemon (with files for systemd?)

Client

  • Python Library

  • Provides either a single call interface or object interface

    • Single call of style message(text, channel=None, username=None, icon_url=None, icon_emoji=None)

    • Or object which lets you store all the varargs params at init and then just call send(text)

    • Steal more code from dtg-lunch-notify

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

howlermonkey-1.0.1.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

howlermonkey-1.0.1-py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 3

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