kameleon-builder 2.0.0.dev → 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 +7 -0
- data/README.rst +95 -0
- data/Vagrantfile +2 -3
- data/docs/source/conf.py +5 -3
- data/docs/source/faq.rst +2 -0
- data/docs/source/getting_started.rst +3 -0
- data/docs/source/index.rst +13 -3
- data/docs/source/installation.rst +18 -0
- data/docs/source/recipe.rst +9 -9
- data/lib/kameleon/shell.rb +1 -2
- data/lib/kameleon/version.rb +2 -1
- data/version.txt +1 -0
- metadata +10 -32
- data/CHANGELOG +0 -36
- data/README.md +0 -53
- data/docs/source/cli.rst +0 -3
- data/docs/source/why.rst +0 -3
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0da2c2ced91eb366f1c84e507b387531e6a71036
|
4
|
+
data.tar.gz: bb947d9be606eca0d2f5dc4e38d31fa985b7b866
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: affe277bd4a073060f4e3f26a41df509f31a41d92e58e1bc6dfa1e068d619be240a52a426139c0165c507081a07fd2f0971218b97afd7a202f6407849d291772
|
7
|
+
data.tar.gz: 2d4dd5d871d9a7d9f3d64a991adae10fe04e47388a98b491b6fb7cdfb015dbe5b180b60350dd45501dc86c1dc7fa0b9d915ce7055f867b615ceb91afe00f9309
|
data/README.rst
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
Kameleon appliance builder
|
2
|
+
==========================
|
3
|
+
|
4
|
+
Kameleon should be seen as a simple but powerful tool to generate customized
|
5
|
+
appliances. With Kameleon, you make your recipe that describes how to create
|
6
|
+
step by step your own distribution. At start Kameleon is used to create custom
|
7
|
+
kvm, LXC, VirtualBox, iso images, ..., but as it is designed to be very generic
|
8
|
+
you can probably do a lot more than that.
|
9
|
+
|
10
|
+
------------
|
11
|
+
Installation
|
12
|
+
------------
|
13
|
+
|
14
|
+
To install the latest release from `RubyGems`_:
|
15
|
+
|
16
|
+
.. _RubyGems: https://rubygems.org/gems/kameleon-builder
|
17
|
+
|
18
|
+
::
|
19
|
+
|
20
|
+
gem install kameleon-builder --pre
|
21
|
+
|
22
|
+
Or from source:
|
23
|
+
|
24
|
+
::
|
25
|
+
|
26
|
+
git clone https://github.com/oar-team/kameleon.git
|
27
|
+
cd kameleon
|
28
|
+
gem build kameleon-builder.gemspec
|
29
|
+
gem install kameleon-builder-<version>.gem
|
30
|
+
|
31
|
+
|
32
|
+
-----
|
33
|
+
Usage
|
34
|
+
-----
|
35
|
+
|
36
|
+
Just type
|
37
|
+
|
38
|
+
::
|
39
|
+
|
40
|
+
kameleon
|
41
|
+
|
42
|
+
...to see the cli help :
|
43
|
+
|
44
|
+
::
|
45
|
+
|
46
|
+
Commands:
|
47
|
+
kameleon build [RECIPE_NAME] # Builds the appliance from the recipe
|
48
|
+
kameleon checkpoints [RECIPE_NAME] # Lists all availables checkpoints
|
49
|
+
kameleon clear [RECIPE_NAME] # Cleaning out context and removing all checkpoints
|
50
|
+
kameleon help [COMMAND] # Describe available commands or one specific command
|
51
|
+
kameleon new [RECIPE_NAME] -t, --template=TEMPLATE # Creates a new recipe
|
52
|
+
kameleon templates # Lists all defined templates
|
53
|
+
kameleon version # Prints the Kameleon's version information
|
54
|
+
|
55
|
+
Options:
|
56
|
+
[--no-color] # Disable colorization in output
|
57
|
+
[--debug] # Enable debug output
|
58
|
+
-w, [--workspace=WORKSPACE] # Change the kameleon current work directory. (The folder containing your
|
59
|
+
# recipes folder). Default : ./
|
60
|
+
|
61
|
+
First, you should select a template. To see the available templates use:
|
62
|
+
|
63
|
+
::
|
64
|
+
|
65
|
+
kameleon templates
|
66
|
+
|
67
|
+
Then, create a new recipe from the template you've just choose. This will
|
68
|
+
create a `recipes` folder in the current directory. (use `-w` option to set a
|
69
|
+
different workspace).
|
70
|
+
|
71
|
+
::
|
72
|
+
|
73
|
+
kameleon new my_test_recipe -t template_name
|
74
|
+
|
75
|
+
Then build your new recipe with the build command:
|
76
|
+
|
77
|
+
::
|
78
|
+
|
79
|
+
kameleon build my_test_recipe
|
80
|
+
|
81
|
+
A `builds` directory was created and contains your new image!
|
82
|
+
|
83
|
+
To go further, it is highly recommended you start with the :doc:`getting_started`
|
84
|
+
guide.
|
85
|
+
|
86
|
+
------------
|
87
|
+
Contributing
|
88
|
+
------------
|
89
|
+
|
90
|
+
|
91
|
+
1. Fork it
|
92
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
93
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
94
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
95
|
+
5. Create new Pull Request
|
data/Vagrantfile
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
# -*- mode: ruby -*-
|
2
2
|
# vi: set ft=ruby :
|
3
3
|
|
4
|
-
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'
|
5
4
|
|
6
5
|
Vagrant.configure("2") do |config|
|
7
6
|
config.vm.box = "debian7-dev"
|
8
|
-
config.vm.box_url = "http://cdn.quicker.fr/vagrant/
|
7
|
+
config.vm.box_url = "http://cdn.quicker.fr/vagrant/virtualbox/debian7-dev.box"
|
9
8
|
config.vm.hostname = "kameleon-devel"
|
10
9
|
|
11
10
|
# Config provider
|
12
|
-
config.vm.provider :
|
11
|
+
config.vm.provider :virtualbox do |vm|
|
13
12
|
vm.memory = 2024
|
14
13
|
vm.cpus = 2
|
15
14
|
end
|
data/docs/source/conf.py
CHANGED
@@ -50,9 +50,11 @@ copyright = u'%s, Inria.fr' % datetime.datetime.now().year
|
|
50
50
|
# built documents.
|
51
51
|
#
|
52
52
|
# The short X.Y version.
|
53
|
-
|
54
|
-
|
55
|
-
release =
|
53
|
+
with open(os.path.join(os.path.dirname(__file__), '..', '..',
|
54
|
+
'version.txt')) as init_py:
|
55
|
+
release = init_py.read().strip()
|
56
|
+
# The short X.Y version.
|
57
|
+
version = release.rstrip('.dev')
|
56
58
|
|
57
59
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
58
60
|
# for a list of supported languages.
|
data/docs/source/faq.rst
CHANGED
data/docs/source/index.rst
CHANGED
@@ -6,6 +6,14 @@
|
|
6
6
|
Welcome to Kameleon's documentation!
|
7
7
|
====================================
|
8
8
|
|
9
|
+
|
10
|
+
.. note::
|
11
|
+
This documentation is currently being written...
|
12
|
+
|
13
|
+
-----
|
14
|
+
About
|
15
|
+
-----
|
16
|
+
|
9
17
|
Kameleon should be seen as a simple but powerful tool to generate customized
|
10
18
|
appliances. With Kameleon, you make your recipe that describes how to create
|
11
19
|
step by step your own distribution. At start Kameleon is used to create custom
|
@@ -13,13 +21,16 @@ kvm, LXC, VirtualBox, iso images, ..., but as it is designed to be very generic
|
|
13
21
|
you can probably do a lot more than that.
|
14
22
|
|
15
23
|
|
24
|
+
------------------
|
25
|
+
User Documentation
|
26
|
+
------------------
|
27
|
+
|
28
|
+
|
16
29
|
.. toctree::
|
17
30
|
:maxdepth: 2
|
18
31
|
|
19
|
-
why.rst
|
20
32
|
installation.rst
|
21
33
|
getting_started.rst
|
22
|
-
cli.rst
|
23
34
|
recipe.rst
|
24
35
|
context.rst
|
25
36
|
commands.rst
|
@@ -28,7 +39,6 @@ you can probably do a lot more than that.
|
|
28
39
|
aliases.rst
|
29
40
|
faq.rst
|
30
41
|
|
31
|
-
|
32
42
|
Indices and tables
|
33
43
|
==================
|
34
44
|
|
@@ -1,3 +1,21 @@
|
|
1
1
|
------------
|
2
2
|
Installation
|
3
3
|
------------
|
4
|
+
|
5
|
+
|
6
|
+
To install the latest release from `RubyGems`_:
|
7
|
+
|
8
|
+
.. _RubyGems: https://rubygems.org/gems/kameleon-builder
|
9
|
+
|
10
|
+
::
|
11
|
+
|
12
|
+
gem install kameleon-builder --pre
|
13
|
+
|
14
|
+
Or from source:
|
15
|
+
|
16
|
+
::
|
17
|
+
|
18
|
+
git clone https://github.com/oar-team/kameleon.git
|
19
|
+
cd kameleon
|
20
|
+
gem build kameleon-builder.gemspec
|
21
|
+
gem install kameleon-builder-<version>.gem
|
data/docs/source/recipe.rst
CHANGED
@@ -34,31 +34,31 @@ This is an example of a recipe:
|
|
34
34
|
rootfs: $$kameleon_cwd/rootfs
|
35
35
|
user_name: kameleon
|
36
36
|
arch: amd64
|
37
|
-
|
37
|
+
|
38
38
|
nbd_device: /dev/nbd10
|
39
39
|
container: "$${kameleon_recipe_name}_temp.qcow2"
|
40
|
-
|
40
|
+
|
41
41
|
distrib: debian
|
42
42
|
release: wheezy
|
43
|
-
|
43
|
+
|
44
44
|
## System variables. Required by kameleon engine
|
45
45
|
# Include specific steps
|
46
46
|
include_steps: [$$distrib/$$release, $$distrib]
|
47
|
-
|
47
|
+
|
48
48
|
# Shell session from where we launch exec_out commands. There is often a
|
49
49
|
# local bash session, but it can be a remote shell on other machines or on
|
50
50
|
# any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...)
|
51
51
|
out_context:
|
52
52
|
cmd: bash
|
53
53
|
workdir: $$kameleon_cwd
|
54
|
-
|
54
|
+
|
55
55
|
# Shell session that allows us to connect to the building machine in order to
|
56
56
|
# configure it and setup additional programs
|
57
57
|
default_env: "USER=root HOME=/root LC_ALL=POSIX"
|
58
58
|
in_context:
|
59
59
|
cmd: $$default_env chroot $$rootfs bash
|
60
60
|
workdir: /
|
61
|
-
|
61
|
+
|
62
62
|
#== Bootstrap the new system and create the 'in_context'
|
63
63
|
bootstrap:
|
64
64
|
- debootstrap:
|
@@ -73,8 +73,8 @@ This is an example of a recipe:
|
|
73
73
|
- rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/debootstrap.tar.gz
|
74
74
|
- start_chroot:
|
75
75
|
- rootfs: $$rootfs
|
76
|
-
|
77
|
-
|
76
|
+
|
77
|
+
|
78
78
|
#== Install and configuration steps
|
79
79
|
# WARNING: this part should be independante from the build context (whenever
|
80
80
|
# possible...)
|
@@ -98,7 +98,7 @@ This is an example of a recipe:
|
|
98
98
|
- name: $$user_name
|
99
99
|
- group: admin
|
100
100
|
- password: $$user_name
|
101
|
-
|
101
|
+
|
102
102
|
#== Export the generated appliance in the format of your choice
|
103
103
|
export:
|
104
104
|
- save_appliance_from_nbd:
|
data/lib/kameleon/shell.rb
CHANGED
data/lib/kameleon/version.rb
CHANGED
data/version.txt
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kameleon-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0
|
5
|
-
prerelease: 6
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Salem Harrache
|
@@ -12,12 +11,11 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2014-02-
|
14
|
+
date: 2014-02-17 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: childprocess
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
20
|
- - ~>
|
23
21
|
- !ruby/object:Gem::Version
|
@@ -25,7 +23,6 @@ dependencies:
|
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
27
|
- - ~>
|
31
28
|
- !ruby/object:Gem::Version
|
@@ -33,7 +30,6 @@ dependencies:
|
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: thor
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
34
|
- - ~>
|
39
35
|
- !ruby/object:Gem::Version
|
@@ -41,7 +37,6 @@ dependencies:
|
|
41
37
|
type: :runtime
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
41
|
- - ~>
|
47
42
|
- !ruby/object:Gem::Version
|
@@ -49,7 +44,6 @@ dependencies:
|
|
49
44
|
- !ruby/object:Gem::Dependency
|
50
45
|
name: table_print
|
51
46
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
47
|
requirements:
|
54
48
|
- - ~>
|
55
49
|
- !ruby/object:Gem::Version
|
@@ -57,7 +51,6 @@ dependencies:
|
|
57
51
|
type: :runtime
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
54
|
requirements:
|
62
55
|
- - ~>
|
63
56
|
- !ruby/object:Gem::Version
|
@@ -65,7 +58,6 @@ dependencies:
|
|
65
58
|
- !ruby/object:Gem::Dependency
|
66
59
|
name: log4r-color
|
67
60
|
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
61
|
requirements:
|
70
62
|
- - ~>
|
71
63
|
- !ruby/object:Gem::Version
|
@@ -73,7 +65,6 @@ dependencies:
|
|
73
65
|
type: :runtime
|
74
66
|
prerelease: false
|
75
67
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
68
|
requirements:
|
78
69
|
- - ~>
|
79
70
|
- !ruby/object:Gem::Version
|
@@ -81,7 +72,6 @@ dependencies:
|
|
81
72
|
- !ruby/object:Gem::Dependency
|
82
73
|
name: pry
|
83
74
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
75
|
requirements:
|
86
76
|
- - ~>
|
87
77
|
- !ruby/object:Gem::Version
|
@@ -89,7 +79,6 @@ dependencies:
|
|
89
79
|
type: :development
|
90
80
|
prerelease: false
|
91
81
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
82
|
requirements:
|
94
83
|
- - ~>
|
95
84
|
- !ruby/object:Gem::Version
|
@@ -97,7 +86,6 @@ dependencies:
|
|
97
86
|
- !ruby/object:Gem::Dependency
|
98
87
|
name: pry-debugger
|
99
88
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
89
|
requirements:
|
102
90
|
- - ~>
|
103
91
|
- !ruby/object:Gem::Version
|
@@ -105,7 +93,6 @@ dependencies:
|
|
105
93
|
type: :development
|
106
94
|
prerelease: false
|
107
95
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
96
|
requirements:
|
110
97
|
- - ~>
|
111
98
|
- !ruby/object:Gem::Version
|
@@ -113,7 +100,6 @@ dependencies:
|
|
113
100
|
- !ruby/object:Gem::Dependency
|
114
101
|
name: rake
|
115
102
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
103
|
requirements:
|
118
104
|
- - ~>
|
119
105
|
- !ruby/object:Gem::Version
|
@@ -121,7 +107,6 @@ dependencies:
|
|
121
107
|
type: :development
|
122
108
|
prerelease: false
|
123
109
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
110
|
requirements:
|
126
111
|
- - ~>
|
127
112
|
- !ruby/object:Gem::Version
|
@@ -129,7 +114,6 @@ dependencies:
|
|
129
114
|
- !ruby/object:Gem::Dependency
|
130
115
|
name: minitest
|
131
116
|
requirement: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
117
|
requirements:
|
134
118
|
- - ~>
|
135
119
|
- !ruby/object:Gem::Version
|
@@ -137,7 +121,6 @@ dependencies:
|
|
137
121
|
type: :development
|
138
122
|
prerelease: false
|
139
123
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
124
|
requirements:
|
142
125
|
- - ~>
|
143
126
|
- !ruby/object:Gem::Version
|
@@ -145,7 +128,6 @@ dependencies:
|
|
145
128
|
- !ruby/object:Gem::Dependency
|
146
129
|
name: coveralls
|
147
130
|
requirement: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
131
|
requirements:
|
150
132
|
- - ~>
|
151
133
|
- !ruby/object:Gem::Version
|
@@ -153,7 +135,6 @@ dependencies:
|
|
153
135
|
type: :development
|
154
136
|
prerelease: false
|
155
137
|
version_requirements: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
138
|
requirements:
|
158
139
|
- - ~>
|
159
140
|
- !ruby/object:Gem::Version
|
@@ -173,10 +154,9 @@ files:
|
|
173
154
|
- .env
|
174
155
|
- .gitignore
|
175
156
|
- AUTHORS
|
176
|
-
- CHANGELOG
|
177
157
|
- COPYING
|
178
158
|
- Gemfile
|
179
|
-
- README.
|
159
|
+
- README.rst
|
180
160
|
- Rakefile
|
181
161
|
- Vagrantfile
|
182
162
|
- bin/kameleon
|
@@ -205,7 +185,6 @@ files:
|
|
205
185
|
- docs/source/_static/.gitignore
|
206
186
|
- docs/source/aliases.rst
|
207
187
|
- docs/source/checkpoint.rst
|
208
|
-
- docs/source/cli.rst
|
209
188
|
- docs/source/commands.rst
|
210
189
|
- docs/source/conf.py
|
211
190
|
- docs/source/context.rst
|
@@ -214,7 +193,6 @@ files:
|
|
214
193
|
- docs/source/index.rst
|
215
194
|
- docs/source/installation.rst
|
216
195
|
- docs/source/recipe.rst
|
217
|
-
- docs/source/why.rst
|
218
196
|
- docs/source/workspace.rst
|
219
197
|
- kameleon-builder.gemspec
|
220
198
|
- lib/kameleon.rb
|
@@ -263,30 +241,30 @@ files:
|
|
263
241
|
- tests/test_context.rb
|
264
242
|
- tests/test_recipe.rb
|
265
243
|
- tests/test_version.rb
|
244
|
+
- version.txt
|
266
245
|
homepage: http://kameleon.readthedocs.org/
|
267
246
|
licenses:
|
268
247
|
- GPL-2
|
248
|
+
metadata: {}
|
269
249
|
post_install_message:
|
270
250
|
rdoc_options: []
|
271
251
|
require_paths:
|
272
252
|
- lib
|
273
253
|
required_ruby_version: !ruby/object:Gem::Requirement
|
274
|
-
none: false
|
275
254
|
requirements:
|
276
|
-
- -
|
255
|
+
- - '>='
|
277
256
|
- !ruby/object:Gem::Version
|
278
257
|
version: '0'
|
279
258
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
|
-
none: false
|
281
259
|
requirements:
|
282
|
-
- -
|
260
|
+
- - '>='
|
283
261
|
- !ruby/object:Gem::Version
|
284
|
-
version:
|
262
|
+
version: '0'
|
285
263
|
requirements: []
|
286
264
|
rubyforge_project:
|
287
|
-
rubygems_version: 1.
|
265
|
+
rubygems_version: 2.1.11
|
288
266
|
signing_key:
|
289
|
-
specification_version:
|
267
|
+
specification_version: 4
|
290
268
|
summary: Kameleon is a tool to build virtual machines from scratch
|
291
269
|
test_files:
|
292
270
|
- tests/helper.rb
|
data/CHANGELOG
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
KAMELEON CHANGELOG
|
2
|
-
==================
|
3
|
-
|
4
|
-
1.2.9: (unreleased)
|
5
|
-
------
|
6
|
-
- debian/system_config: the keyboard layout is now defined by the one used on
|
7
|
-
the build system.
|
8
|
-
|
9
|
-
1.2.8:
|
10
|
-
------
|
11
|
-
- Closes the bash session and wait 1 second before starting the cleaning
|
12
|
-
script even if not interrupted.
|
13
|
-
- Some modifications in the kameleon appliance recipe.
|
14
|
-
|
15
|
-
1.2.7:
|
16
|
-
------
|
17
|
-
- Add a new step 'build_appliance_kpartx' for build appliance that use kpartx
|
18
|
-
instead of kvm-nbd (speed up the copy)
|
19
|
-
- 'build_appliance_kpartx': the rsync *never* copy /proc
|
20
|
-
- Add a new step 'chroot_in_tmpfs' to put the chroot in tmpfs at the beginning
|
21
|
-
- Fix a bug in the path searching for the recipes/steps
|
22
|
-
- Closes the bash session and wait 1 second before starting the cleaning script.
|
23
|
-
|
24
|
-
1.2.6:
|
25
|
-
------
|
26
|
-
- Add the possibility to include steps/recipes path with the option '-i'
|
27
|
-
- "checkpoint_resume" copy the resolv.conf
|
28
|
-
|
29
|
-
1.2.4:
|
30
|
-
------
|
31
|
-
- Remove the rubygem dependency (the package ruby-session exist now in debian)
|
32
|
-
|
33
|
-
1.2.2:
|
34
|
-
------
|
35
|
-
- Now support contexts (see example into debian.yaml recipe)
|
36
|
-
- New "exec_on_clean" microstep command to ease cleaning (reverse order execution)
|
data/README.md
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
# Kameleon
|
2
|
-
|
3
|
-
Kameleon should be seen as a simple but powerful tool to generate customized
|
4
|
-
appliances. With Kameleon, you make your recipe that describes how to create
|
5
|
-
step by step your own distribution. At start Kameleon is used to create custom
|
6
|
-
kvm, LXC, VirtualBox, iso images, ..., but as it is designed to be very
|
7
|
-
generic you can probably do a lot more than that.
|
8
|
-
|
9
|
-
## Installation
|
10
|
-
Simply install it from the Gem repository (not working yet):
|
11
|
-
|
12
|
-
gem install kameleon
|
13
|
-
|
14
|
-
Or from source:
|
15
|
-
|
16
|
-
git clone git://scm.gforge.inria.fr/kameleon/kameleon.git
|
17
|
-
cd kameleon
|
18
|
-
gem build kameleon.gemspec
|
19
|
-
gem install kameleon-<version>.gem
|
20
|
-
|
21
|
-
## Usage
|
22
|
-
|
23
|
-
Just type:
|
24
|
-
|
25
|
-
kameleon
|
26
|
-
|
27
|
-
## Quick start
|
28
|
-
|
29
|
-
First, you should select a template. To see the available templates use:
|
30
|
-
|
31
|
-
kameleon templates
|
32
|
-
|
33
|
-
Then, create a new recipe from the template you've just choose. This will
|
34
|
-
create a `recipes` folder in the current directory. (use `-w` option to set a
|
35
|
-
different workspace).
|
36
|
-
|
37
|
-
kameleon new my_test_recipe -t template_name
|
38
|
-
|
39
|
-
Then build your new recipe with the build command:
|
40
|
-
|
41
|
-
kameleon build my_test_recipe
|
42
|
-
|
43
|
-
A `builds` directory was created and contains your new image!
|
44
|
-
|
45
|
-
To go further, get more documentation in the docs folder.
|
46
|
-
|
47
|
-
## Contributing
|
48
|
-
|
49
|
-
1. Fork it
|
50
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
51
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
52
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
53
|
-
5. Create new Pull Request
|
data/docs/source/cli.rst
DELETED
data/docs/source/why.rst
DELETED