Name Date Size

..11-Feb-20204 KiB

.gitignoreH A D11-Feb-2020801

AUTHORSH A D11-Feb-20200

bucket_engine.cH A D11-Feb-202087.9 KiB

bucket_engine.hH A D11-Feb-2020867

bucket_engine.specH A D11-Feb-20201 KiB

ChangeLogH A D11-Feb-20200

config/H11-Feb-20204 KiB

configure.acH A D11-Feb-20201 KiB

COPYINGH A D11-Feb-20201.1 KiB

genhash.cH A D11-Feb-20207.7 KiB

genhash.hH A D11-Feb-20206.1 KiB

genhash_int.hH A D11-Feb-2020416

m4/H11-Feb-20204 KiB

Makefile.amH A D11-Feb-20202.3 KiB

management/H11-Feb-20204 KiB

mock_engine.cH A D11-Feb-202017.6 KiB

NEWSH A D11-Feb-20200

READMEH A D11-Feb-20200

README.markdownH A D11-Feb-20202.3 KiB

testapp.cH A D11-Feb-202051.6 KiB

win32/H11-Feb-20204 KiB

README.markdown

1# Bucket Engine
2
3This memcached engine provides multi-tenancy and isolation between
4other memcached engine instances.
5
6It is designed to have minimal overhead while providing few
7constraints of its own.
8
9That said, the ACL facilities are currently very limited and thus
10require SASL support and two security levels (admin, and everybody
11else).
12
13## Building
14
15You will need a storage-engine capable memcached and its included
16headers.
17
18The easiest way to do this if you don't want to install memcached from
19source would be to just create a source tree and reference it.
20
21### Building Memcached
22
23For example, assume you keep all of your projects in `~/prog/`, you
24can do this:
25
26    cd ~/prog
27    git clone -b engine git://github.com/dustin/memcached.git
28    cd memcached
29    ./config/autorun.sh
30    ./configure
31    make
32
33### Building the Bucket Engine
34
35    cd ~/prog
36    git clone git://github.com/northscale/bucket_engine.git
37    cd bucket_engine
38    ./configure --with-memcached=$HOME/prog/memcached
39    make
40
41## Running
42
43An example invocation using the bucket engine from your dev tree
44allowing every connecting user to automatically have his own isolated
45namespace within the default engine is as follows:
46
47    ~/prog/memcached/memcached -v -S \
48        -E ~/prog/bucket_engine/.libs/bucket_engine.so \
49        -e engine=$HOME/prog/memcached/.libs/default_engine.so
50
51## Configuration
52
53The following configuration options are available for this engine.
54
55### admin
56
57An administrative user can be specified using the `admin` parameter.
58
59This is the SASL authenticated user permitted to execute
60administrative commands (see scripts in the [management][management]
61directory for examples).
62
63### auto\_create
64
65With `auto-create` enabled, buckets are created automatically when
66users first attempt to use them.
67
68### default
69
70If true, a default bucket exists for unauthenticated users, or users
71who don't have buckets created for them when `auto_create` is disabled.
72
73### default\_bucket\_config
74
75The "default_bucket_config" parameter specifies a parameter to
76send to the default engine (ex: default_bucket_engine=tap_keepalive=500).
77
78### engine
79
80The contained engine is configured using the `engine` parameter (see
81the example above).
82
83[management]: http://github.com/northscale/bucket_engine/tree/master/management/
84