Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slackvalue

A production-grade, enterprise-ready, cloud-native key-value store backed by Slack.

Channel names are keys. The last message in the channel is the value. Immutable audit logging comes free with your Slack plan.

Why

Redis costs money. Slack your company already pays for. This is arbitrage.

Quick Start

  1. Create a Slack app with a bot token (scopes: channels:read, channels:manage, channels:history, chat:write)
  2. Invite the bot to your workspace
  3. Export your token:
export SLACK_BOT_TOKEN=xoxb-...

Usage

go build ./cmd/slackvalue

./slackvalue set my-key "hello world"
./slackvalue get my-key
# hello world

Performance

Write throughput is bottlenecked by Slack's Tier 3 rate limit (1 message per second per channel). Read throughput is bottlenecked by conversations.history pagination. Multi-key transactions are left as an exercise for the reader (suggested approach: bribe Slack to add MULTI/EXEC to their API).

Consistency Model

Eventual consistency. Very eventual. Someone might be typing in your key right now.

Security

Values are protected by Slack's enterprise-grade security model, plus whatever permissions your Slack admin forgot to revoke in 2019.

FAQ

Is this a joke? The first rule of AI safety is to have fun.

Can I use this in production?

  Do we work together?
         |
    ┌────┴────┐
   yes       no
    |         |
 please    have
  don't    fun!

What about TTL? Slack's free plan deletes messages after 90 days. That's your TTL. You're welcome.

About

Key Value Store in Slack

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages