README (3055B)
1 ============= 2 GNU ANASTASIS 3 ============= 4 5 This package includes the Anastasis core logic. The code is released 6 under the GNU Affero General Public License (v3 or later). See 7 COPYING for details. 8 9 Description 10 =========== 11 12 GNU Anastasis is a key backup and recovery tool from the GNU project. 13 This package includes the backend run by the Anastasis providers as 14 well as libraries for clients and a command-line interface. 15 16 Installation instructions can be found in INSTALL and 17 also in the handbook at https://docs.anastasis.lu/ which 18 is also in the doc/ folder. Please note that you must run 19 'make install' before you can run the testsuite using 20 'make check'. 21 22 23 Dependencies 24 ============ 25 26 Build tools for compiling Anastasis from source: 27 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 29 - gcc or clang 30 - autoconf >= 2.69 (building from git) 31 - automake >= 1.11.1 (building from git) 32 - recutils >= 1.0 (building from git) 33 - libtool >= 2.2 34 - makeinfo >= 4.8 35 - make[*3] 36 - pkgconf or pkg-config 37 - sphinx 38 - sphinx-rtd-theme 39 - sphinx-multiversion 40 41 42 Direct dependencies 43 ~~~~~~~~~~~~~~~~~~~ 44 45 These are the direct dependencies for running Anastasis: 46 47 - GNU Taler merchant >= 0.14.0 48 - PostgreSQL >= 15.0 49 50 51 Directory structure 52 =================== 53 54 src/include/ includes installed (public) headers 55 src/util/ implements helper and crypto routines 56 src/backend/ contains the REST service 57 src/stasis/ implements the database logic for the backend 58 src/authorization/ contains various authorization plugins 59 src/restclient/ implements a REST client for the backend 60 src/lib/ implements the main client-side backup and recovery logic 61 src/testing/ contains test cases for 'src/restclient/' and 'src/lib/' 62 src/reducer/ implements a reducer API on top of 'src/lib/' 63 src/cli/ includes a reducer-based command-line interface 64 contrib/ contains resource files, like what identity attributes to ask for 65 doc/ contains documentation files, like TeXinfo 66 po/ internationalization via GNU gettext 67 68 69 Development note 70 ================ 71 72 To test against a local development service, add 73 74 { 75 "code" : "xx", 76 "name" : "Testland", 77 "continent" : "Demoworld", 78 "call_code" : "+00" 79 } 80 81 to contrib/redux.countries.json, and also append something like 82 83 { 84 "url" : "http://localhost:8086/", 85 "restricted" : "xx" 86 }, 87 { 88 "url" : "http://localhost:8087/", 89 "restricted" : "xx" 90 }, 91 { 92 "url" : "http://localhost:8088/", 93 "restricted" : "xx" 94 }, 95 { 96 "url" : "http://localhost:8089/", 97 "restricted" : "xx" 98 } 99 100 to contrib/provider-list.json. Then the reducer will use these 101 providers on loopback for the "testland" country. 102 103 104 Experimental providers 105 ====================== 106 107 We hope to have another provider running soon. Once it is operational, 108 we should add 109 110 { 111 "url" : "https://v1.anastasis.openw3b.org/", 112 "name" : "Openw3b Foundation, India" 113 }, 114 115 to the contrib/provider-list.json.