yu 0.1.8 → 0.1.9

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.
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: []