{"id":36470116,"url":"https://github.com/1xyz/coolbeans","last_synced_at":"2026-01-12T00:35:17.946Z","repository":{"id":40398881,"uuid":"264071218","full_name":"1xyz/coolbeans","owner":"1xyz","description":"Coolbeans is a distributed work queue that implements the beanstalkd protocol.","archived":false,"fork":false,"pushed_at":"2023-04-25T16:17:07.000Z","size":690,"stargazers_count":69,"open_issues_count":7,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-10-03T22:34:28.240Z","etag":null,"topics":["beanstalkd","consensus","distributed-systems","go","queue","raft"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1xyz.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"Contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-15T01:58:52.000Z","updated_at":"2025-09-01T16:09:02.000Z","dependencies_parsed_at":"2024-06-19T00:02:20.009Z","dependency_job_id":"1afed60b-060b-4413-8d9e-16cf2e14804c","html_url":"https://github.com/1xyz/coolbeans","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/1xyz/coolbeans","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1xyz%2Fcoolbeans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1xyz%2Fcoolbeans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1xyz%2Fcoolbeans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1xyz%2Fcoolbeans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1xyz","download_url":"https://codeload.github.com/1xyz/coolbeans/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1xyz%2Fcoolbeans/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28329805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:13:06.322Z","status":"ssl_error","status_checked_at":"2026-01-12T00:04:50.725Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beanstalkd","consensus","distributed-systems","go","queue","raft"],"created_at":"2026-01-12T00:35:16.257Z","updated_at":"2026-01-12T00:35:17.941Z","avatar_url":"https://github.com/1xyz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build](https://github.com/1xyz/coolbeans/workflows/Build/badge.svg)](https://github.com/1xyz/coolbeans/actions?query=workflow%3ABuild)\n[![Release](https://github.com/1xyz/coolbeans/workflows/Release/badge.svg)](https://github.com/1xyz/coolbeans/actions?query=workflow%3ARelease)\n[![Docker](https://img.shields.io/docker/pulls/1xyz/coolbeans)](https://hub.docker.com/r/1xyz/coolbeans/tags)\n[![Go Report Card](https://goreportcard.com/badge/github.com/1xyz/coolbeans)](https://goreportcard.com/report/github.com/1xyz/coolbeans)\n\n\n\n- [Coolbeans](#coolbeans)\n    - [Motivation](#motivation)\n    - [Key features](#key-features)\n    - [Releases](#releases)\n    - [Getting started](#getting-started)\n    - [How to contribute](#how-to-contribute)\n    - [Local Development](Contributing.md)\n\n\u003cimg src=\"doc/bean_3185124.svg\" align=right width=200px /\u003e\n\n\nCoolbeans\n=========\n\nCoolbeans is a distributed replicated work queue service that implements the [beanstalkd protocol](https://github.com/beanstalkd/beanstalkd/blob/master/doc/protocol.txt). \n\nUnlike a message queue, [beanstalkd](https://github.com/beanstalkd/beanstalkd) is a work queue that provides primitive operations to work with jobs. \n\nCoolbeans primarily differs from beanstalkd in that it allows the work queue to be replicated across multiple machines. It uses the [RAFT consensus algorithm](https://raft.github.io/) to replicate the job state consistently across machines.\n\nMotivation\n----------\n\nBeanstalkd is a [feature-rich](https://www.igvita.com/2010/05/20/scalable-work-queues-with-beanstalk/) and easy to use queue. Beanstalkd, however has a few drawbacks that include: (i) A lack of replication or high availability in terms of machine failures. (ii) There is no native sharding, (iii) No native support for encryption \u0026 authentication between the service \u0026 the client.\n\nGiven the initial setup of beanstalkd is simple, having a HA or sharded production setup is non-trivial. Our premise with Coolbeans is to provide a replicated beanstalkd queue followed by addressing the other issues incrementally. Read about our design approach [here](doc/Design.md).\n\nKey features\n------------\n\n- A fully replicated work queue built using [Hashicorp's Raft library](https://github.com/hashicorp/raft).\n- Strong consistency of all queue operations. \n- Compatible with [existing beanstalkd clients](https://github.com/beanstalkd/beanstalkd/wiki/Client-Libraries).\n- Easy installation, available as a static binary or as a Linux docker image.\n- [Monitor metrics using Prometheus and visualize them via Grafana](https://github.com/1xyz/coolbeans-k8s/blob/master/doc/Metrics.md#setup-grafana).\n\n\nReleases\n--------\n\n- Static binary can be downloaded from the [release pages](https://github.com/1xyz/coolbeans/releases).\n- Docker release images can be pulled from [here](https://hub.docker.com/r/1xyz/coolbeans).\n- Docker development images can be pulled from [here](https://hub.docker.com/r/1xyz/coolbeans-developer/tags).\n\n\nGetting Started \n---------------\n\n- Refer the [getting started guide](doc/GettingStarted.md).\n\n- To setup a three node cluster refer [here](doc/GettingStarted3.md).\n\n- Getting started guide to run coolbeans on Kubernetes, refer [here](https://github.com/1xyz/coolbeans-k8s).\n\n\nHow to contribute\n-----------------\n\nCoolbeans is currently at `alpha` release quality. It is all about improving the quality of this by testing, testing \u0026 more testing.\n\nHere are a few ways you can contribute:\n\n- Be an early adopter, Try it out on your machine, testbed or pre-production stack and give us [feedback or report issues](https://github.com/1xyz/coolbeans/issues/new/choose).\n\n- Have a feature in mind. Tell us more about by [filing an issue](https://github.com/1xyz/coolbeans/issues/new/choose).\n\n- Want to contribute to code, documentation. Checkout the [contribution guide](./Contributing.md). \n\n---\n\n[icon](https://thenounproject.com/term/like/3185124/) by [Llisole](https://thenounproject.com/llisole/) from [the Noun Project](https://thenounproject.com)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1xyz%2Fcoolbeans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1xyz%2Fcoolbeans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1xyz%2Fcoolbeans/lists"}