https://github.com/progrium/configurator
https://github.com/progrium/configurator
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/progrium/configurator
- Owner: progrium
- License: mit
- Created: 2014-06-06T03:06:55.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-09-21T15:23:47.000Z (almost 12 years ago)
- Last Synced: 2024-06-20T05:10:52.875Z (about 2 years ago)
- Language: Go
- Size: 300 KB
- Stars: 89
- Watchers: 12
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
{
"$for": "@service",
"in": {"$services": "*"},
"loop": ["upstream", {"@service": null}],
"else": ["noupstream"]
}
{
"$if": {
"$eq": [
{"$environ": "FOOBAR"},
"foobar"
]
},
"then": "Blah",
"else": "Other"
}
{"$environ": "FOOBAR"}
{"$service": "myapp", ".": "Port"}
{"$ref": "#foo/bar"}
{"$set": ["@foo", "value"]}
remote: config store change notification (config or reference value)
local: http mutation, config store pull
any change should be validated before commit (going out) or apply (coming in)
incoming(remote mutation): copy, validate(change, render), replace, apply
outgoing(local mutation): copy, pull(copy, change, render), validate, commit(write, [pull, validate, write, ...])
any change should go through render before apply
keep around last rendered
TODO
* full macro list
* macro http interface
* status of last validate for each watched key
* use tigertonic?
* encryption?
* virtual grouping
* layers