All Projects → Mnwa → Recon

Mnwa / Recon

Licence: Apache-2.0 license
HA LDAP based key/value solution for projects configuration storing with multi master replication support

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to Recon

pg keeper
Simplified clustering module for PostgreSQL
Stars: ✭ 32 (+166.67%)
Mutual labels:  replication, high-availability
Postgresql cluster
PostgreSQL High-Availability Cluster (based on "Patroni" and "DCS(etcd)"). Automating deployment with Ansible.
Stars: ✭ 294 (+2350%)
Mutual labels:  replication, high-availability
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+2600%)
Mutual labels:  replication, high-availability
gunstore.io
Store your data in Gun DB by sending simple HTTP requests - based on jsonstore.io 💾 🚀
Stars: ✭ 32 (+166.67%)
Mutual labels:  simple, store
Drc
MySQL active-active replication solution.
Stars: ✭ 92 (+666.67%)
Mutual labels:  replication, high-availability
Orchestrator
MySQL replication topology management and HA
Stars: ✭ 4,342 (+36083.33%)
Mutual labels:  replication, high-availability
Glusterfs
Gluster Filesystem : Build your distributed storage in minutes
Stars: ✭ 3,437 (+28541.67%)
Mutual labels:  replication, high-availability
haf
A fully typed 🔒, cross-platform, persistent 💾 config ⚙️ solution for your NodeJS projects with a great developer experience!
Stars: ✭ 186 (+1450%)
Mutual labels:  config, store
Lizardfs
LizardFS is an Open Source Distributed File System licensed under GPLv3.
Stars: ✭ 793 (+6508.33%)
Mutual labels:  replication, high-availability
Freno
freno: cooperative, highly available throttler service
Stars: ✭ 462 (+3750%)
Mutual labels:  replication, high-availability
Reopenldap
Production-ready replacement for OpenLDAP with robust multi-master replication
Stars: ✭ 242 (+1916.67%)
Mutual labels:  ldap, replication
Data Store
Easily get, set and persist config data. Fast. Supports dot-notation in keys. No dependencies.
Stars: ✭ 120 (+900%)
Mutual labels:  config, store
react-native-config-reader
🛠 Easily access any of the build configs defined in build.gradle or info.plist from your JS code.
Stars: ✭ 44 (+266.67%)
Mutual labels:  config
MySQL-InnoDB-Cluster-3VM-Setup
Installing and testing InnoDB cluster on 3 servers
Stars: ✭ 19 (+58.33%)
Mutual labels:  high-availability
crab
Golang API Framework
Stars: ✭ 57 (+375%)
Mutual labels:  config
rust cms
使用Rust编写一个CMS(内容管理系统)可以做为个人博客,公司网站
Stars: ✭ 32 (+166.67%)
Mutual labels:  config
data-transfer-hub
Seamless User Interface for replicating data into AWS.
Stars: ✭ 102 (+750%)
Mutual labels:  replication
stylelint-config
Sharable stylelint config used by GitHub's CSS
Stars: ✭ 194 (+1516.67%)
Mutual labels:  config
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (+1366.67%)
Mutual labels:  simple
E-commerceRetailerFYP
Android E-commerce Platform. Allow retailer to post product, manage order, chat and view report
Stars: ✭ 31 (+158.33%)
Mutual labels:  store

Recon

Github all releases Build Status Go Report Card GitHub license Repository Size

Recon is the simple solution for storing configs of you application. There are no specified instruments, no specified data protocols. For the full power of Recon you only need curl.

Examples

Put the data to project myLittleProduction with default project type

curl -X PUT -d '<<<EOF
TEST_ONE=1
TEST_TWO=2
TEST_THREE=3
' http://localhost:8080/projects/myLittleProduction/default/env

###

TEST_ONE=1
TEST_TWO=2
TEST_THREE=3

Get the data from myLittleProduction with default project type

curl http://localhost:8080/projects/myLittleProduction/default/env

###

TEST_ONE=1
TEST_TWO=2
TEST_THREE=3

Data storing types

Recon DB support two data storing types:

  • default snake case key value store (data_key=data)
  • env environment like data storing (DATA_KEY=data)

Structure of projects

Every project on Recon DB has a default type. Also you can add any types to any projects for differentiation of configs and when you get custom project type, it will be merged with the default project type.

As an example lets imagine a simple application, which is stored on two data centres 1 and 2. This application has a AWS secret key, that is same for all data centres and the application has a Database url, that is different for 1 and 2 data centres. In order not to duplicate configs of AWS secret key we can add it to default project type.

curl -X POST -d 'AWS_KEY=123' http://localhost:8080/projects/myApp/default/env

And after that add DATABASE URL to the different project types

curl -X POST -d 'DATABASE_URL=localhost1' http://localhost:8080/projects/myApp/usa/env
curl -X POST -d 'DATABASE_URL=localhost2' http://localhost:8080/projects/myApp/europe/env

Now you can get a full config for every place

curl http://localhost:8080/projects/myApp/usa/env

###

AWS_KEY=123
DATABASE_URL=localhost1
curl http://localhost:8080/projects/myApp/europe/env

###

AWS_KEY=123
DATABASE_URL=localhost2

Documentation

Recon requirements

Thanks for community! 🎉 🎉 🎉 🎉

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].