A Paxos-based etcd
-alike in JavaScript.
What | Where |
---|---|
Discussion | #1 |
Documentation | https://bigeasy.github.io/addendum |
Source | https://github.com/bigeasy/addendum |
Issues | https://github.com/bigeasy/addendum/issues |
CI | https://travis-ci.org/bigeasy/addendum |
Coverage: | https://codecov.io/gh/bigeasy/addendum |
License: | MIT |
Addendum installs from NPM.
npm install addendum
This README.md
is also a unit test using the
Proof unit test framework. We'll use the
Proof okay
function to assert out statements in the readme. A Proof unit test
generally looks like this.
require('proof')(4, okay => {
okay('always okay')
okay(true, 'okay if true')
okay(1, 1, 'okay if equal')
okay({ value: 1 }, { value: 1 }, 'okay if deep strict equal')
})
You can run this unit test yourself to see the output from the various code sections of the readme.
git clone git@github.com:bigeasy/addendum.git
cd addendum
npm install --no-package-lock --no-save
node test/readme.t.js
okay('TODO')
This living README.md
is a template, but the usage of Addendum is not as
interesting as Addendum itself. It's an example of how to build an application
with the Paxos-backed atomic log Compassion. Read through the annotated
Docco
for an understanding of message ordering and map/reduce.
Proof-of-concept implementation of etcd v2 API.
Some of the tests test against both etcd
and Addendum if there is a
test/etcd.config.json
file that contains an object with a single
ETCD_HOST_IP
property. This assumes that etcd
is running on its default
port.
{
"ETCD_HOST_IP": "10.0.0.32"
}