kameleon-builder 2.0.0.dev

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 (95) hide show
  1. data/.editorconfig +23 -0
  2. data/.env +51 -0
  3. data/.gitignore +22 -0
  4. data/AUTHORS +19 -0
  5. data/CHANGELOG +36 -0
  6. data/COPYING +340 -0
  7. data/Gemfile +4 -0
  8. data/README.md +53 -0
  9. data/Rakefile +24 -0
  10. data/Vagrantfile +68 -0
  11. data/bin/kameleon +16 -0
  12. data/contrib/kameleon_bashrc.sh +138 -0
  13. data/contrib/scripts/VirtualBox_deploy.sh +12 -0
  14. data/contrib/scripts/chroot_env +9 -0
  15. data/contrib/scripts/create_passwd.py +17 -0
  16. data/contrib/scripts/umount-chroot.sh +290 -0
  17. data/contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml +47 -0
  18. data/contrib/steps/bootstrap/debian/bootstrap_static.yaml +38 -0
  19. data/contrib/steps/setup/add_timestamp.yaml +6 -0
  20. data/contrib/steps/setup/autologin.yaml +16 -0
  21. data/contrib/steps/setup/copy_ssh_auth_file.yaml +10 -0
  22. data/contrib/steps/setup/debian/add_network_interface.yaml +7 -0
  23. data/contrib/steps/setup/debian/cluster_tools_install.yaml +16 -0
  24. data/contrib/steps/setup/debian/network_config_static.yaml +17 -0
  25. data/contrib/steps/setup/generate_user_ssh_key.yaml +15 -0
  26. data/contrib/steps/setup/install_my_ssh_key.yaml +26 -0
  27. data/contrib/steps/setup/make_swap_file.yaml +9 -0
  28. data/contrib/steps/setup/root_ssh_config.yaml +18 -0
  29. data/contrib/steps/setup/set_user_password.yaml +7 -0
  30. data/contrib/steps/setup/system_optimization.yaml +8 -0
  31. data/docs/.gitignore +1 -0
  32. data/docs/Makefile +177 -0
  33. data/docs/make.bat +242 -0
  34. data/docs/source/_static/.gitignore +0 -0
  35. data/docs/source/aliases.rst +29 -0
  36. data/docs/source/checkpoint.rst +28 -0
  37. data/docs/source/cli.rst +3 -0
  38. data/docs/source/commands.rst +62 -0
  39. data/docs/source/conf.py +254 -0
  40. data/docs/source/context.rst +42 -0
  41. data/docs/source/faq.rst +3 -0
  42. data/docs/source/getting_started.rst +3 -0
  43. data/docs/source/index.rst +38 -0
  44. data/docs/source/installation.rst +3 -0
  45. data/docs/source/recipe.rst +256 -0
  46. data/docs/source/why.rst +3 -0
  47. data/docs/source/workspace.rst +11 -0
  48. data/kameleon-builder.gemspec +37 -0
  49. data/lib/kameleon.rb +75 -0
  50. data/lib/kameleon/cli.rb +176 -0
  51. data/lib/kameleon/context.rb +83 -0
  52. data/lib/kameleon/engine.rb +357 -0
  53. data/lib/kameleon/environment.rb +38 -0
  54. data/lib/kameleon/error.rb +51 -0
  55. data/lib/kameleon/logger.rb +53 -0
  56. data/lib/kameleon/recipe.rb +474 -0
  57. data/lib/kameleon/shell.rb +290 -0
  58. data/lib/kameleon/step.rb +213 -0
  59. data/lib/kameleon/utils.rb +45 -0
  60. data/lib/kameleon/version.rb +3 -0
  61. data/templates/COPYRIGHT +21 -0
  62. data/templates/aliases/defaults.yaml +83 -0
  63. data/templates/checkpoints/docker.yaml +14 -0
  64. data/templates/checkpoints/qcow2.yaml +44 -0
  65. data/templates/debian-wheezy-chroot.yaml +98 -0
  66. data/templates/debian-wheezy-docker.yaml +97 -0
  67. data/templates/fedora-docker.yaml +96 -0
  68. data/templates/steps/bootstrap/debian/debootstrap.yaml +13 -0
  69. data/templates/steps/bootstrap/fedora/docker_bootstrap.yaml +25 -0
  70. data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +22 -0
  71. data/templates/steps/bootstrap/prepare_appliance_with_nbd.yaml +93 -0
  72. data/templates/steps/bootstrap/prepare_docker.yaml +38 -0
  73. data/templates/steps/bootstrap/start_chroot.yaml +53 -0
  74. data/templates/steps/bootstrap/start_docker.yaml +12 -0
  75. data/templates/steps/export/build_appliance_from_docker.yaml +105 -0
  76. data/templates/steps/export/clean_appliance.yaml +3 -0
  77. data/templates/steps/export/save_appliance_from_nbd.yaml +54 -0
  78. data/templates/steps/setup/create_user.yaml +12 -0
  79. data/templates/steps/setup/debian/kernel_install.yaml +20 -0
  80. data/templates/steps/setup/debian/keyboard_config.yaml +10 -0
  81. data/templates/steps/setup/debian/network_config.yaml +30 -0
  82. data/templates/steps/setup/debian/software_install.yaml +15 -0
  83. data/templates/steps/setup/debian/system_config.yaml +12 -0
  84. data/templates/steps/setup/fedora/kernel_install.yaml +27 -0
  85. data/templates/steps/setup/fedora/software_install.yaml +10 -0
  86. data/tests/helper.rb +22 -0
  87. data/tests/recipes/dummy_recipe.yaml +48 -0
  88. data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +4 -0
  89. data/tests/recipes/steps/export/dummy_save_appliance.yaml +9 -0
  90. data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +8 -0
  91. data/tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml +7 -0
  92. data/tests/test_context.rb +16 -0
  93. data/tests/test_recipe.rb +15 -0
  94. data/tests/test_version.rb +9 -0
  95. metadata +300 -0
@@ -0,0 +1,20 @@
1
+ - configure_kernel:
2
+ - write_in:
3
+ - /etc/kernel-img.conf
4
+ - |
5
+ do_symlinks = yes
6
+ relative_links = yes
7
+ do_bootloader = yes
8
+ do_bootfloppy = no
9
+ do_initrd = yes
10
+ link_in_boot = no
11
+
12
+ - install_kernel:
13
+ - exec_in: "apt-get -y --force-yes install linux-image-$$arch 2>&1"
14
+
15
+ - install_extlinux:
16
+ - exec_in: "apt-get -y --force-yes install extlinux 2>&1"
17
+ - on_setup_clean:
18
+ - exec_in: |
19
+ dir=/var/lib/os-prober/mount
20
+ test ! -d "$dir" || (umount -f -l "$dir" && rmdir "$dir")
@@ -0,0 +1,10 @@
1
+ # # Network Config
2
+ - keyboard_config:
3
+ - write_in:
4
+ - /etc/default/keyboard
5
+ - |
6
+ XKBMODEL="pc105"
7
+ XKBLAYOUT="$$layout"
8
+ XKBVARIANT=""
9
+ XKBOPTIONS=""
10
+ - exec_in: apt-get -y --force-yes install console-setup console-tools console-data 2>&1
@@ -0,0 +1,30 @@
1
+ # # Network Config
2
+
3
+ # WARNING: The MTU is set to 1492 to avoid connection failure over some
4
+ # network du to PPP header
5
+ - mtu: 1492
6
+ - network_interfaces:
7
+ - write_in:
8
+ - /etc/network/interfaces
9
+ - |
10
+ auto lo
11
+ iface lo inet loopback
12
+
13
+ auto eth0
14
+ iface eth0 inet dhcp
15
+ pre-up ip link set mtu $$mtu eth0
16
+
17
+ - set_hosts:
18
+ - write_in:
19
+ - /etc/hosts
20
+ - |
21
+ #
22
+ # /etc/hosts: static lookup table for host names
23
+ #
24
+
25
+ #<ip-address> <hostname.domain.org> <hostname>
26
+ 127.0.0.1 localhost.localdomain localhost $$hostname
27
+ ::1 localhost.localdomain localhost
28
+
29
+ - set_hostname:
30
+ - exec_in: echo "$$hostname" > /etc/hostname
@@ -0,0 +1,15 @@
1
+ # Software Install
2
+ - add_contribs_source:
3
+ - exec_in: perl -pi -e "s/main$/main contrib non-free/" /etc/apt/sources.list
4
+ - update_repositories:
5
+ - exec_in: apt-get -y --force-yes update
6
+ - upgrade_system:
7
+ - exec_in: apt-get -y --force-yes dist-upgrade 2>&1
8
+ - clean:
9
+ - on_export_init:
10
+ - exec_in: apt-get -y --force-yes autoclean
11
+ - exec_in: apt-get -y --force-yes clean
12
+ - exec_in: apt-get -y --force-yes autoremove
13
+ - core_packages:
14
+ - exec_in: apt-get -y --force-yes install $$packages 2>&1
15
+
@@ -0,0 +1,12 @@
1
+ # # System Config
2
+ - configure_locales:
3
+ # set locales programtically, based on http://linux.livejournal.com/1880366.html
4
+ - exec_in: |
5
+ test ! -f /etc/locale.gen || \
6
+ (echo $$locales | tr ' ' '\n' | xargs -I {} sed -i 's/^# {}/{}/' /etc/locale.gen)
7
+ - exec_in: locale-gen $$lang
8
+ - exec_in: update-locale LANG=$$lang
9
+
10
+ - set_timezone:
11
+ - exec_in: echo "$$timezone" > /etc/timezone
12
+ - exec_in: "dpkg-reconfigure -f noninteractive tzdata 2>&1"
@@ -0,0 +1,27 @@
1
+ - setup_build_environment:
2
+ - exec_in: kversion=3.12.10-300
3
+ - exec_in: yum install -y rpmdevtools yum-utils rpm-build ncurses-devel pesign
4
+ - exec_in: rpmdev-setuptree
5
+ - exec_in: yumdownloader --source kernel
6
+ - exec_in: yum-builddep -y kernel-${kversion}.fc$${release}.src.rpm
7
+ - exec_in: rpm -Uvh kernel-${kversion}.fc$${release}.src.rpm
8
+ - exec_in: pushd ~/rpmbuild/SPECS
9
+ - exec_in: rpmbuild -bp --target=$(uname -m) kernel.spec 2>&1
10
+ - exec_in: popd
11
+
12
+ - build_kernel:
13
+ - exec_in: pushd ~/rpmbuild/SPECS
14
+ - exec_in: rpmbuild -bb --target=$(uname -m) --define "buildid .vbox" --with baseonly --with firmware --without debuginfo kernel.spec
15
+ - exec_in: popd
16
+
17
+ - install_kernel:
18
+ - exec_in: pushd ~/rpmbuild/RPMS/x86_64
19
+ - exec_in: rpm -ivh kernel-${kversion}.vbox.fc$${release}.x86_64.rpm kernel-headers-${kversion}.vbox.fc$${release}.x86_64.rpm 2>&1
20
+ - exec_in: popd
21
+
22
+ - install_extlinux:
23
+ - exec_in: "yum install -y install syslinux-extlinux 2>&1"
24
+ - on_setup_clean:
25
+ - exec_in: |
26
+ dir=/var/lib/os-prober/mount
27
+ test ! -d "$dir" || (umount -f -l "$dir" && rmdir "$dir")
@@ -0,0 +1,10 @@
1
+ # Software Install
2
+ - update_system:
3
+ - exec_in: yum update
4
+ - clean:
5
+ - on_export_init:
6
+ - exec_in: yum clean all
7
+ - install_packages:
8
+ - exec_in: yum install -y $$packages 2>&1
9
+ # - install_groupackages:
10
+ # - exec_in: yum groupinstall -y $$group_packages 2>&1
data/tests/helper.rb ADDED
@@ -0,0 +1,22 @@
1
+ if ENV['COVERAGE']
2
+ require 'simplecov'
3
+ require 'coveralls'
4
+
5
+ SimpleCov.profiles.define 'kameleon' do
6
+ add_filter './tests/'
7
+ add_filter './spec/'
8
+ add_filter './autotest/'
9
+
10
+ add_group 'Binaries', 'bin/'
11
+ add_group 'Libraries', 'lib/'
12
+ end
13
+
14
+ SimpleCov.start 'kameleon'
15
+ SimpleCov.merge_timeout 300
16
+ SimpleCov.command_name 'unit'
17
+ end
18
+
19
+ require 'minitest/unit'
20
+ require 'minitest/autorun'
21
+ require 'minitest/pride'
22
+ require 'kameleon'
@@ -0,0 +1,48 @@
1
+ #===============================================================================
2
+ # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
+ #===============================================================================
4
+ #
5
+ # RECIPE: dummy_recipe.yaml
6
+ #
7
+ # DESCRIPTION: This is a test recipe made for unit testing
8
+ #
9
+ # WARNING: This is a warning!!!
10
+ #
11
+ #===============================================================================
12
+ ---
13
+ # This is a comment :/!* $$toto
14
+ global:
15
+ # This is another comment // ,;:!*ù$=)àç_ç_èè-(-('""é&'" ¹~~##{[{[|``\^^@]}
16
+ distrib: dummy_distro
17
+ debian_version_name: distrib_repository
18
+ outside_context: bash
19
+ inside_context: chroot $$workdir/chroot
20
+ variables: test
21
+ extra_packages: vim
22
+
23
+ bootstrap:
24
+ # &é"'(-è_çà)=~#{#{|~{|`\[`^|\@^@]*$ùlmjtgsioht jhié"ç_è (y'éy _This
25
+ - dummy_bootstrap_static:
26
+ - distrib_version_name: wheeeeeeze
27
+ # Comment
28
+ - distrib_repository: http://myrepo.com/test
29
+
30
+ setup:
31
+ - dummy_software_install:
32
+ - extra_packages: "titi toto tata"
33
+ # Comment
34
+ - install_cmd: 12345.213
35
+ - dummy_step1
36
+ # Comment
37
+ - dummy_step2
38
+ - dummy_root_passwd
39
+
40
+ # Comment
41
+
42
+ export:
43
+ - dummy_save_appliance:
44
+ - save_as_raw
45
+ # Comment
46
+ - save_as_vmdk
47
+ # Comment
48
+ # Comment
@@ -0,0 +1,4 @@
1
+ # # Dummy Bootstrap Static
2
+ - dummy_bootstrap_static:
3
+ - exec_out: echo $$distrib_version_name > /dev/null
4
+ - exec_in: echo $$distrib_repository > /dev/null
@@ -0,0 +1,9 @@
1
+ # # Dummy Save Appliance
2
+ - save_as_raw:
3
+ - exec_out: echo test > /dev/null
4
+ - exec_in: echo test > /dev/null
5
+ - exec_out: echo test > /dev/null
6
+ - save_as_vmdk:
7
+ - exec_out: echo test > /dev/null
8
+ - exec_in: echo test > /dev/null
9
+ - exec_out: echo test > /dev/null
@@ -0,0 +1,8 @@
1
+ # # Dummy Passwd Root
2
+ - dummy_passwd_root:
3
+ - exec_in: echo dummy > /dev/null
4
+ - exec_in: |
5
+ echo toto > /dev/null
6
+ - exec_out: echo dummy > /dev/null
7
+ - exec_out: |
8
+ echo toto > /dev/null
@@ -0,0 +1,7 @@
1
+ # # Dummy Software Install
2
+ - dummy_step1:
3
+ - exec_in: echo $$install_cmd > /dev/null
4
+ - dummy_step2:
5
+ - exec_out: echo $$extra_packages > /dev/null
6
+ - dummy_step3:
7
+ - exec_in: echo test > /dev/null
@@ -0,0 +1,16 @@
1
+ require File.expand_path("../helper", __FILE__)
2
+
3
+
4
+ class TestLocalContext < Minitest::Unit::TestCase
5
+ def setup
6
+ @local = Kameleon::LocalContext.new
7
+ end
8
+
9
+ def test_echo_cmd
10
+ out = capture_io{ @local.exec "echo mymessage" }.join ''
11
+ assert_equal "mymessage\n", out
12
+ out = capture_io{ @local.exec "echo >&2 myerror" }.join ''
13
+ assert_equal "myerror\n", out
14
+ end
15
+
16
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path("../helper", __FILE__)
2
+
3
+
4
+ class TestRecipe < Minitest::Unit::TestCase
5
+
6
+ def setup
7
+ Kameleon.ui.level = "silent"
8
+ @recipe = Kameleon::Recipe.new File.join(File.dirname(__FILE__), "recipes/dummy_recipe.yaml")
9
+ end
10
+
11
+ def test_dummy_recipe_name
12
+ assert_equal @recipe.name, "dummy_recipe"
13
+ end
14
+
15
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path("../helper", __FILE__)
2
+
3
+ describe Kameleon do
4
+
5
+ it "must be defined" do
6
+ Kameleon::VERSION.wont_be_nil
7
+ end
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,300 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kameleon-builder
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.dev
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Salem Harrache
9
+ - Michael Mercier
10
+ - Cristan Ruiz
11
+ - Bruno Bzeznik
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2014-02-14 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: childprocess
19
+ requirement: !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: '0.3'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '0.3'
33
+ - !ruby/object:Gem::Dependency
34
+ name: thor
35
+ requirement: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '0.15'
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '0.15'
49
+ - !ruby/object:Gem::Dependency
50
+ name: table_print
51
+ requirement: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '1.5'
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ~>
63
+ - !ruby/object:Gem::Version
64
+ version: '1.5'
65
+ - !ruby/object:Gem::Dependency
66
+ name: log4r-color
67
+ requirement: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ~>
71
+ - !ruby/object:Gem::Version
72
+ version: '1.2'
73
+ type: :runtime
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: '1.2'
81
+ - !ruby/object:Gem::Dependency
82
+ name: pry
83
+ requirement: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ version: '0.9'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '0.9'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-debugger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ version: '0.2'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ~>
111
+ - !ruby/object:Gem::Version
112
+ version: '0.2'
113
+ - !ruby/object:Gem::Dependency
114
+ name: rake
115
+ requirement: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: '10.1'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ~>
127
+ - !ruby/object:Gem::Version
128
+ version: '10.1'
129
+ - !ruby/object:Gem::Dependency
130
+ name: minitest
131
+ requirement: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ~>
135
+ - !ruby/object:Gem::Version
136
+ version: '4.7'
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ~>
143
+ - !ruby/object:Gem::Version
144
+ version: '4.7'
145
+ - !ruby/object:Gem::Dependency
146
+ name: coveralls
147
+ requirement: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '0.7'
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ~>
159
+ - !ruby/object:Gem::Version
160
+ version: '0.7'
161
+ description: The mindful appliance builder
162
+ email:
163
+ - salem.harrache@inria.fr
164
+ - michael.mercier@inria.fr
165
+ - cristian.ruiz@imag.fr
166
+ - bruno.bzeznik@imag.fr
167
+ executables:
168
+ - kameleon
169
+ extensions: []
170
+ extra_rdoc_files: []
171
+ files:
172
+ - .editorconfig
173
+ - .env
174
+ - .gitignore
175
+ - AUTHORS
176
+ - CHANGELOG
177
+ - COPYING
178
+ - Gemfile
179
+ - README.md
180
+ - Rakefile
181
+ - Vagrantfile
182
+ - bin/kameleon
183
+ - contrib/kameleon_bashrc.sh
184
+ - contrib/scripts/VirtualBox_deploy.sh
185
+ - contrib/scripts/chroot_env
186
+ - contrib/scripts/create_passwd.py
187
+ - contrib/scripts/umount-chroot.sh
188
+ - contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml
189
+ - contrib/steps/bootstrap/debian/bootstrap_static.yaml
190
+ - contrib/steps/setup/add_timestamp.yaml
191
+ - contrib/steps/setup/autologin.yaml
192
+ - contrib/steps/setup/copy_ssh_auth_file.yaml
193
+ - contrib/steps/setup/debian/add_network_interface.yaml
194
+ - contrib/steps/setup/debian/cluster_tools_install.yaml
195
+ - contrib/steps/setup/debian/network_config_static.yaml
196
+ - contrib/steps/setup/generate_user_ssh_key.yaml
197
+ - contrib/steps/setup/install_my_ssh_key.yaml
198
+ - contrib/steps/setup/make_swap_file.yaml
199
+ - contrib/steps/setup/root_ssh_config.yaml
200
+ - contrib/steps/setup/set_user_password.yaml
201
+ - contrib/steps/setup/system_optimization.yaml
202
+ - docs/.gitignore
203
+ - docs/Makefile
204
+ - docs/make.bat
205
+ - docs/source/_static/.gitignore
206
+ - docs/source/aliases.rst
207
+ - docs/source/checkpoint.rst
208
+ - docs/source/cli.rst
209
+ - docs/source/commands.rst
210
+ - docs/source/conf.py
211
+ - docs/source/context.rst
212
+ - docs/source/faq.rst
213
+ - docs/source/getting_started.rst
214
+ - docs/source/index.rst
215
+ - docs/source/installation.rst
216
+ - docs/source/recipe.rst
217
+ - docs/source/why.rst
218
+ - docs/source/workspace.rst
219
+ - kameleon-builder.gemspec
220
+ - lib/kameleon.rb
221
+ - lib/kameleon/cli.rb
222
+ - lib/kameleon/context.rb
223
+ - lib/kameleon/engine.rb
224
+ - lib/kameleon/environment.rb
225
+ - lib/kameleon/error.rb
226
+ - lib/kameleon/logger.rb
227
+ - lib/kameleon/recipe.rb
228
+ - lib/kameleon/shell.rb
229
+ - lib/kameleon/step.rb
230
+ - lib/kameleon/utils.rb
231
+ - lib/kameleon/version.rb
232
+ - templates/COPYRIGHT
233
+ - templates/aliases/defaults.yaml
234
+ - templates/checkpoints/docker.yaml
235
+ - templates/checkpoints/qcow2.yaml
236
+ - templates/debian-wheezy-chroot.yaml
237
+ - templates/debian-wheezy-docker.yaml
238
+ - templates/fedora-docker.yaml
239
+ - templates/steps/bootstrap/debian/debootstrap.yaml
240
+ - templates/steps/bootstrap/fedora/docker_bootstrap.yaml
241
+ - templates/steps/bootstrap/fedora/yum_bootstrap.yaml
242
+ - templates/steps/bootstrap/prepare_appliance_with_nbd.yaml
243
+ - templates/steps/bootstrap/prepare_docker.yaml
244
+ - templates/steps/bootstrap/start_chroot.yaml
245
+ - templates/steps/bootstrap/start_docker.yaml
246
+ - templates/steps/export/build_appliance_from_docker.yaml
247
+ - templates/steps/export/clean_appliance.yaml
248
+ - templates/steps/export/save_appliance_from_nbd.yaml
249
+ - templates/steps/setup/create_user.yaml
250
+ - templates/steps/setup/debian/kernel_install.yaml
251
+ - templates/steps/setup/debian/keyboard_config.yaml
252
+ - templates/steps/setup/debian/network_config.yaml
253
+ - templates/steps/setup/debian/software_install.yaml
254
+ - templates/steps/setup/debian/system_config.yaml
255
+ - templates/steps/setup/fedora/kernel_install.yaml
256
+ - templates/steps/setup/fedora/software_install.yaml
257
+ - tests/helper.rb
258
+ - tests/recipes/dummy_recipe.yaml
259
+ - tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml
260
+ - tests/recipes/steps/export/dummy_save_appliance.yaml
261
+ - tests/recipes/steps/setup/default/dummy_root_passwd.yaml
262
+ - tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml
263
+ - tests/test_context.rb
264
+ - tests/test_recipe.rb
265
+ - tests/test_version.rb
266
+ homepage: http://kameleon.readthedocs.org/
267
+ licenses:
268
+ - GPL-2
269
+ post_install_message:
270
+ rdoc_options: []
271
+ require_paths:
272
+ - lib
273
+ required_ruby_version: !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ! '>='
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ required_rubygems_version: !ruby/object:Gem::Requirement
280
+ none: false
281
+ requirements:
282
+ - - ! '>'
283
+ - !ruby/object:Gem::Version
284
+ version: 1.3.1
285
+ requirements: []
286
+ rubyforge_project:
287
+ rubygems_version: 1.8.22
288
+ signing_key:
289
+ specification_version: 3
290
+ summary: Kameleon is a tool to build virtual machines from scratch
291
+ test_files:
292
+ - tests/helper.rb
293
+ - tests/recipes/dummy_recipe.yaml
294
+ - tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml
295
+ - tests/recipes/steps/export/dummy_save_appliance.yaml
296
+ - tests/recipes/steps/setup/default/dummy_root_passwd.yaml
297
+ - tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml
298
+ - tests/test_context.rb
299
+ - tests/test_recipe.rb
300
+ - tests/test_version.rb