percheron 0.3.1 → 0.3.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 +3 -0
- data/assets/percheron.png +0 -0
- data/bin/percheron +1 -0
- data/lib/percheron/container/main.rb +17 -2
- data/lib/percheron/docker_connection.rb +1 -4
- data/lib/percheron/version.rb +1 -1
- data/lib/percheron.rb +1 -0
- data/percheron.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4d585a406d9b1b5a23ef33013450d00755ceaf3
|
4
|
+
data.tar.gz: a63795fa29c8c6fd05de2f6bf9587c57bf0f98bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b8b0e9fc1748c246c710ae0b52bf48f31665e0e9d4ae2445e4f9f5982e2461514dc194079f06c91da36c00671f05f4a02dd751a075b425bc4d4537bccf6f49e
|
7
|
+
data.tar.gz: 0e09f330cd3a70896296e65d9610c3381a82c246a67e0c672187a92f00a8ddda7364abc70b7bc6efbc048fb6e4ab8a6b1f74be93858d48ba11067e3fde7b8b27
|
data/README.md
CHANGED
@@ -3,8 +3,11 @@
|
|
3
3
|
[](http://badge.fury.io/rb/percheron)
|
4
4
|
[](https://travis-ci.org/ashmckenzie/percheron)
|
5
5
|
[](https://codeclimate.com/github/ashmckenzie/percheron)
|
6
|
+
[](https://codeclimate.com/github/ashmckenzie/percheron)
|
6
7
|
[](https://gemnasium.com/ashmckenzie/percheron)
|
7
8
|
|
9
|
+

|
10
|
+
|
8
11
|
Organise your Docker containers with muscle and intelligence.
|
9
12
|
|
10
13
|
## Installation
|
Binary file
|
data/bin/percheron
CHANGED
@@ -5,7 +5,7 @@ module Percheron
|
|
5
5
|
extend Forwardable
|
6
6
|
extend ConfigDelegator
|
7
7
|
|
8
|
-
def_delegators :container_config, :name
|
8
|
+
def_delegators :container_config, :name
|
9
9
|
|
10
10
|
def_config_item_with_default :container_config, false, :auto_recreate
|
11
11
|
def_config_item_with_default :container_config, [], :env, :ports, :volumes, :dependant_container_names
|
@@ -80,6 +80,7 @@ module Percheron
|
|
80
80
|
unless exists?
|
81
81
|
$logger.debug "Container '#{name}' does not exist, creating"
|
82
82
|
Container::Actions::Create.new(self).execute!
|
83
|
+
set_dockerfile_md5!
|
83
84
|
else
|
84
85
|
$logger.debug "Not creating '#{name}' container as it already exists"
|
85
86
|
end
|
@@ -90,6 +91,7 @@ module Percheron
|
|
90
91
|
if recreate?(bypass_auto_recreate: bypass_auto_recreate)
|
91
92
|
$logger.warn "Container '#{name}' exists and will be recreated"
|
92
93
|
Container::Actions::Recreate.new(self).execute!
|
94
|
+
set_dockerfile_md5!
|
93
95
|
else
|
94
96
|
if recreatable?
|
95
97
|
$logger.warn "Container '#{name}' MD5's do not match, consider recreating"
|
@@ -122,7 +124,7 @@ module Percheron
|
|
122
124
|
Validators::Container.new(self).valid?
|
123
125
|
end
|
124
126
|
|
125
|
-
|
127
|
+
private
|
126
128
|
|
127
129
|
attr_reader :config, :stack, :container_name
|
128
130
|
|
@@ -142,6 +144,19 @@ module Percheron
|
|
142
144
|
dockerfile_md5 || current_dockerfile_md5
|
143
145
|
end
|
144
146
|
|
147
|
+
def metastore_key
|
148
|
+
@metastore_key ||= 'stacks.%s.containers.%s' % [ stack.name, name ]
|
149
|
+
end
|
150
|
+
|
151
|
+
def dockerfile_md5
|
152
|
+
$metastore.get("#{metastore_key}.dockerfile_md5")
|
153
|
+
end
|
154
|
+
|
155
|
+
def set_dockerfile_md5!
|
156
|
+
$logger.debug "Setting MD5 for '#{name}' container to #{current_dockerfile_md5}"
|
157
|
+
$metastore.set("#{metastore_key}.dockerfile_md5", current_dockerfile_md5)
|
158
|
+
end
|
159
|
+
|
145
160
|
def current_dockerfile_md5
|
146
161
|
Digest::MD5.file(dockerfile).hexdigest
|
147
162
|
end
|
data/lib/percheron/version.rb
CHANGED
data/lib/percheron.rb
CHANGED
data/percheron.gemspec
CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_runtime_dependency 'terminal-table', '~> 1.4'
|
25
25
|
spec.add_runtime_dependency 'naught', '~> 1.0'
|
26
26
|
spec.add_runtime_dependency 'semantic', '~> 1.4'
|
27
|
+
spec.add_runtime_dependency 'metastore', '~> 0.3'
|
27
28
|
|
28
29
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
29
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: percheron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ash McKenzie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clamp
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '1.4'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: metastore
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.3'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.3'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: bundler
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,6 +194,7 @@ files:
|
|
180
194
|
- LICENSE.txt
|
181
195
|
- README.md
|
182
196
|
- Rakefile
|
197
|
+
- assets/percheron.png
|
183
198
|
- bin/percheron
|
184
199
|
- lib/percheron.rb
|
185
200
|
- lib/percheron/cli.rb
|