envme 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +57 -2
- data/lib/envme/vars.rb +3 -4
- data/lib/envme/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3605caf67c6c5d98f9e545266961dac5ab544d5c
|
4
|
+
data.tar.gz: 342bfaf9d404df61f4783726241d8e67148343ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4362d77d0db0d311b75c9f242daffe6c3752fdfc4d52b8c9966d00c8a5ed0714629b1aadc713efec07229cac6391d24290d4434065735c0217a0fd71249640b8
|
7
|
+
data.tar.gz: c72570a32ae56d715e1de8777ca583b34f1954e5c1ecb6c22952f52a6f93ee32c4d63e2d612b1bbd47ecd59fcecf2fdaf344aea393a00964a1acb5c05b7fd898
|
data/README.md
CHANGED
@@ -19,8 +19,63 @@ gem 'envme', '>=0.1.2'
|
|
19
19
|
|
20
20
|
```ruby
|
21
21
|
Envme.configure do |config|
|
22
|
-
config.url = "
|
23
|
-
config.acl_token =
|
22
|
+
config.url = "localhost:8500"
|
23
|
+
config.acl_token = "xxxxxxxx-yyyy-zzzz-1111-222222222222"
|
24
24
|
end
|
25
25
|
```
|
26
|
+
|
27
|
+
### Get all at specified prefix
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
Envme::Vars.get_all('test/prefix')
|
31
|
+
=> ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com"]
|
32
|
+
```
|
33
|
+
|
34
|
+
### Get limited by using a search string
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
Envme::Vars.get_limited('test/prefix', 'rest')
|
38
|
+
=> ["REST_ENDPOINT=rest.endpoint.com"]
|
39
|
+
|
40
|
+
Envme::Vars.get_limited('test/prefix', 'db')
|
41
|
+
=> ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
|
42
|
+
|
43
|
+
# Using multiple search strings
|
44
|
+
|
45
|
+
Envme::Vars.get_limited('test/prefix', 'db', 'rest')
|
46
|
+
=> ["DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com", "DB_ENDPOINT=db.endpoint.com"]
|
47
|
+
```
|
48
|
+
|
49
|
+
### Sanitizing return values
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
vars = Envme::Vars.get_limited('test', 'db')
|
53
|
+
=> ["PREFIX_DB_ENDPOINT=db.endpoint.com", "PREFIX_DB_PASSWD=p@s$W0rd", "PREFIX_DB_USERNAME=dbuser"]
|
54
|
+
|
55
|
+
Envme::Vars.sanitize(vars, 'prefix')
|
56
|
+
=> ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
|
57
|
+
```
|
58
|
+
|
59
|
+
### Building exports and File builder scripts
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
vars = Envme::Vars.get_limited('test/prefix', 'db')
|
63
|
+
=> ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
|
64
|
+
|
65
|
+
puts Envme.build_exports(vars)
|
66
|
+
|
67
|
+
export DB_ENDPOINT=db.endpoint.com
|
68
|
+
export DB_PASSWD=p@s$W0rd
|
69
|
+
export DB_USERNAME=dbuser
|
70
|
+
|
71
|
+
|
72
|
+
# Build a script to populate a systemd EnvironmentFile
|
73
|
+
|
74
|
+
puts Envme.file_builder(vars, '/etc/sysconfig/my_service.service')
|
75
|
+
|
76
|
+
echo DB_ENDPOINT=db.endpoint.com >> /etc/sysconfig/my_service.service
|
77
|
+
echo DB_PASSWD=p@s$W0rd >> /etc/sysconfig/my_service.service
|
78
|
+
echo DB_USERNAME=dbuser >> /etc/sysconfig/my_service.service
|
79
|
+
```
|
80
|
+
|
26
81
|
Inspired by [Diplomat](https://github.com/WeAreFarmGeek/diplomat)
|
data/lib/envme/vars.rb
CHANGED
@@ -3,8 +3,9 @@ module Envme
|
|
3
3
|
|
4
4
|
def self.get_all(prefix)
|
5
5
|
env = `env`.split("\n")
|
6
|
+
env_vars = run(prefix).split("\n") - env
|
6
7
|
|
7
|
-
|
8
|
+
env_vars.select{ |var| !var.split("=")[0].nil? }
|
8
9
|
end
|
9
10
|
|
10
11
|
def self.get_limited(prefix, *search_strings)
|
@@ -29,9 +30,7 @@ module Envme
|
|
29
30
|
def self.limit_to_search(vars, search_strings)
|
30
31
|
vars.select do |var|
|
31
32
|
search_strings.any? do |match|
|
32
|
-
|
33
|
-
var.split("=")[0].include?(match.upcase)
|
34
|
-
end
|
33
|
+
var.split("=")[0].include?(match.upcase)
|
35
34
|
end
|
36
35
|
end
|
37
36
|
end
|
data/lib/envme/version.rb
CHANGED