config_server 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +42 -21
- data/docker/Gemfile.lock +1 -1
- data/lib/config_server/app.rb +1 -1
- data/lib/config_server/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2583c16164af166f046609b2105bc10fd59970ae
|
4
|
+
data.tar.gz: d82db544e9306d3524f9aec546099df1a4c9a2a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b0c0721800b09b6fe0561920c04f028ec9c999c557407430297ed2c155db35eab3ccd99702cb33bbc4b786d8c0f008c00566c2542ecd943e42b68c3f835f303
|
7
|
+
data.tar.gz: 38dcd62497811299e18fdac9de58caf3f0d0eb365ad4d7f0e08025a777414dcc3754ebfe9246e67aeedec877d8db4709c66084b7d75d186258e0a5d8a14572d7
|
data/README.md
CHANGED
@@ -1,25 +1,10 @@
|
|
1
1
|
# ConfigServer
|
2
2
|
|
3
|
-
The simplest way to
|
3
|
+
The simplest way to serve configuration over HTTP.
|
4
|
+
Currently support YAML files as configuration DB.
|
4
5
|
|
5
|
-
##
|
6
|
+
## Example config.yml
|
6
7
|
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
```ruby
|
10
|
-
gem 'config_server'
|
11
|
-
```
|
12
|
-
|
13
|
-
And then execute:
|
14
|
-
|
15
|
-
$ bundle
|
16
|
-
|
17
|
-
Or install it yourself as:
|
18
|
-
|
19
|
-
$ gem install config_server
|
20
|
-
|
21
|
-
## Usage
|
22
|
-
To run the server you must have a configuration file first:
|
23
8
|
```yaml
|
24
9
|
#config.yml
|
25
10
|
|
@@ -37,6 +22,36 @@ staging:
|
|
37
22
|
nginx:
|
38
23
|
server_name: www.me.staging
|
39
24
|
```
|
25
|
+
|
26
|
+
You have two options for running the server:
|
27
|
+
|
28
|
+
## Option 1: Running With Docker
|
29
|
+
|
30
|
+
ConfigServer has a docker image on Docker Hub. To use it create a config.yml
|
31
|
+
file and mount it into the container:
|
32
|
+
|
33
|
+
$ docker run -d -p 8080:8080 -v /path/to/your/config.yml:/usr/src/app/config.yml nanit/config_server
|
34
|
+
|
35
|
+
## Option 2: Running Your Ruby Script
|
36
|
+
|
37
|
+
### 1. Install config_server Gem
|
38
|
+
|
39
|
+
Add this line to your application's Gemfile:
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
gem 'config_server'
|
43
|
+
```
|
44
|
+
|
45
|
+
And then execute:
|
46
|
+
|
47
|
+
$ bundle
|
48
|
+
|
49
|
+
Or install it yourself as:
|
50
|
+
|
51
|
+
$ gem install config_server
|
52
|
+
|
53
|
+
### 2. Run Your Ruby Script
|
54
|
+
|
40
55
|
Then create the following ruby file:
|
41
56
|
```ruby
|
42
57
|
#my_configuration_server.rb
|
@@ -46,12 +61,18 @@ require 'config_server'
|
|
46
61
|
ConfigServer.start("config.yml")
|
47
62
|
```
|
48
63
|
|
49
|
-
|
64
|
+
Then run:
|
65
|
+
|
66
|
+
$ bundle exec ruby my_configuration_server.rb
|
67
|
+
|
68
|
+
## Querying The Server
|
50
69
|
|
51
70
|
To get a value just chain the key path as your HTTP request path:
|
52
|
-
`GET /production/nginx/server_name` to get the corresponding keys.
|
53
71
|
|
54
|
-
|
72
|
+
`GET /production/nginx/server_name` to get the corresponding keys in your
|
73
|
+
config.yml file.
|
74
|
+
|
75
|
+
Some examples:
|
55
76
|
|
56
77
|
1. In the first example we get the production db host for the api service
|
57
78
|
2. In the second example we ask for a non existing key and get a 404 response
|
data/docker/Gemfile.lock
CHANGED
data/lib/config_server/app.rb
CHANGED
@@ -14,7 +14,7 @@ class ConfigServer::App
|
|
14
14
|
def call(env)
|
15
15
|
request_path = env['PATH_INFO']
|
16
16
|
@logger.info "Got request for #{request_path}"
|
17
|
-
value = get_key_from_yaml(request_path)
|
17
|
+
value = (request_path == "/ping" && "PONG") || get_key_from_yaml(request_path)
|
18
18
|
if value
|
19
19
|
['200', {'Content-Type' => 'text/plain'}, [value]]
|
20
20
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: config_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erez Rabih
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|