foreman_docker 0.2.0 → 1.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/README.md +10 -3
- data/app/assets/javascripts/foreman_docker/image_step.js +44 -5
- data/app/controllers/concerns/foreman_docker/find_container.rb +19 -0
- data/app/controllers/containers/steps_controller.rb +25 -39
- data/app/controllers/containers_controller.rb +10 -43
- data/app/controllers/image_search_controller.rb +88 -0
- data/app/controllers/registries_controller.rb +47 -0
- data/app/helpers/container_steps_helper.rb +21 -4
- data/app/helpers/containers_helper.rb +19 -7
- data/app/models/concerns/foreman_docker/parameter_validators.rb +11 -0
- data/app/models/container.rb +20 -7
- data/app/models/docker_container_wizard_state.rb +30 -0
- data/app/models/docker_container_wizard_states/configuration.rb +7 -0
- data/app/models/docker_container_wizard_states/environment.rb +21 -0
- data/app/models/docker_container_wizard_states/environment_variable.rb +7 -0
- data/app/models/docker_container_wizard_states/image.rb +11 -0
- data/app/models/docker_container_wizard_states/preliminary.rb +11 -0
- data/app/models/docker_registry.rb +28 -0
- data/app/models/environment_variable.rb +5 -0
- data/app/models/foreman_docker/docker.rb +22 -3
- data/app/models/service/containers.rb +38 -0
- data/app/models/service/registry_api.rb +26 -0
- data/app/views/containers/_list.html.erb +19 -18
- data/app/views/containers/index.html.erb +11 -6
- data/app/views/containers/show.html.erb +26 -7
- data/app/views/containers/steps/_form_buttons.html.erb +1 -1
- data/app/views/containers/steps/configuration.html.erb +2 -2
- data/app/views/containers/steps/environment.html.erb +19 -6
- data/app/views/containers/steps/image.html.erb +58 -39
- data/app/views/containers/steps/preliminary.html.erb +21 -4
- data/app/views/foreman_docker/common_parameters/_environment_variable.html.erb +18 -0
- data/app/views/image_search/_repository_search_results.html.erb +12 -0
- data/app/views/registries/_form.html.erb +26 -0
- data/app/views/registries/edit.html.erb +3 -0
- data/app/views/registries/index.html.erb +28 -0
- data/app/views/registries/new.html.erb +3 -0
- data/config/routes.rb +11 -2
- data/db/migrate/20141024163003_create_docker_registries.rb +22 -0
- data/db/migrate/20141120123003_add_user_credentials_to_docker_registries.rb +6 -0
- data/db/migrate/20141209182008_remove_docker_tables.rb +72 -0
- data/db/migrate/20141222113313_create_wizard_states.rb +42 -0
- data/lib/foreman_docker/engine.rb +25 -5
- data/lib/foreman_docker/version.rb +1 -1
- data/test/factories/containers.rb +2 -0
- data/test/factories/docker_registry.rb +16 -0
- data/test/functionals/containers_steps_controller_test.rb +7 -40
- data/test/integration/container_steps_test.rb +24 -0
- data/test/integration/container_test.rb +18 -0
- data/test/units/container_test.rb +0 -7
- data/test/units/containers_service_test.rb +21 -0
- data/test/units/docker_registry_test.rb +24 -0
- metadata +45 -22
- data/app/models/docker_image.rb +0 -9
- data/app/models/docker_tag.rb +0 -8
- data/test/factories/docker_image.rb +0 -5
- data/test/factories/docker_tag.rb +0 -6
- data/test/units/docker_image_test.rb +0 -23
- data/test/units/docker_tag_test.rb +0 -35
data/app/models/docker_image.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
class DockerImage < ActiveRecord::Base
|
2
|
-
has_many :tags, :class_name => 'DockerTag', :foreign_key => 'docker_image_id',
|
3
|
-
:dependent => :destroy
|
4
|
-
has_many :containers
|
5
|
-
|
6
|
-
attr_accessible :image_id, :size
|
7
|
-
|
8
|
-
validates :image_id, :presence => true, :uniqueness => true
|
9
|
-
end
|
data/app/models/docker_tag.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
class DockerTag < ActiveRecord::Base
|
2
|
-
belongs_to :image, :class_name => 'DockerImage', :foreign_key => 'docker_image_id'
|
3
|
-
|
4
|
-
attr_accessible :tag, :image
|
5
|
-
|
6
|
-
validates :tag, :presence => true, :uniqueness => { :scope => :docker_image_id }
|
7
|
-
validates :image, :presence => true
|
8
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'test_plugin_helper'
|
2
|
-
|
3
|
-
class DockerImageTest < ActiveSupport::TestCase
|
4
|
-
test 'destroy docker image with tags is successful' do
|
5
|
-
tag = FactoryGirl.create(:docker_tag)
|
6
|
-
image = FactoryGirl.create(:docker_image)
|
7
|
-
image.tags << tag
|
8
|
-
assert image.destroy
|
9
|
-
refute DockerImage.exists?(image.id)
|
10
|
-
refute DockerTag.exists?(tag.id)
|
11
|
-
end
|
12
|
-
|
13
|
-
context 'validations' do
|
14
|
-
test 'without image_id is invalid' do
|
15
|
-
refute FactoryGirl.build(:docker_image, :image_id => '').valid?
|
16
|
-
end
|
17
|
-
|
18
|
-
test 'image_id has to be unique' do
|
19
|
-
old_image = FactoryGirl.create(:docker_image)
|
20
|
-
refute FactoryGirl.build(:docker_image, :image_id => old_image.image_id).valid?
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'test_plugin_helper'
|
2
|
-
|
3
|
-
class DockerTagTest < ActiveSupport::TestCase
|
4
|
-
test 'creating fails if no image is provided' do
|
5
|
-
tag = FactoryGirl.build(:docker_tag, :image => nil)
|
6
|
-
refute tag.valid?
|
7
|
-
assert tag.errors.size >= 1
|
8
|
-
end
|
9
|
-
|
10
|
-
test 'creating succeeds if an image is provided' do
|
11
|
-
tag = FactoryGirl.build(:docker_tag)
|
12
|
-
tag.image = FactoryGirl.build(:docker_image)
|
13
|
-
|
14
|
-
assert tag.valid?
|
15
|
-
assert tag.save
|
16
|
-
end
|
17
|
-
|
18
|
-
context 'validations' do
|
19
|
-
test 'tag has to be present' do
|
20
|
-
refute FactoryGirl.build(:docker_tag, :tag => '').valid?
|
21
|
-
end
|
22
|
-
|
23
|
-
test 'tag is unique within image scope' do
|
24
|
-
image = FactoryGirl.create(:docker_image)
|
25
|
-
tag = FactoryGirl.create(:docker_tag, :image => image)
|
26
|
-
duplicated_tag = FactoryGirl.build(:docker_tag, :image => image, :tag => tag.tag)
|
27
|
-
refute duplicated_tag.valid?
|
28
|
-
end
|
29
|
-
|
30
|
-
test 'tag is not unique for different images' do
|
31
|
-
tag = FactoryGirl.create(:docker_tag)
|
32
|
-
assert FactoryGirl.build(:docker_tag, :tag => tag.tag).valid?
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|