foreman_docker 1.4.1 → 2.0.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 +4 -4
- data/.rubocop.yml +39 -0
- data/README.md +0 -2
- data/app/controllers/api/v2/containers_controller.rb +2 -2
- data/app/controllers/containers/steps_controller.rb +5 -5
- data/app/controllers/containers_controller.rb +1 -1
- data/app/controllers/image_search_controller.rb +28 -8
- data/app/helpers/containers_helper.rb +13 -20
- data/app/models/docker_container_wizard_states/environment.rb +3 -0
- data/app/models/docker_container_wizard_states/preliminary.rb +6 -4
- data/app/models/docker_registry.rb +8 -4
- data/app/models/exposed_port.rb +1 -0
- data/app/models/foreman_docker/dns.rb +2 -0
- data/app/models/foreman_docker/docker.rb +2 -0
- data/app/models/service/containers.rb +2 -2
- data/app/views/api/v2/registries/main.json.rabl +1 -1
- data/app/views/containers/_list.html.erb +1 -1
- data/db/migrate/20141010173220_create_docker_images.rb +1 -1
- data/db/migrate/20141024163003_create_docker_registries.rb +0 -2
- data/db/migrate/20141209182008_remove_docker_tables.rb +1 -1
- data/db/migrate/20141222113313_create_wizard_states.rb +3 -5
- data/lib/foreman_docker/engine.rb +4 -2
- data/lib/foreman_docker/version.rb +1 -1
- data/test/functionals/api/v2/containers_controller_test.rb +1 -1
- data/test/integration/container_steps_test.rb +2 -2
- data/test/integration/container_test.rb +1 -1
- data/test/units/containers_service_test.rb +1 -1
- data/test/units/registry_api_test.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b3ac12c5dafea1291f34a213907a4ccf7393f88
|
4
|
+
data.tar.gz: b90f1bece1343dab61b41b40d2f96e48aea61ccc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77e84e4899f3fff9d53e71d0c11b20fde50b824abfdd7691a5ffc44dd6c85f7798c808cf2675bfe434de5adc6a13438c4679e334a4742deb26bb9a4a402f3b38
|
7
|
+
data.tar.gz: 98f5a41476938823d8a3fd24f8aea148dfb96de47b471d27cbca2dfd7c36c9f5b696c88bb0a67ef23fdb5ec1030d7454a5ebe0a9aec7be3a044009d0c15d807a
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
AllCops:
|
2
|
+
RunRailsCops: true # always run the rails cops
|
3
|
+
|
4
|
+
# Don't enforce documentation
|
5
|
+
Style/Documentation:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
# Need to support ruby 1.8
|
9
|
+
Style/HashSyntax:
|
10
|
+
EnforcedStyle: hash_rockets
|
11
|
+
|
12
|
+
# Force before_filter until upgrade to Rails 4
|
13
|
+
Rails/ActionFilter:
|
14
|
+
EnforcedStyle: filter
|
15
|
+
|
16
|
+
Metrics/LineLength:
|
17
|
+
Max: 100
|
18
|
+
|
19
|
+
Metrics/MethodLength:
|
20
|
+
Max: 20
|
21
|
+
|
22
|
+
StringLiterals:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
Metrics/ClassLength:
|
26
|
+
Max: 200
|
27
|
+
|
28
|
+
Metrics/AbcSize:
|
29
|
+
Enabled: false # should we turn this on?
|
30
|
+
|
31
|
+
Style/MethodCalledOnDoEndBlock:
|
32
|
+
Enabled: true
|
33
|
+
|
34
|
+
Style/DotPosition:
|
35
|
+
EnforcedStyle: 'leading'
|
36
|
+
|
37
|
+
Rails/Date:
|
38
|
+
Exclude:
|
39
|
+
- foreman_docker.gemspec
|
data/README.md
CHANGED
@@ -34,8 +34,6 @@
|
|
34
34
|
* Events stream ([#8037](http://projects.theforeman.org/issues/8037))
|
35
35
|
* Tight integration between Docker hosts [Atomic](http://www.projectatomic.io/) and [CoreOS](http://coreos.com/) and containers ([#7653](http://projects.theforeman.org/issues/7653), [#7652](http://projects.theforeman.org/issues/7652))
|
36
36
|
* Quickstart images - pre-supplied images and configuration ([#7869](http://projects.theforeman.org/issues/7869))
|
37
|
-
* Environment variables support ([#8226](http://projects.theforeman.org/issues/8226))
|
38
|
-
* Support to expose ports during creation or at runtime ([#7864](http://projects.theforeman.org/issues/7864))
|
39
37
|
* Links to other containers ([#7866](http://projects.theforeman.org/issues/7866))
|
40
38
|
* API ([#7874](http://projects.theforeman.org/issues/7874))
|
41
39
|
* [Hammer CLI](http://github.com/theforeman/hammer-cli-foreman) support ([#8227](http://projects.theforeman.org/issues/8227))
|
@@ -20,7 +20,7 @@ module Api
|
|
20
20
|
if params[:compute_resource_id].present?
|
21
21
|
scoped = Container.where(:compute_resource_id => params[:compute_resource_id])
|
22
22
|
else
|
23
|
-
scoped = Container.
|
23
|
+
scoped = Container.where(nil)
|
24
24
|
end
|
25
25
|
@containers = scoped.search_for(params[:search], :order => params[:order])
|
26
26
|
.paginate(:page => params[:page])
|
@@ -108,7 +108,7 @@ module Api
|
|
108
108
|
render :json => { :logs => Docker::Container.get(@container.uuid)
|
109
109
|
.logs(:stdout => (params[:stdout] || true),
|
110
110
|
:stderr => (params[:stderr] || false),
|
111
|
-
:tail => (params[:tail]
|
111
|
+
:tail => (params[:tail] || 100)) }
|
112
112
|
end
|
113
113
|
|
114
114
|
api :PUT, '/containers/:id/power', N_('Run power operation on a container')
|
@@ -41,8 +41,8 @@ module Containers
|
|
41
41
|
|
42
42
|
def set_form
|
43
43
|
instance_variable_set(
|
44
|
-
|
45
|
-
|
44
|
+
"@docker_container_wizard_states_#{step}",
|
45
|
+
@state.send(:"#{step}") || @state.send(:"build_#{step}"))
|
46
46
|
end
|
47
47
|
|
48
48
|
def create_container(start = true)
|
@@ -58,9 +58,9 @@ module Containers
|
|
58
58
|
else
|
59
59
|
@docker_container_wizard_states_environment = @state.environment
|
60
60
|
process_error(
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
:error_msg => service.errors.full_messages.join(','),
|
62
|
+
:object => @state.environment,
|
63
|
+
:render => 'environment')
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
@@ -96,7 +96,7 @@ class ContainersController < ::ApplicationController
|
|
96
96
|
def container_deletion
|
97
97
|
# Unmanaged container - only present in Compute Resource
|
98
98
|
if params[:compute_resource_id].present?
|
99
|
-
@deleted_identifier
|
99
|
+
@deleted_identifier = params[:id]
|
100
100
|
destroy_compute_resource_vm(params[:compute_resource_id], params[:id])
|
101
101
|
else # Managed container
|
102
102
|
find_container
|
@@ -1,18 +1,30 @@
|
|
1
1
|
class ImageSearchController < ::ApplicationController
|
2
2
|
before_filter :find_resource
|
3
3
|
|
4
|
+
# this is incredibly odd. for some reason, rails sees the
|
5
|
+
# requests ImageSearchControllerTest makes as requests from another host
|
6
|
+
# thus, violating CSRF.
|
7
|
+
protect_from_forgery :only => :nothing if Rails.env.test?
|
8
|
+
|
4
9
|
def auto_complete_repository_name
|
5
10
|
catch_network_errors do
|
6
|
-
|
7
|
-
|
11
|
+
text = if use_hub?
|
12
|
+
hub_image_exists?(params[:search])
|
13
|
+
else
|
14
|
+
registry_image_exists?(params[:search])
|
15
|
+
end
|
16
|
+
render :text => text.to_s
|
8
17
|
end
|
9
18
|
end
|
10
19
|
|
11
20
|
def auto_complete_image_tag
|
12
21
|
catch_network_errors do
|
13
22
|
# This is the format jQuery UI autocomplete expects
|
14
|
-
tags = use_hub?
|
15
|
-
|
23
|
+
tags = if use_hub?
|
24
|
+
hub_auto_complete_image_tags(params[:search])
|
25
|
+
else
|
26
|
+
registry_auto_complete_image_tags(params[:search])
|
27
|
+
end
|
16
28
|
respond_to do |format|
|
17
29
|
format.js do
|
18
30
|
tags.map! { |tag| { :label => CGI.escapeHTML(tag), :value => CGI.escapeHTML(tag) } }
|
@@ -24,8 +36,12 @@ class ImageSearchController < ::ApplicationController
|
|
24
36
|
|
25
37
|
def search_repository
|
26
38
|
catch_network_errors do
|
27
|
-
repositories = use_hub?
|
28
|
-
|
39
|
+
repositories = if use_hub?
|
40
|
+
hub_search_image(params[:search])
|
41
|
+
else
|
42
|
+
registry_search_image(params[:search])
|
43
|
+
end
|
44
|
+
|
29
45
|
respond_to do |format|
|
30
46
|
format.js do
|
31
47
|
render :partial => 'repository_search_results',
|
@@ -75,8 +91,12 @@ class ImageSearchController < ::ApplicationController
|
|
75
91
|
result = ::Service::RegistryApi.new(:url => @registry.url,
|
76
92
|
:user => @registry.username,
|
77
93
|
:password => @registry.password).search(term)
|
78
|
-
registry_name = term.split('/').size > 1
|
79
|
-
|
94
|
+
registry_name = if term.split('/').size > 1
|
95
|
+
term
|
96
|
+
else
|
97
|
+
"library/#{term}"
|
98
|
+
end
|
99
|
+
|
80
100
|
result['results'].any? { |r| r['name'] == registry_name }
|
81
101
|
end
|
82
102
|
|
@@ -30,18 +30,18 @@ module ContainersHelper
|
|
30
30
|
def container_title_actions(container)
|
31
31
|
@compute_resource = container.compute_resource
|
32
32
|
title_actions(
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
33
|
+
button_group(
|
34
|
+
link_to(_('Commit'), '#commit-modal', :'data-toggle' => 'modal')
|
35
|
+
),
|
36
|
+
button_group(container_power_action(container.in_fog)),
|
37
|
+
button_group(
|
38
|
+
display_delete_if_authorized(
|
39
|
+
hash_for_container_path(:id => container.id)
|
40
|
+
.merge(:auth_object => container,
|
41
|
+
:auth_action => 'destroy',
|
42
|
+
:authorizer => authorizer),
|
43
|
+
:confirm => _("Delete %s?") % container.name)
|
44
|
+
)
|
45
45
|
)
|
46
46
|
end
|
47
47
|
|
@@ -69,7 +69,7 @@ module ContainersHelper
|
|
69
69
|
|
70
70
|
def power_on_off_message(vm)
|
71
71
|
_("Are you sure you want to power %{act} %{vm}?") % { :act => action_string(vm).downcase.strip,
|
72
|
-
:vm => vm
|
72
|
+
:vm => vm }
|
73
73
|
end
|
74
74
|
|
75
75
|
def auto_complete_docker_search(name, val, options = {})
|
@@ -77,13 +77,6 @@ module ContainersHelper
|
|
77
77
|
text_field_tag(name, val, options)
|
78
78
|
end
|
79
79
|
|
80
|
-
# Compatibility fixes - to be removed once 1.7 compatibility is no longer required
|
81
|
-
if SETTINGS[:version].to_s.to_f <= 1.7
|
82
|
-
def trunc_with_tooltip(text, length = 32)
|
83
|
-
trunc(text, length)
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
80
|
def processes(container)
|
88
81
|
ForemanDocker::Docker.get_container(container).top
|
89
82
|
end
|
@@ -2,6 +2,9 @@ module DockerContainerWizardStates
|
|
2
2
|
class Environment < ActiveRecord::Base
|
3
3
|
self.table_name_prefix = 'docker_container_wizard_states_'
|
4
4
|
belongs_to :wizard_state, :class_name => DockerContainerWizardState
|
5
|
+
|
6
|
+
attr_accessible :tty, :docker_container_wizard_state_id,
|
7
|
+
:attach_stdin, :attach_stdout, :attach_stderr
|
5
8
|
# Fix me:
|
6
9
|
# Validations are off on this association as there's a bug in ::Parameter
|
7
10
|
# that forces validation of reference_id. This will fail on new records as
|
@@ -2,6 +2,8 @@ module DockerContainerWizardStates
|
|
2
2
|
class Preliminary < ActiveRecord::Base
|
3
3
|
include Taxonomix
|
4
4
|
|
5
|
+
attr_accessible :wizard_state, :compute_resource_id
|
6
|
+
|
5
7
|
self.table_name_prefix = 'docker_container_wizard_states_'
|
6
8
|
belongs_to :wizard_state, :class_name => DockerContainerWizardState,
|
7
9
|
:foreign_key => :docker_container_wizard_state_id
|
@@ -10,14 +12,14 @@ module DockerContainerWizardStates
|
|
10
12
|
|
11
13
|
def used_location_ids
|
12
14
|
Location.joins(:taxable_taxonomies).where(
|
13
|
-
|
14
|
-
|
15
|
+
'taxable_taxonomies.taxable_type' => 'DockerContainerWizardStates::Preliminary',
|
16
|
+
'taxable_taxonomies.taxable_id' => id).pluck("#{Taxonomy.table_name}.id")
|
15
17
|
end
|
16
18
|
|
17
19
|
def used_organization_ids
|
18
20
|
Organization.joins(:taxable_taxonomies).where(
|
19
|
-
|
20
|
-
|
21
|
+
'taxable_taxonomies.taxable_type' => 'DockerContainerWizardStates::Preliminary',
|
22
|
+
'taxable_taxonomies.taxable_id' => id).pluck("#{Taxonomy.table_name}.id")
|
21
23
|
end
|
22
24
|
end
|
23
25
|
end
|
@@ -3,9 +3,13 @@ class DockerRegistry < ActiveRecord::Base
|
|
3
3
|
include Taxonomix
|
4
4
|
include Encryptable
|
5
5
|
|
6
|
+
attr_accessible :name, :url, :username, :password, :locations, :organizations
|
7
|
+
|
6
8
|
has_many :containers, :foreign_key => "registry_id", :dependent => :destroy
|
7
9
|
encrypts :password
|
8
10
|
|
11
|
+
attr_accessible :name, :url, :username, :password, :locations, :organizations
|
12
|
+
|
9
13
|
validates_lengths_from_database
|
10
14
|
validates :name, :presence => true, :uniqueness => true
|
11
15
|
validates :url, :presence => true, :uniqueness => true
|
@@ -15,14 +19,14 @@ class DockerRegistry < ActiveRecord::Base
|
|
15
19
|
|
16
20
|
def used_location_ids
|
17
21
|
Location.joins(:taxable_taxonomies).where(
|
18
|
-
|
19
|
-
|
22
|
+
'taxable_taxonomies.taxable_type' => 'DockerRegistry',
|
23
|
+
'taxable_taxonomies.taxable_id' => id).pluck("#{Taxonomy.table_name}.id")
|
20
24
|
end
|
21
25
|
|
22
26
|
def used_organization_ids
|
23
27
|
Organization.joins(:taxable_taxonomies).where(
|
24
|
-
|
25
|
-
|
28
|
+
'taxable_taxonomies.taxable_type' => 'DockerRegistry',
|
29
|
+
'taxable_taxonomies.taxable_id' => id).pluck("#{Taxonomy.table_name}.id")
|
26
30
|
end
|
27
31
|
|
28
32
|
def prefixed_url(image_name)
|
data/app/models/exposed_port.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
class ExposedPort < Parameter
|
2
|
+
attr_accessible :priority
|
2
3
|
# The Parameter class from which ExposedPort class inherits,validates for the
|
3
4
|
# presence of an associated domain, operating system, host or host group. We
|
4
5
|
# will have to reset those validations for the ExposedPort class as they do
|
@@ -2,6 +2,8 @@ require 'resolv'
|
|
2
2
|
|
3
3
|
module ForemanDocker
|
4
4
|
class Dns < Parameter
|
5
|
+
attr_accessible :priority
|
6
|
+
|
5
7
|
# The Parameter class from which this Dns class inherits,validates for the
|
6
8
|
# presence of an associated domain, operating system, host or host group.
|
7
9
|
# We will have to reset those validations for the Dns class as they do not
|
@@ -27,7 +27,7 @@ module Service
|
|
27
27
|
container = Container.new(wizard_state.container_attributes) do |r|
|
28
28
|
# eagerly load environment variables and exposed ports configuration
|
29
29
|
state = DockerContainerWizardState.includes(
|
30
|
-
|
30
|
+
:environment => [:environment_variables, :exposed_ports]).find(wizard_state.id)
|
31
31
|
|
32
32
|
load_environment_variables(state, r)
|
33
33
|
load_exposed_ports(state, r)
|
@@ -66,7 +66,7 @@ module Service
|
|
66
66
|
|
67
67
|
def destroy_wizard_state(wizard_state)
|
68
68
|
wizard_state.destroy
|
69
|
-
DockerContainerWizardState.destroy_all(["updated_at < ?", (Time.now - 24.hours)])
|
69
|
+
DockerContainerWizardState.destroy_all(["updated_at < ?", (Time.now.utc - 24.hours)])
|
70
70
|
end
|
71
71
|
|
72
72
|
def load_environment_variables(state, r)
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<tbody>
|
16
16
|
<% containers.each do |container| %>
|
17
17
|
<tr>
|
18
|
-
<td class="ellipsis text-center"><%= link_to_container(container, resource) %></td>
|
18
|
+
<td class="ellipsis text-center" id="<%= container.name[1..-1] %>"><%= link_to_container(container, resource) %></td>
|
19
19
|
<td class="hidden-tablet hidden-xs text-center">
|
20
20
|
<span <%= vm_power_class(container.ready?) %>><%= vm_state(container) %></span></td>
|
21
21
|
<td class="hidden-tablet hidden-xs text-center"><%= trunc_with_tooltip(container.image_friendly_name) %></td>
|
@@ -3,13 +3,11 @@ class CreateDockerRegistries < ActiveRecord::Migration
|
|
3
3
|
create_table :docker_registries do |t|
|
4
4
|
t.string :url
|
5
5
|
t.string :name
|
6
|
-
t.integer :id
|
7
6
|
t.string :description
|
8
7
|
t.timestamps
|
9
8
|
end
|
10
9
|
|
11
10
|
create_table :docker_image_docker_registries do |t|
|
12
|
-
t.integer :id
|
13
11
|
t.integer :docker_registry_id
|
14
12
|
t.integer :docker_image_id
|
15
13
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
class CreateWizardStates < ActiveRecord::Migration
|
2
2
|
# rubocop:disable Metrics/MethodLength
|
3
3
|
def change
|
4
|
-
create_table :docker_container_wizard_states
|
5
|
-
t.timestamps
|
6
|
-
end
|
4
|
+
create_table :docker_container_wizard_states, &:timestamps
|
7
5
|
|
8
6
|
create_table :docker_container_wizard_states_preliminaries do |t|
|
9
7
|
t.integer :compute_resource_id, :null => false
|
@@ -11,7 +9,7 @@ class CreateWizardStates < ActiveRecord::Migration
|
|
11
9
|
t.timestamps
|
12
10
|
end
|
13
11
|
|
14
|
-
create_table
|
12
|
+
create_table :docker_container_wizard_states_images do |t|
|
15
13
|
t.integer :registry_id
|
16
14
|
t.string :repository_name, :null => false
|
17
15
|
t.string :tag, :null => false
|
@@ -19,7 +17,7 @@ class CreateWizardStates < ActiveRecord::Migration
|
|
19
17
|
t.timestamps
|
20
18
|
end
|
21
19
|
|
22
|
-
create_table
|
20
|
+
create_table :docker_container_wizard_states_configurations do |t|
|
23
21
|
t.string :name
|
24
22
|
t.string :command
|
25
23
|
t.string :entrypoint
|
@@ -14,7 +14,9 @@ module ForemanDocker
|
|
14
14
|
config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
|
15
15
|
|
16
16
|
initializer 'foreman_docker.load_app_instance_data' do |app|
|
17
|
-
|
17
|
+
ForemanDocker::Engine.paths['db/migrate'].existent.each do |path|
|
18
|
+
app.config.paths['db/migrate'] << path
|
19
|
+
end
|
18
20
|
end
|
19
21
|
|
20
22
|
initializer "foreman_docker.assets.precompile" do |app|
|
@@ -39,7 +41,7 @@ module ForemanDocker
|
|
39
41
|
|
40
42
|
initializer 'foreman_docker.register_plugin', :after => :finisher_hook do
|
41
43
|
Foreman::Plugin.register :foreman_docker do
|
42
|
-
requires_foreman '
|
44
|
+
requires_foreman '>= 1.11'
|
43
45
|
compute_resource ForemanDocker::Docker
|
44
46
|
|
45
47
|
sub_menu :top_menu, :containers_menu, :caption => N_('Containers'),
|
@@ -34,7 +34,7 @@ module Api
|
|
34
34
|
assert_equal ActiveSupport::JSON.decode(response.body)['logs'], fake_container.logs
|
35
35
|
end
|
36
36
|
|
37
|
-
test 'show returns information about container'
|
37
|
+
test 'show returns information about container' do
|
38
38
|
get :show, :id => @container.id
|
39
39
|
assert_response :success
|
40
40
|
assert_equal ActiveSupport::JSON.decode(response.body)['name'], 'foo'
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class ContainerStepsTest < ActionDispatch::IntegrationTest
|
4
|
-
test 'shows a link to a new compute resource if none is available'
|
4
|
+
test 'shows a link to a new compute resource if none is available' do
|
5
5
|
visit new_container_path
|
6
6
|
assert has_selector?("div.alert", :text => 'Please add a new one')
|
7
7
|
end
|
8
8
|
|
9
|
-
test 'shows taxonomies tabs'
|
9
|
+
test 'shows taxonomies tabs' do
|
10
10
|
visit new_container_path
|
11
11
|
assert has_selector?("a", :text => 'Locations') if SETTINGS[:locations_enabled]
|
12
12
|
assert has_selector?("a", :text => 'Organizations') if SETTINGS[:organizations_enabled]
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class ContainerIntegrationTest < ActionDispatch::IntegrationTest
|
4
|
-
test 'redirects to a new compute resource if none is available'
|
4
|
+
test 'redirects to a new compute resource if none is available' do
|
5
5
|
visit containers_path
|
6
6
|
assert_equal current_path, new_compute_resource_path
|
7
7
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_plugin_helper'
|
2
2
|
|
3
|
-
class ContainersServiceTest <
|
3
|
+
class ContainersServiceTest < ActiveSupport::TestCase
|
4
4
|
setup do
|
5
5
|
@state = DockerContainerWizardState.create! do |s|
|
6
6
|
s.build_preliminary(:compute_resource_id => FactoryGirl.create(:docker_cr).id,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_docker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Lobato, Amos Benari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docker-api
|
@@ -45,6 +45,7 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
+
- ".rubocop.yml"
|
48
49
|
- LICENSE
|
49
50
|
- README.md
|
50
51
|
- Rakefile
|
@@ -187,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
188
|
version: '0'
|
188
189
|
requirements: []
|
189
190
|
rubyforge_project:
|
190
|
-
rubygems_version: 2.
|
191
|
+
rubygems_version: 2.2.2
|
191
192
|
signing_key:
|
192
193
|
specification_version: 4
|
193
194
|
summary: Provision and manage Docker containers and images from Foreman
|
@@ -208,3 +209,4 @@ test_files:
|
|
208
209
|
- test/test_plugin_helper.rb
|
209
210
|
- test/integration/container_steps_test.rb
|
210
211
|
- test/integration/container_test.rb
|
212
|
+
- ".rubocop.yml"
|