comap 1.1.0 → 1.2.0
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/.gitlab-ci.yml +97 -2
- data/CHANGELOG.md +19 -0
- data/Gemfile.lock +45 -45
- data/README.md +6 -5
- data/lib/comap/app.rb +7 -3
- data/lib/comap/version.rb +1 -1
- data/recipes/launch_comap.rb +13 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bf1f10109fdb94f28dbcac76a165fddd04552fc7724b116e394b5214b053135
|
4
|
+
data.tar.gz: 6e210fdc81a6b989b5fc180fad62aba23f02913a3ce7c40d27fc8d38c313af37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 842424574a377413c57a669e636d1d192bd8c88faf388e3873aa9ace4d3c58d62578f30bf7c75ff541fbf56a5f398fb648e23918c744931292fb9152797995ed
|
7
|
+
data.tar.gz: 473a19509462c6e7188f5fce623ba389b5da56061813e417048132473e5d336c963f824b34c63604064e2aa28e0cdb81fe85fa0857c0b9f15f2003860cc8991c
|
data/.gitlab-ci.yml
CHANGED
@@ -1,2 +1,97 @@
|
|
1
|
-
|
2
|
-
-
|
1
|
+
stages:
|
2
|
+
- checks
|
3
|
+
|
4
|
+
image: sbernard/arch-kitchen-docker
|
5
|
+
|
6
|
+
variables:
|
7
|
+
CHECKS_REPO: https://gitlab.com/samuel.bernard/checks/raw/master
|
8
|
+
|
9
|
+
.checks_template:
|
10
|
+
stage: checks
|
11
|
+
except:
|
12
|
+
- tags
|
13
|
+
before_script:
|
14
|
+
- bundle install
|
15
|
+
|
16
|
+
foodcritic:
|
17
|
+
extends: .checks_template
|
18
|
+
script:
|
19
|
+
- bundle exec foodcritic -f any .
|
20
|
+
|
21
|
+
rubocop:
|
22
|
+
extends: .checks_template
|
23
|
+
script:
|
24
|
+
- bundle exec rubocop
|
25
|
+
|
26
|
+
lines_length:
|
27
|
+
extends: .checks_template
|
28
|
+
script:
|
29
|
+
- curl -s $CHECKS_REPO/check_lines_length.sh | bash
|
30
|
+
|
31
|
+
git_history:
|
32
|
+
extends: .checks_template
|
33
|
+
script:
|
34
|
+
- curl -s $CHECKS_REPO/check_git_history.sh | bash
|
35
|
+
|
36
|
+
rspec:
|
37
|
+
extends: .checks_template
|
38
|
+
script:
|
39
|
+
- bundle exec rspec
|
40
|
+
|
41
|
+
kitchen:
|
42
|
+
extends: .checks_template
|
43
|
+
retry: 2
|
44
|
+
tags:
|
45
|
+
- docker
|
46
|
+
- gce
|
47
|
+
before_script:
|
48
|
+
- >
|
49
|
+
curl -s $CHECKS_REPO/Gemfile_patches | while read line; do
|
50
|
+
if ! cat Gemfile | grep "$line"; then
|
51
|
+
echo "$line" >> Gemfile
|
52
|
+
fi
|
53
|
+
done
|
54
|
+
- bundle install
|
55
|
+
# Mount host kernel modules which may be needed by docker
|
56
|
+
- mkdir -p /mnt/host
|
57
|
+
- mount /dev/dm-0 /mnt/host
|
58
|
+
- ln -s /mnt/host/lib/modules /lib/modules
|
59
|
+
# Get some info on the system
|
60
|
+
- free -h
|
61
|
+
- df -h
|
62
|
+
# Put docker on tmpfs with overlay2
|
63
|
+
- >
|
64
|
+
if [ ! -e /var/run/docker.sock ]; then
|
65
|
+
if [ ! -d /var/lib/docker ]; then
|
66
|
+
mkdir -p $(dirname $CI_PROJECT_DIR)/varlibdocker;
|
67
|
+
ln -s $(dirname $CI_PROJECT_DIR)/varlibdocker /var/lib/docker
|
68
|
+
fi;
|
69
|
+
DOCKER_DRIVER=overlay2 dockerd &
|
70
|
+
fi
|
71
|
+
# Needed to solve some network problems in docker-in-docker mode
|
72
|
+
- if ! docker network ls | grep -q "kitchen"; then
|
73
|
+
docker network create
|
74
|
+
--driver bridge -o "com.docker.network.driver.mtu=1400" kitchen;
|
75
|
+
fi
|
76
|
+
- df -h /var/lib/docker
|
77
|
+
# On shared runner running coreos, we need to add privileged in driver
|
78
|
+
# for centos and debian images. This may change in the future
|
79
|
+
- 'if uname -r | grep "coreos" > /dev/null; then
|
80
|
+
sed -i "/^driver:/a\\ \\ privileged: true" .kitchen.yml; fi'
|
81
|
+
script:
|
82
|
+
- >
|
83
|
+
set +e;
|
84
|
+
imgs="$(bundle exec kitchen diagnose | grep '^ image:' | \
|
85
|
+
cut -d':' -f2 | uniq)";
|
86
|
+
for image in $imgs; do docker pull $image; done;
|
87
|
+
set -e
|
88
|
+
- free -h
|
89
|
+
- >
|
90
|
+
set +e;
|
91
|
+
if bundle exec kitchen diagnose | grep 'vagrant' > /dev/null; then
|
92
|
+
echo 'Vagrant driver, nothing to do'; exit 0
|
93
|
+
else set -e; bundle exec kitchen test $FLAG -c $CONC -d always;
|
94
|
+
fi;
|
95
|
+
# Some system info after the run
|
96
|
+
- free -h
|
97
|
+
- df -h
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
+
1.2.0
|
5
|
+
-----
|
6
|
+
|
7
|
+
Main:
|
8
|
+
|
9
|
+
- feat: add service label to metrics
|
10
|
+
|
11
|
+
Tests:
|
12
|
+
|
13
|
+
- test: do not get ci conf from test cookbook
|
14
|
+
- test: use an extra dns resolver for swarm insiders
|
15
|
+
- test: add ssl script helper to gen docker pki
|
16
|
+
- test: update ssl cert with kitchen tld
|
17
|
+
|
18
|
+
Misc:
|
19
|
+
|
20
|
+
- style: fix rubocop offenses (add line after guard)
|
21
|
+
- chore: use latest dependencies (mostly for test)
|
22
|
+
|
4
23
|
1.1.0
|
5
24
|
-----
|
6
25
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
comap (1.
|
4
|
+
comap (1.2.0.pre.a)
|
5
5
|
faraday (~> 0.13)
|
6
6
|
json (~> 2.0)
|
7
7
|
thin (~> 1.7)
|
@@ -12,8 +12,8 @@ GEM
|
|
12
12
|
addressable (2.5.2)
|
13
13
|
public_suffix (>= 2.0.2, < 4.0)
|
14
14
|
ast (2.4.0)
|
15
|
-
backports (3.11.
|
16
|
-
berkshelf (7.0.
|
15
|
+
backports (3.11.4)
|
16
|
+
berkshelf (7.0.6)
|
17
17
|
chef (>= 13.6.52)
|
18
18
|
chef-config
|
19
19
|
cleanroom (~> 1.0)
|
@@ -27,10 +27,10 @@ GEM
|
|
27
27
|
solve (~> 4.0)
|
28
28
|
thor (>= 0.20)
|
29
29
|
builder (3.2.3)
|
30
|
-
chef (14.
|
30
|
+
chef (14.3.37)
|
31
31
|
addressable
|
32
32
|
bundler (>= 1.10)
|
33
|
-
chef-config (= 14.
|
33
|
+
chef-config (= 14.3.37)
|
34
34
|
chef-zero (>= 13.0)
|
35
35
|
diff-lcs (~> 1.2, >= 1.2.4)
|
36
36
|
erubis (~> 2.7)
|
@@ -58,10 +58,10 @@ GEM
|
|
58
58
|
specinfra (~> 2.10)
|
59
59
|
syslog-logger (~> 1.6)
|
60
60
|
uuidtools (~> 2.1.5)
|
61
|
-
chef-config (14.
|
61
|
+
chef-config (14.3.37)
|
62
62
|
addressable
|
63
63
|
fuzzyurl
|
64
|
-
mixlib-config (
|
64
|
+
mixlib-config (>= 2.2.12, < 3.0)
|
65
65
|
mixlib-shellout (~> 2.0)
|
66
66
|
tomlrb (~> 1.2)
|
67
67
|
chef-zero (14.0.6)
|
@@ -74,22 +74,22 @@ GEM
|
|
74
74
|
concurrent-ruby (1.0.5)
|
75
75
|
crack (0.4.3)
|
76
76
|
safe_yaml (~> 1.0.0)
|
77
|
-
cucumber-core (3.1
|
77
|
+
cucumber-core (3.2.1)
|
78
78
|
backports (>= 3.8.0)
|
79
79
|
cucumber-tag_expressions (~> 1.1.0)
|
80
|
-
gherkin (
|
80
|
+
gherkin (~> 5.0)
|
81
81
|
cucumber-tag_expressions (1.1.1)
|
82
82
|
daemons (1.2.6)
|
83
83
|
diff-lcs (1.3)
|
84
84
|
erubis (2.7.0)
|
85
85
|
eventmachine (1.2.7)
|
86
|
-
faraday (0.15.
|
86
|
+
faraday (0.15.3)
|
87
87
|
multipart-post (>= 1.2, < 3)
|
88
88
|
ffi (1.9.25)
|
89
89
|
ffi-yajl (2.3.1)
|
90
90
|
libyajl2 (~> 1.2)
|
91
|
-
foodcritic (14.
|
92
|
-
cucumber-core (>= 1.3)
|
91
|
+
foodcritic (14.2.0)
|
92
|
+
cucumber-core (>= 1.3, < 4.0)
|
93
93
|
erubis
|
94
94
|
ffi-yajl (~> 2.0)
|
95
95
|
nokogiri (>= 1.5, < 2.0)
|
@@ -103,7 +103,7 @@ GEM
|
|
103
103
|
gyoku (1.3.1)
|
104
104
|
builder (>= 2.1.2)
|
105
105
|
hashdiff (0.3.7)
|
106
|
-
hashie (3.
|
106
|
+
hashie (3.6.0)
|
107
107
|
highline (1.7.10)
|
108
108
|
httpclient (2.8.3)
|
109
109
|
iniparse (1.4.4)
|
@@ -120,20 +120,20 @@ GEM
|
|
120
120
|
multi_json (~> 1.10)
|
121
121
|
mini_portile2 (2.3.0)
|
122
122
|
minitar (0.6.1)
|
123
|
-
mixlib-archive (0.4.
|
123
|
+
mixlib-archive (0.4.18)
|
124
124
|
mixlib-log
|
125
125
|
mixlib-authentication (2.1.1)
|
126
126
|
mixlib-cli (1.7.0)
|
127
|
-
mixlib-config (2.2.
|
127
|
+
mixlib-config (2.2.13)
|
128
128
|
tomlrb
|
129
|
-
mixlib-install (3.
|
129
|
+
mixlib-install (3.11.5)
|
130
130
|
mixlib-shellout
|
131
131
|
mixlib-versioning
|
132
132
|
thor
|
133
133
|
mixlib-log (2.0.4)
|
134
|
-
mixlib-shellout (2.
|
134
|
+
mixlib-shellout (2.4.0)
|
135
135
|
mixlib-versioning (1.2.2)
|
136
|
-
molinillo (0.6.
|
136
|
+
molinillo (0.6.6)
|
137
137
|
multi_json (1.13.1)
|
138
138
|
multipart-post (2.0.0)
|
139
139
|
net-scp (1.2.1)
|
@@ -147,17 +147,17 @@ GEM
|
|
147
147
|
net-ssh (>= 2.6.5)
|
148
148
|
net-ssh-gateway (>= 1.2.0)
|
149
149
|
net-telnet (0.1.1)
|
150
|
-
nokogiri (1.8.
|
150
|
+
nokogiri (1.8.5)
|
151
151
|
mini_portile2 (~> 2.3.0)
|
152
152
|
nori (2.6.0)
|
153
|
-
octokit (4.
|
153
|
+
octokit (4.13.0)
|
154
154
|
sawyer (~> 0.8.0, >= 0.5.3)
|
155
|
-
ohai (14.2
|
155
|
+
ohai (14.6.2)
|
156
156
|
chef-config (>= 12.8, < 15)
|
157
157
|
ffi (~> 1.9)
|
158
158
|
ffi-yajl (~> 2.2)
|
159
159
|
ipaddress
|
160
|
-
mixlib-cli
|
160
|
+
mixlib-cli (>= 1.7.0)
|
161
161
|
mixlib-config (~> 2.0)
|
162
162
|
mixlib-log (~> 2.0, >= 2.0.1)
|
163
163
|
mixlib-shellout (~> 2.0)
|
@@ -165,47 +165,47 @@ GEM
|
|
165
165
|
systemu (~> 2.6.4)
|
166
166
|
wmi-lite (~> 1.0)
|
167
167
|
parallel (1.12.1)
|
168
|
-
parser (2.5.1.
|
168
|
+
parser (2.5.1.2)
|
169
169
|
ast (~> 2.4.0)
|
170
170
|
plist (3.4.0)
|
171
171
|
polyglot (0.3.5)
|
172
172
|
powerpack (0.1.2)
|
173
173
|
proxifier (1.0.3)
|
174
|
-
public_suffix (3.0.
|
174
|
+
public_suffix (3.0.3)
|
175
175
|
rack (2.0.5)
|
176
176
|
rainbow (3.0.0)
|
177
177
|
rake (12.3.1)
|
178
178
|
retryable (2.0.4)
|
179
|
-
rspec (3.
|
180
|
-
rspec-core (~> 3.
|
181
|
-
rspec-expectations (~> 3.
|
182
|
-
rspec-mocks (~> 3.
|
183
|
-
rspec-core (3.
|
184
|
-
rspec-support (~> 3.
|
185
|
-
rspec-expectations (3.
|
179
|
+
rspec (3.8.0)
|
180
|
+
rspec-core (~> 3.8.0)
|
181
|
+
rspec-expectations (~> 3.8.0)
|
182
|
+
rspec-mocks (~> 3.8.0)
|
183
|
+
rspec-core (3.8.0)
|
184
|
+
rspec-support (~> 3.8.0)
|
185
|
+
rspec-expectations (3.8.2)
|
186
186
|
diff-lcs (>= 1.2.0, < 2.0)
|
187
|
-
rspec-support (~> 3.
|
187
|
+
rspec-support (~> 3.8.0)
|
188
188
|
rspec-its (1.2.0)
|
189
189
|
rspec-core (>= 3.0.0)
|
190
190
|
rspec-expectations (>= 3.0.0)
|
191
|
-
rspec-mocks (3.
|
191
|
+
rspec-mocks (3.8.0)
|
192
192
|
diff-lcs (>= 1.2.0, < 2.0)
|
193
|
-
rspec-support (~> 3.
|
194
|
-
rspec-support (3.
|
193
|
+
rspec-support (~> 3.8.0)
|
194
|
+
rspec-support (3.8.0)
|
195
195
|
rspec_junit_formatter (0.2.3)
|
196
196
|
builder (< 4)
|
197
197
|
rspec-core (>= 2, < 4, != 2.12.0)
|
198
|
-
rubocop (0.
|
198
|
+
rubocop (0.59.2)
|
199
199
|
jaro_winkler (~> 1.5.1)
|
200
200
|
parallel (~> 1.10)
|
201
|
-
parser (>= 2.5)
|
201
|
+
parser (>= 2.5, != 2.5.1.1)
|
202
202
|
powerpack (~> 0.1)
|
203
203
|
rainbow (>= 2.2.2, < 4.0)
|
204
204
|
ruby-progressbar (~> 1.7)
|
205
205
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
206
|
-
ruby-progressbar (1.
|
206
|
+
ruby-progressbar (1.10.0)
|
207
207
|
rubyntlm (0.6.2)
|
208
|
-
rubyzip (1.2.
|
208
|
+
rubyzip (1.2.2)
|
209
209
|
rufus-lru (1.1.0)
|
210
210
|
safe_yaml (1.0.4)
|
211
211
|
sawyer (0.8.1)
|
@@ -221,14 +221,14 @@ GEM
|
|
221
221
|
solve (4.0.0)
|
222
222
|
molinillo (~> 0.6)
|
223
223
|
semverse (>= 1.1, < 3.0)
|
224
|
-
specinfra (2.
|
224
|
+
specinfra (2.76.2)
|
225
225
|
net-scp
|
226
|
-
net-ssh (>= 2.7
|
227
|
-
net-telnet
|
226
|
+
net-ssh (>= 2.7)
|
227
|
+
net-telnet (= 0.1.1)
|
228
228
|
sfl
|
229
229
|
syslog-logger (1.6.8)
|
230
230
|
systemu (2.6.5)
|
231
|
-
test-kitchen (1.
|
231
|
+
test-kitchen (1.23.2)
|
232
232
|
mixlib-install (~> 3.6)
|
233
233
|
mixlib-shellout (>= 1.2, < 3.0)
|
234
234
|
net-scp (~> 1.1)
|
@@ -264,7 +264,7 @@ GEM
|
|
264
264
|
winrm-elevated (1.1.0)
|
265
265
|
winrm (~> 2.0)
|
266
266
|
winrm-fs (~> 1.0)
|
267
|
-
winrm-fs (1.
|
267
|
+
winrm-fs (1.3.0)
|
268
268
|
erubis (~> 2.7)
|
269
269
|
logging (>= 1.6.1, < 3.0)
|
270
270
|
rubyzip (~> 1.1)
|
@@ -287,4 +287,4 @@ DEPENDENCIES
|
|
287
287
|
webmock (~> 2.0)
|
288
288
|
|
289
289
|
BUNDLED WITH
|
290
|
-
1.16.
|
290
|
+
1.16.6
|
data/README.md
CHANGED
@@ -12,7 +12,8 @@ By design, a single COMAP instance should monitor a single service.
|
|
12
12
|
It is best used within a container belonging to the same network as the
|
13
13
|
services it follows.
|
14
14
|
|
15
|
-
A *container*
|
15
|
+
A *service* and *container* labels is added to each metric with respectively
|
16
|
+
service name and original container name.
|
16
17
|
|
17
18
|
Aggregated metrics intended to be fetched as a target by Prometheus are exposed
|
18
19
|
on port 9397.
|
@@ -101,11 +102,11 @@ on 9397 port
|
|
101
102
|
|
102
103
|
[root@comap-swarm-manager-centos-7 /]# curl localhost:9397
|
103
104
|
# TYPE metrics_sample_seconds gauge
|
104
|
-
metrics_sample_seconds{container="metrics.1"} 42
|
105
|
-
metrics_sample_seconds{container="metrics.2"} 42
|
105
|
+
metrics_sample_seconds{service="metrics",container="metrics.1"} 42
|
106
|
+
metrics_sample_seconds{service="metrics",container="metrics.2"} 42
|
106
107
|
# TYPE metrics_sample_2_seconds gauge
|
107
|
-
metrics_sample_2_seconds{container="metrics.1"} 24
|
108
|
-
metrics_sample_2_seconds{container="metrics.2"} 24
|
108
|
+
metrics_sample_2_seconds{service="metrics",container="metrics.1"} 24
|
109
|
+
metrics_sample_2_seconds{service="metrics",container="metrics.2"} 24
|
109
110
|
|
110
111
|
Development
|
111
112
|
-----------
|
data/lib/comap/app.rb
CHANGED
@@ -33,6 +33,7 @@ module COMAP
|
|
33
33
|
)
|
34
34
|
raise ArgumentError, 'No services given' if services.empty?
|
35
35
|
raise ArgumentError, 'No network given' if network.nil?
|
36
|
+
|
36
37
|
ssl_hash = parse_ssl(docker_ssl)
|
37
38
|
@client = DockerClient.new(docker_host, docker_port, ssl_hash)
|
38
39
|
@network = network
|
@@ -60,6 +61,7 @@ module COMAP
|
|
60
61
|
def service_metrics(service, port)
|
61
62
|
containers(service).sort_by { |c| c['slot'] }.map do |container|
|
62
63
|
next puts "#{service} service not found" if container.empty?
|
64
|
+
|
63
65
|
url = "http://#{container['ip']}:#{port}/#{@metrics_path}"
|
64
66
|
container_metrics(url, service, container['slot'])
|
65
67
|
end.reduce(&merge_proc)
|
@@ -68,9 +70,11 @@ module COMAP
|
|
68
70
|
def container_metrics(url, service, slot)
|
69
71
|
data = scrape_metrics(url, service)
|
70
72
|
return {} if data.nil?
|
73
|
+
|
71
74
|
data.lines.each_with_object({}) do |value, hash|
|
72
75
|
next hash[value] = nil if value.start_with?('#')
|
73
|
-
|
76
|
+
|
77
|
+
(hash[hash.keys.last] ||= []) << add_label(value, service, slot)
|
74
78
|
end.compact
|
75
79
|
end
|
76
80
|
|
@@ -83,8 +87,8 @@ module COMAP
|
|
83
87
|
puts "Could not connect to #{service} endpoint #{url}"
|
84
88
|
end
|
85
89
|
|
86
|
-
def add_label(line,
|
87
|
-
replace = %(container="#{
|
90
|
+
def add_label(line, service, slot)
|
91
|
+
replace = %(service="#{service}",container="#{service}.#{slot}")
|
88
92
|
if line[/{.*?\}/].nil?
|
89
93
|
line.sub(/ /, "{#{replace}} ")
|
90
94
|
else
|
data/lib/comap/version.rb
CHANGED
data/recipes/launch_comap.rb
CHANGED
@@ -15,6 +15,17 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
+
# Launch dns service
|
19
|
+
docker_image 'andyshinn/dnsmasq'
|
20
|
+
|
21
|
+
docker_container 'dnsmasq' do
|
22
|
+
repo 'andyshinn/dnsmasq'
|
23
|
+
network_mode 'host'
|
24
|
+
cap_add ['NET_ADMIN']
|
25
|
+
restart_policy 'unless-stopped'
|
26
|
+
subscribes :redeploy, 'docker_image[andyshinn/dnsmasq]', :immediately
|
27
|
+
end
|
28
|
+
|
18
29
|
# Create secrets
|
19
30
|
dir = '/root/.docker'
|
20
31
|
%w[ca.pem cert.pem key.pem].each do |secret|
|
@@ -53,7 +64,7 @@ docker_platform_service 'metrics-global' do
|
|
53
64
|
action :create
|
54
65
|
end
|
55
66
|
|
56
|
-
server = 'https://comap-swarm-manager-centos-7'
|
67
|
+
server = 'https://comap-swarm-manager-centos-7.kitchen'
|
57
68
|
ssl = {
|
58
69
|
'client_cert' => '/run/secrets/cert.pem',
|
59
70
|
'client_key' => '/run/secrets/key.pem',
|
@@ -68,6 +79,7 @@ ssl_opt = ssl.map { |k, v| "#{k}=#{v}" }.join(',')
|
|
68
79
|
options(
|
69
80
|
mode: 'replicated',
|
70
81
|
network: 'kitchen',
|
82
|
+
dns: node['ipaddress'],
|
71
83
|
publish: "#{port}:9397",
|
72
84
|
secret: %w[cert.pem key.pem ca.pem]
|
73
85
|
)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: comap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Arrambourg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-10-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|