dockit 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e774509e3e1c4afab5a44bce1fc3eee91d7d25cf
4
- data.tar.gz: daeda4ab4b09f3f9bc7b706fefb77271930ab4fb
3
+ metadata.gz: 05261f5509995264c5fc34a34ab776c4b70f829f
4
+ data.tar.gz: f91c5dd47b0c05a06d64d53227f41ae5e8e53c0a
5
5
  SHA512:
6
- metadata.gz: 1d80feb61549460b39bdaa99adc5617ba09bbd75aed6e9bbe63cd20b682215d178a792682a2d202638030251595dbaf5152405b11469523b1db6f0ab3df6e7e2
7
- data.tar.gz: 0867cb20ca447aec30f45524d2af9962c8639021a1282e45b7ac94bbc5ed4f1f3fd915aded2498ae38849f96c330e7049fb95066124f98c96c9d3a2503d663cf
6
+ metadata.gz: 45e6efa3a72503f91ceaa35d08121c3ccae584595b716f2e8ef5da833c2d5bef4867183709476ff13bf745909803f9466041bb3d02073ae9c6145f962974ff87
7
+ data.tar.gz: 1635bda5300478f276c069d280b62fd84d167f2b683e79b6b2f2d9e69bc45abcb0933f493b8c0f8ef74d052dea978ddd97d4485951bb836e37cb49aabb393809
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -91,17 +91,19 @@ class Default < Thor
91
91
  desc 'sh [SERVICE] [CMD]', 'run an interactive command (default "bash -l")'
92
92
  def sh(service=nil, *cmd)
93
93
  exec(service) do |s|
94
- cmd = %w[bash -l] if cmd.length < 1
94
+ cmd = %w[bash -l] if cmd.length < 1
95
+ name = "sh-#{s.name}"
95
96
 
96
97
  # in case image has an entrypoint, use the cmd as the entrypoint
97
98
  (entrypoint, *cmd) = cmd
99
+ say "Starting #{name} with #{entrypoint} #{cmd}", :green
98
100
  s.start(
99
101
  transient: true,
100
102
  verbose: options.verbose,
101
103
  create: {
102
104
  Entrypoint: [entrypoint],
103
105
  Cmd: cmd,
104
- name: 'sh',
106
+ name: "sh-#{name}",
105
107
  Tty: true,
106
108
  AttachStdin: true,
107
109
  AttachStdout: true,
@@ -94,7 +94,7 @@ class DO < Thor
94
94
  desc: 'extra environment variables not defined in Dockit.yaml'
95
95
  def start(name)
96
96
  s = service(name)
97
- name = s.config.get(:create, :name) || s.config.get(:build, :t)
97
+ name = s.name
98
98
  links = config(s, :run, :Links, 'l')
99
99
  binds = config(s, :run, :Binds, 'v')
100
100
 
@@ -77,6 +77,10 @@ module Dockit
77
77
  image.id
78
78
  end
79
79
 
80
+ def name
81
+ n = config.get(:create, :name) || config.get(:build, :t).split(':')[0]
82
+ end
83
+
80
84
  private
81
85
  def merge_config(key, opts)
82
86
  (config.get(key) || {}).merge(opts||{})
@@ -0,0 +1,2 @@
1
+ build:
2
+ t: mod:tagged
@@ -1,2 +1,4 @@
1
1
  build:
2
- t: dockit-test
2
+ t: svc-test
3
+ create:
4
+ name: a-test
@@ -42,7 +42,9 @@ describe Dockit::Config do
42
42
  context 'file with locals' do
43
43
  let(:path) {file('locals') }
44
44
  it 'should exit with a message if a local is missing' do
45
- expect { Dockit::Config.new(path) }.to raise_error(SystemExit, /forget/)
45
+ expect {
46
+ expect { Dockit::Config.new(path) }.to raise_error(SystemExit, /forget/)
47
+ }.to output(/^Undefined local/).to_stderr
46
48
  end
47
49
 
48
50
  it 'should expand the locals' do
@@ -1,3 +1,3 @@
1
1
  build:
2
2
  t: <%= name %>
3
- e: <% ENV['TEST']
3
+ e: <%= ENV['TEST'] %>
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+
2
3
  shared_examples 'a dockit config' do |meth, keys, dirs, ext|
3
4
  def dockit_files(names, ext)
4
5
  pwd = File.dirname(__FILE__)
@@ -78,3 +79,26 @@ describe Dockit::Env do
78
79
  it_should_behave_like 'a dockit config', 'services', svcs, svcs, 'yaml'
79
80
  end
80
81
  end
82
+
83
+ describe Dockit::Service do
84
+ before do
85
+ @env = Dockit::Env.new
86
+ end
87
+
88
+ subject do
89
+ Dockit::Service.new(@env.services['mod'])
90
+ end
91
+
92
+ it 'should be created' do
93
+ expect(subject).to be_a Dockit::Service
94
+ end
95
+
96
+ it "should get it's name from the build tag" do
97
+ expect(subject.config.get(:build, :t)).to eq('mod:tagged')
98
+ expect(subject.name).to eq('mod')
99
+ end
100
+
101
+ it "should get it's name from the create name" do
102
+ expect(Dockit::Service.new(@env.services['svc']).name).to eq('a-test')
103
+ end
104
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Frankel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-09 00:00:00.000000000 Z
11
+ date: 2015-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler