Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 2.17 KB

README.md

File metadata and controls

67 lines (41 loc) · 2.17 KB

Slack That!

WIP

Go Report Build Status

Slack That! is a microservice to deploy a slack posting message gateway designed to also work for multi workspace.

Features

  • Can handle many concurrent requests
  • Queue the received tasks
  • Throttle the tasks to avoid reaching the rate-limit
  • works with multi Slack workspaces

Why?

To avoid spreading your slack tokens in all your services and import a slack library when you can just easily send a HTTP POST to your micro service!

How it works

At the moment, this micro-service is only meant to be used in a closed network and not exposed to external.

For example, you can run it in a specific docker network and add to this network the other services you want to allow to reach the microservice.

General flow:

Client side:
POST req to SlackThat! endpoint

SlackThat side:
Receive a request -> (Queue) -> Throttle the queue -> POST to Slack

Installing instructions

  1. You need to create your config.yml with your workspace name as key and the slack token app as value. You can copy the sample provided to create your own: cp ./configs/config.sample.yml ./configs/config.yml

  2. Compile it: make

  3. You can now run the compiled binary.

Contributors

Feel free to open a PR or create an issue if you'd like to improve the project!



WIP

Tasks checklist

  • yaml parsing - workspace: token
  • Create GET / route - doc
  • Designing the POST route
  • Create POST / - send message
  • Throttle the slack postMessage to avoid rate limit
  • Secure the POST route
  • Dockerize or not.
  • make the README.md more professional