summaryrefslogtreecommitdiff
path: root/README
blob: 05a2659e39c0cd12b47f063581f1219bb8736008 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
muck-poc - a JSON store with an HTTP API and access control
=============================================================================

This is a proof of concept.

Muck is a JSON store, with an access controlled, RESTful HTTP API.
Data stored in Muck is persistent, but kept in memory for speed
of access (similar to Redis). Data is stored as flat JSON objects:

* an object may have any number of fields
* each field has a value that is `null`, a UTF-8 string, or a list of
  UTF-8 strings

Access is granted based on signed JWT bearer tokens. An OpenID Connect
or OAuth2 identity provider is expected to give such tokens to
authorized users. The tokens are signed with a public key, and the
expected signing key is a key Muck configuration item.


Legalese
-----------------------------------------------------------------------------

Muck is licensed under the AGPL3+ license, a copy of which is included
as `COPYING` in the source code of this program. This license does NOT
apply to clients of the HTTP API it provides.

Copyright 2018  Lars Wirzenius

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.