slack_that

module
v0.0.0-...-91a13d0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2020 License: MIT

README

Slack That!

Created by Jordane Gengo (Titus)

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

Directories

Path Synopsis
cmd
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL