HA LDAP based key/value solution for projects configuration storing with multi master replication support

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 '<<
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! 🎉 🎉 🎉 🎉

Owner
Mikhail Panfilov
Backend developer
Mikhail Panfilov
Similar Resources

LevelDB key/value database in Go.

This is an implementation of the LevelDB key/value database in the Go programming language. Installation go get github.com/syndtr/goleveldb/leveldb R

Jan 9, 2023

Distributed, fault-tolerant key-value storage written in go.

Distributed, fault-tolerant key-value storage written in go.

A simple, distributed, fault-tolerant key-value storage inspired by Redis. It uses Raft protocotol as consensus algorithm. It supports the following data structures: String, Bitmap, Map, List.

Jan 3, 2023

a persistent real-time key-value store, with the same redis protocol with powerful features

a persistent real-time key-value store, with the same redis protocol with powerful features

a fast NoSQL DB, that uses the same RESP protocol and capable to store terabytes of data, also it integrates with your mobile/web apps to add real-time features, soon you can use it as a document store cause it should become a multi-model db. Redix is used in production, you can use it in your apps with no worries.

Dec 25, 2022

GhostDB is a distributed, in-memory, general purpose key-value data store that delivers microsecond performance at any scale.

GhostDB is a distributed, in-memory, general purpose key-value data store that delivers microsecond performance at any scale.

GhostDB is designed to speed up dynamic database or API driven websites by storing data in RAM in order to reduce the number of times an external data source such as a database or API must be read. GhostDB provides a very large hash table that is distributed across multiple machines and stores large numbers of key-value pairs within the hash table.

Jan 6, 2023

Pogreb is an embedded key-value store for read-heavy workloads written in Go.

Pogreb is an embedded key-value store for read-heavy workloads written in Go.

Embedded key-value store for read-heavy workloads written in Go

Dec 29, 2022

RocksDB/LevelDB inspired key-value database in Go

Pebble Nightly benchmarks Pebble is a LevelDB/RocksDB inspired key-value store focused on performance and internal usage by CockroachDB. Pebble inheri

Dec 29, 2022

Key-value database stored in memory with option of persistence

Key-value database stored in memory with option of persistence

Easy and intuitive command line tool allows you to spin up a database avaliable from web or locally in a few seconds. Server can be run over a custom TCP protocol or over HTTP.

Aug 1, 2022

Fault tolerant, sharded key value storage written in GoLang

Fault tolerant, sharded key value storage written in GoLang

Ravel is a sharded, fault-tolerant key-value store built using BadgerDB and hashicorp/raft. You can shard your data across multiple clusters with mult

Nov 1, 2022

Turn any key/value index into a high-performance two-dimensional spatial index

Turn any key/value index into a high-performance two-dimensional spatial index

modular-spatial-index For the demo that this animated gif was generated from

Mar 6, 2022
Biscuit is a multi-region HA key-value store for your AWS infrastructure secrets.

Biscuit Biscuit is a simple key-value store for your infrastructure secrets. Is Biscuit right for me? Biscuit is most useful to teams already using AW

Nov 10, 2022
A key-value db api with multiple storage engines and key generation
A key-value db api with multiple storage engines and key generation

Jet is a deadly-simple key-value api. The main goals of this project are : Making a simple KV tool for our other projects. Learn tests writing and git

Apr 5, 2022
CrankDB is an ultra fast and very lightweight Key Value based Document Store.

CrankDB is a ultra fast, extreme lightweight Key Value based Document Store.

Apr 12, 2022
rosedb is a fast, stable and embedded key-value (k-v) storage engine based on bitcask.
rosedb is a fast, stable and embedded key-value (k-v) storage engine based on bitcask.

rosedb is a fast, stable and embedded key-value (k-v) storage engine based on bitcask. Its on-disk files are organized as WAL(Write Ahead Log) in LSM trees, optimizing for write throughput.

Dec 28, 2022
Implementation of distributed key-value system based on TiKV

Distributed_key-value_system A naive implementation of distributed key-value system based on TiKV Features Features of this work are listed below: Dis

Mar 7, 2022
An embedded key/value database for Go.

Bolt Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project. The goal of the project is to provide a simple, fast, and reliable datab

Dec 30, 2022
A disk-backed key-value store.

What is diskv? Diskv (disk-vee) is a simple, persistent key-value store written in the Go language. It starts with an incredibly simple API for storin

Jan 1, 2023
Distributed reliable key-value store for the most critical data of a distributed system

etcd Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order

Dec 28, 2022
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.

Olric Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service. With

Jan 4, 2023
Simple, ordered, key-value persistence library for the Go Language

gkvlite gkvlite is a simple, ordered, ACID, key-value persistence library for Go. Overview gkvlite is a library that provides a simple key-value persi

Dec 21, 2022