Slack That! is a microservice to deploy a slack posting message gateway designed to also work for multi workspace.
- Can handle many concurrent requests
- Queue the received tasks
- Throttle the tasks to avoid reaching the rate-limit
- works with multi Slack workspaces
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!
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.
Client side:
POST req to SlackThat! endpoint
SlackThat side:
Receive a request -> (Queue) -> Throttle the queue -> POST to Slack
-
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
-
Compile it:
make
-
You can now run the compiled binary.
- Gustavo Belfort (Gustavobelfort)
Feel free to open a PR or create an issue if you'd like to improve the project!
- 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