Skip to content
HA LDAP based key/value solution for projects configuration storing with multi master replication support
Go Dockerfile
Branch: master
Clone or download
Mnwa
Latest commit aa1eaa2 Dec 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Apr 10, 2019
adapters Update adapters using Dec 2, 2019
backup Move storage to ReconEngine Nov 12, 2019
controllers
database Update recon engine Dec 2, 2019
docs Update docs Dec 2, 2019
.drone.yml Add gcc requirements Apr 10, 2019
.gitignore Add Docker and readme update Apr 9, 2019
CONTRIBUTING.md Add CONTRIBUTING.md Dec 9, 2019
Dockerfile Add gcc requirements Apr 10, 2019
Gopkg.lock Update recon engine Dec 2, 2019
Gopkg.toml Update recon engine Dec 2, 2019
LICENSE Add licence nickname Dec 2, 2019
README.md Update docs Dec 11, 2019
backup_test.go Refactor test and fix header of gzip backup Apr 14, 2019
default_test.go
env_test.go Fix tests Dec 2, 2019
main.go Refactor names & fix transaction bug Dec 2, 2019

README.md

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

You can’t perform that action at this time.