yu 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/yu/version.rb +1 -1
  4. data/lib/yu.rb +27 -6
  5. data/yu.gemspec +2 -2
  6. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9355701afbfb468acec97ef5958ffe8ebd1e9ecf
4
- data.tar.gz: 6e9443a4e6544fb9f7f4728829b3700d70996327
3
+ metadata.gz: dd3824a53191a99f7c6da12dda59c1ff08080709
4
+ data.tar.gz: a891208973e0ae7ed12784ce34b62eeb40a8b3fe
5
5
  SHA512:
6
- metadata.gz: 3008cab8f65ed78ffc494ab8bf69d864254990e38f8719a4eb72fd828ec2972945f1d33631dfeb4d06df26b5b137915b1997420e94eb851791812ef9e9eef52d
7
- data.tar.gz: b0efdcb38a7aca375e5a0dfb3694c711f971733bed8369e3886d6903672d1ad8511f78326b443d27f88d3009862d20392371d89366f7aa709eed44e86a511a35
6
+ metadata.gz: 095bd25242b2735fe190e580dbd6c79365954804af2283edb994d34cd3ec6d1fd798918f56c80a4764d5e84c3cfbc042ccb3e2d9ef817f9339fdd3f4691dd522
7
+ data.tar.gz: 3f6213b30b94f5a24779db181c770a542d816f1a8c544782dd535349826c1ed5deeb6898fb1cfd6b707f053a668db6bdab5a4c6bff9e5683f8662671c59f110f
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Yu
2
2
 
3
- A microservice framework based on docker-compose
3
+ A container framework based on docker-compose
4
4
 
5
5
  ## Installation
6
6
 
data/lib/yu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yu
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
data/lib/yu.rb CHANGED
@@ -16,7 +16,7 @@ module Yu
16
16
  def call
17
17
  program :name, 'yu'
18
18
  program :version, VERSION
19
- program :description, 'Helps you manage your microservices'
19
+ program :description, 'A container framework based on docker-compose'
20
20
 
21
21
  command :test do |c|
22
22
  c.syntax = 'yu test'
@@ -59,7 +59,7 @@ module Yu
59
59
  command :start do |c|
60
60
  c.syntax = 'yu start'
61
61
  c.description = 'Start containers containers for service(s)'
62
- c.action(method(:restart))
62
+ c.action(method(:start))
63
63
  end
64
64
 
65
65
  command :recreate do |c|
@@ -74,6 +74,12 @@ module Yu
74
74
  c.action(method(:service))
75
75
  end
76
76
 
77
+ command :run do |c|
78
+ c.syntax = 'yu run'
79
+ c.description = 'Create a temp container to run a command'
80
+ c.action(method(:run))
81
+ end
82
+
77
83
  global_option('-V', '--verbose', 'Verbose output') { $verbose_mode = true }
78
84
 
79
85
  run!
@@ -137,10 +143,7 @@ module Yu
137
143
  run_command "docker-compose rm --force"
138
144
  info "Building fresh images"
139
145
  run_command "docker-compose build #{'--no-cache' if options.without_cache}"
140
- if File.exists? 'seed'
141
- info "Seeding system state"
142
- run_command "./seed"
143
- end
146
+ run_seed
144
147
  info "Bringing containers up for all services"
145
148
  run_command "docker-compose up -d --no-recreate"
146
149
  end
@@ -161,6 +164,11 @@ module Yu
161
164
  info "Everything looks good."
162
165
  end
163
166
 
167
+ def start(args, options)
168
+ service_list = args.map(&method(:normalise_service_name_from_dir)).join(" ")
169
+ run_command "docker-compose up -d --no-recreate #{service_list}"
170
+ end
171
+
164
172
  def restart(args, options)
165
173
  service_list = args.map(&method(:normalise_service_name_from_dir)).join(" ")
166
174
  run_command "docker-compose kill #{service_list}"
@@ -173,6 +181,12 @@ module Yu
173
181
  run_command "docker-compose kill #{service_list}"
174
182
  run_command "docker-compose rm --force #{service_list}"
175
183
  run_command "docker-compose up -d #{service_list}"
184
+ run_seed
185
+ end
186
+
187
+ def run(args, options)
188
+ command = args.join(" ")
189
+ execute_command "docker-compose run --rm #{command}"
176
190
  end
177
191
 
178
192
  def service(args, options)
@@ -190,6 +204,13 @@ module Yu
190
204
  end
191
205
  end
192
206
 
207
+ def run_seed
208
+ if File.exists? 'seed'
209
+ info "Seeding system state"
210
+ run_command "./seed"
211
+ end
212
+ end
213
+
193
214
  def get_existing_services(service_names)
194
215
  service_names.select { |service_name| Pathname(service_name).exist? }
195
216
  end
data/yu.gemspec CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Mike Kelly"]
10
10
  spec.email = ["mikekelly321@gmail.com"]
11
11
 
12
- spec.summary = %q{a short summary, because Rubygems requires one.}
13
- spec.description = %q{a longer description or delete this line.}
12
+ spec.summary = %q{A simple docker container framework}
13
+ spec.description = %q{Framework for managing docker containers based on docker-compose}
14
14
  spec.homepage = "https://github.com/mikekellly/yu"
15
15
  spec.license = "MIT"
16
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Kelly
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
- description: a longer description or delete this line.
69
+ description: Framework for managing docker containers based on docker-compose
70
70
  email:
71
71
  - mikekelly321@gmail.com
72
72
  executables:
@@ -119,5 +119,5 @@ rubyforge_project:
119
119
  rubygems_version: 2.4.5
120
120
  signing_key:
121
121
  specification_version: 4
122
- summary: a short summary, because Rubygems requires one.
122
+ summary: A simple docker container framework
123
123
  test_files: []