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.

Files for howlermonkey, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size howlermonkey-1.0.1-py3-none-any.whl (5.5 kB) File type Wheel Python version 3.5 Upload date Hashes View hashes
Filename, size howlermonkey-1.0.1.tar.gz (3.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page