kitchen-docker 0.1.1.dev → 0.1.1

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.
data/README.md CHANGED
@@ -4,9 +4,7 @@ A Test Kitchen Driver for Docker.
4
4
 
5
5
  ## <a name="requirements"></a> Requirements
6
6
 
7
- **TODO:** document any software or library prerequisites that are required to
8
- use this driver. Implement the `#verify_dependencies` method in your Driver
9
- class to enforce these requirements in code, if possible.
7
+ * [Docker][docker_getting_started]
10
8
 
11
9
  ## <a name="installation"></a> Installation and Setup
12
10
 
@@ -14,7 +12,22 @@ Please read the [Driver usage][driver_usage] page for more details.
14
12
 
15
13
  ## <a name="config"></a> Configuration
16
14
 
17
- **TODO:** Write descriptions of all configuration options
15
+ ### <a name="config-image"></a> image
16
+
17
+ The Docker image to use as the base for the suite containers. You can find
18
+ images using the [Docker Index][docker_index].
19
+
20
+ The default value is `ubuntu` ([image][docker_default_image]).
21
+
22
+ ### <a name="config-platform"></a> platform
23
+
24
+ The platform of the chosen image. This is used to properly bootstrap the
25
+ suite container for Test Kitchen. Kitchen Docker currently supports:
26
+
27
+ * `debian` or `ubuntu`
28
+ * `rhel` or `centos`
29
+
30
+ The default value is `ubuntu`.
18
31
 
19
32
  ### <a name="config-require-chef-omnibus"></a> require\_chef\_omnibus
20
33
 
@@ -30,7 +43,7 @@ installed. There are several different behaviors available:
30
43
  the installed version and the desired version match.
31
44
  * `false` or `nil` - no chef is installed.
32
45
 
33
- The default value is unset, or `nil`.
46
+ The default value is `true`.
34
47
 
35
48
  ## <a name="development"></a> Development
36
49
 
@@ -56,9 +69,12 @@ Created and maintained by [Sean Porter][author] (<portertech@gmail.com>)
56
69
  Apache 2.0 (see [LICENSE][license])
57
70
 
58
71
 
59
- [author]: https://github.com/enter-github-user
60
- [issues]: https://github.com/enter-github-user/kitchen-docker/issues
61
- [license]: https://github.com/enter-github-user/kitchen-docker/blob/master/LICENSE
62
- [repo]: https://github.com/enter-github-user/kitchen-docker
63
- [driver_usage]: http://docs.kitchen-ci.org/drivers/usage
64
- [chef_omnibus_dl]: http://www.opscode.com/chef/install/
72
+ [author]: https://github.com/portertech
73
+ [issues]: https://github.com/portertech/kitchen-docker/issues
74
+ [license]: https://github.com/portertech/kitchen-docker/blob/master/LICENSE
75
+ [repo]: https://github.com/portertech/kitchen-docker
76
+ [docker_getting_started]: http://www.docker.io/gettingstarted/
77
+ [docker_index]: https://index.docker.io/
78
+ [docker_default_image]: https://index.docker.io/_/ubuntu/
79
+ [driver_usage]: http://docs.kitchen-ci.org/drivers/usage
80
+ [chef_omnibus_dl]: http://www.opscode.com/chef/install/
@@ -33,7 +33,14 @@ module Kitchen
33
33
  default_config :port, '22'
34
34
  default_config :username, 'kitchen'
35
35
  default_config :password, 'kitchen'
36
- default_config :require_chef_omnibus, 'latest'
36
+ default_config :require_chef_omnibus, true
37
+
38
+ def verify_dependencies
39
+ run_command('docker > /dev/null', :quiet => true)
40
+ rescue
41
+ raise UserError,
42
+ 'You must first install Docker http://www.docker.io/gettingstarted/'
43
+ end
37
44
 
38
45
  def create(state)
39
46
  state[:image_id] = build_image(state) unless state[:image_id]
@@ -70,12 +77,14 @@ module Kitchen
70
77
  raise ActionFailed,
71
78
  "Unknown platform '#{config[:platform]}'"
72
79
  end
80
+ username = config[:username]
81
+ password = config[:password]
73
82
  base = <<-eos
74
83
  RUN mkdir /var/run/sshd
75
84
  RUN echo '127.0.0.1 localhost.localdomain localhost' >> /etc/hosts
76
- RUN useradd -d /home/kitchen -m -s /bin/bash kitchen
77
- RUN echo kitchen:kitchen | chpasswd
78
- RUN echo 'kitchen ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
85
+ RUN useradd -d /home/#{username} -m -s /bin/bash #{username}
86
+ RUN echo #{username}:#{password} | chpasswd
87
+ RUN echo '#{username} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
79
88
  eos
80
89
  [from, platform, base].join("\n")
81
90
  end
@@ -121,7 +130,7 @@ module Kitchen
121
130
 
122
131
  def container_address(state)
123
132
  container_id = state[:container_id]
124
- output = run_command("docker inspect #{container_id}", :quiet => true)
133
+ output = run_command("docker inspect #{container_id}")
125
134
  parse_container_ip(output)
126
135
  end
127
136
 
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for Docker Kitchen driver
24
- DOCKER_VERSION = "0.1.1.dev"
24
+ DOCKER_VERSION = "0.1.1"
25
25
  end
26
26
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.dev
5
- prerelease: 6
4
+ version: 0.1.1
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Sean Porter
@@ -137,16 +137,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - ! '>='
139
139
  - !ruby/object:Gem::Version
140
- hash: 3422827801630028328
140
+ hash: 1503263599404936680
141
141
  version: '0'
142
142
  segments:
143
143
  - 0
144
144
  none: false
145
145
  required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - ! '>'
147
+ - - ! '>='
148
148
  - !ruby/object:Gem::Version
149
- version: 1.3.1
149
+ hash: 1503263599404936680
150
+ version: '0'
151
+ segments:
152
+ - 0
150
153
  none: false
151
154
  requirements: []
152
155
  rubyforge_project: