Community Projects
Here are all projects that have come about out of community contribution. Let us know if you choose to maintain one of them!
Install and Configure
Here are the many recommended ways to get Riak KV started in your environment.
- All pre-built packages at Basho are managed on PackageCloud
- Spin up Riak KV on AWS using the latest AMI, pre-configured and optimized for use on AWS
- Riak KV Chef Recipe provisions using Chef
- Riak KV Puppet Module provisions using Puppet Labs
- Riak KV Ansible Role provisions using Ansible
- Cloudsoft-Riak is a tested Riak blueprints for developing and deploying using Cloudsoft
- Riak Mesos Framework is an experimental beta project that deploys Riak KV on top of Mesosphere’s DCOS. See how it works with this demo.
Local Development
There are a number of tools to get Riak running on your local system.
- The Riak App is an OS X application to run Riak KV on a Mac
- Vagrant-riak-meta is a collection of Vagrantfiles to spin up different versions of Riak on your laptop using Hashicorp’s Vagrant
Sample Applications
This a collection of sample applications built on Riak and Riak Core.
Riak
- Zombie Riak is an implementation of inverted-indexes to fight off the zombie apocalypse
- Dynamiq is a message queue powered by Riak KV and written in Golang. Read more about it
- Notification is an HTTP-based notification web service, based on Yammer’s Streamie service, written in Java on top of Riak KV
- Pyoko is a Django-esque ORM for Riak KV written in python
Riak Core
Riak Core (or riak_core
as it’s written in the code) is the distributed systems framework that underpins Riak. For more general information on Riak Core, start with this blog post.
- NKcluster is a framework for creating clusters of Erlang nodes of any size, and distributing and managing jobs
- Basho Didgeridoo is an application that uses Riak Core to play distributed music
Monitoring and Management
Here are the most active contributions from the community.
- Riak Explorer is an open source tool that provides a convenient method to browse Bucket Types, Buckets, Keys, view and edit Riak Objects.
- The Boundary Riak plugin collects information on Riak clusters for consumption in Boundary
- Datadog Riak Plugin collects Riak metrics for the Datadog monitoring service
- Riak Zabbix is a template and setup guide to monitor Riak KV
- Nagios Plugin maintained by the Basho community
- Advanced Nagios Plugins Collection contains many additional Nagios plugins for monitoring Riak
- New Relic Plugin serves node statistics of a Riak Node to the New Relic APM System
- Yokozuna Monitor is a ruby application to monitor your Riak Search activity.
- riak-statsd in golang which monitors Riak KV and pushes to statsd
- Gmond Python Modules for Riak is a Ganglia Module for connecting to Riak KV
- Riak Key List Utility is a console utility script for per-vnode key counting, siblings logging and more
Backup Tools
Here are some known most active contributions from the community.
- riak-data-migratorfor migrating data from one or more buckets in a Riak KV store into another Riak cluster by exporting all data from buckets
- riak-extl is a data migrator written in Elixir
- riak-tools is an easy way to backup Riak KV clusters running on AWS
Other Tools and Projects
Some projects have lost its maintainer with time. Here are all projects that haven’t seen commits in quite a while and may be helpful as reference. Let us know if you choose to maintain one of them!
- Brackup — A modern net-based backup system that supports de-duplication, intelligent chunking, and GPG-based-encryption
- riak_mapreduce_utils — A library of mapreduce utility functions developed in Erlang
- riakbloom — A solution allowing Bloom filters to be created and used in MapReduce jobs
- Qi4j Riak EntityStore — Qi4j EntityStore service backed by a Riak bucket
- ldapjs-riak — A Riak backend for ldapjs
- otto — S3 Clone built on top of Cyclone with support for Riak
- Riaktivity — A Ruby library for storing timelines in Riak
- Timak — A Python library for storing timelines (activity streams) in Riak
- Statebox_Riak — Convenience library that makes it easier to use Statebox with Riak. There is a great blog post from the Mochi Team about how this is used in production here.
- bitcask-ruby — An interface to the Bitcask storage system
- Riak BTree Backend — Backend for Riak/KV based on couch_btree*
- Riak Link Index — Simple Indexer for Riak based on Links
- rack-rekon — A Rack application to serve Rekon
- ring-session-riak — A Riak implementation for Ring Session
- Riak to CSV Export — A simple way to export your Riak buckets to CSV files
- Couch to Riak
- Chimera — An object mapper for Riak and Redis
- Riak_Redis Backend
- Riak Homebrew Formula
- Riak-fuse — A FUSE Driver for Riak
- riakfuse — A distributed filesystem that uses Riak as its backend store
- ebot — A scalable web crawler that supports Riak as a backend
- riak-jscouch — JSCouch examples done with Riak
- riak_tokyo_cabinet — A Tokyo Cabinet backend for Riak
- Logstash Riak Output — An output plugin for Logstash
- Fluentd plugin for Riak — An output plugin for Fluentd
- Riak/RabbitMQ Commit Hook — A post-commit hook that sends entries into a RabbitMQ broker using the Erlang AMQP client
- riak-exchange — Custom RabbitMQ exchange type for sticking messages in Riak
- rabbit_riak_queue — Riak-backed RabbitMQ persistent queue implementation
- msg_store_bitcask_index — RabbitMQ message store index with Bitcask Backend
- RabbitMQ riak_core Vnode Dispatcher — An example of how to dispatch a web request into a riak_core Vnode
- Lager AMQP Backend — AMQP RabbitMQ Lager backend
- Rekon — Riak Node Data Browser
- Nagios Plugins for Riak by xb95
- Scalarium-Riak — Riak Cookbooks for Scalarium Platform
- Riak Chef Recipe — Vanilla Chef Recipe for installing and configuring Riak
- RiakAWS — A simple way to deploy a Riak cluster in the Amazon Cloud
- Cloudsoft-Riak — Tested and optimized Riak blueprints for developing and deploying applications faster.
- Using Nginx as a front-end for Riak
- Sample HA Proxy Configuration for Protocol Buffers Interface (courtesy of Scott M. Likens)
- Sample HA Proxy Configuration for Protocol Buffers Interface (courtesy of Bob Feldbauer)
- Storing Apache Logs in Riak via Fluentd
- yakriak — Riak-powered Ajax-polling chatroom
- riaktant — A full-blown NodejS app that stores and makes syslog messages searchable in Riak Search
- selusuh — Riak application that presents JSON slide decks (thanks, OJ!)
- Rekon — A Riak data browser, built as a totally self-contained Riak application
- Slideblast — Share and control slide presentation for the web
- riak_php_app — A small PHP app that shows some basic usage of the Riak PHP library
- riak-url-shortener — A small Ruby app (with Sinatra) that creates short URLs and stores them in Riak
- wriaki — A wiki app backed by Riak
- riagi — A simple imgur.com clone built using Riak, Django, and Riak Search
- riak-session-manager — A Riak-backed Tomcat Session Manager
- riak_id — A clone of Twitter’s Snowflake, built on riak_core
- riak_zab — An implementation of the Zookeeper protocol on top of Riak Core
- Misultin
riak_core
Vnode Dispatcher — An example of how to dispatch a web request into ariak_core
vnode - ecnty — Partitioned counter based on Riak Core
rebar_riak_core
— Rebar templates for generatingriak_core
applications- riak_node (for Munin) — Munin plugin for monitoring GET and PUT traffic
- riak_memory (for Munin) — Munin plugin for monitoring memory allocation
- Riak-Console — An interactive command line interface to Riak
- riak-admin — Admin panel written in PHP (supports delete bucket via keys stream)
- riak_stats — A shell script to ship
riak-admin
statistics to Librato - riak-manage is a toolset is a project to manage Riak KV clusters