PackerFiles 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/PackerFiles.gemspec +36 -0
- data/README.md +32 -0
- data/Rakefile +21 -0
- data/bin/pkf +5 -0
- data/lib/PackerFiles/CLI/OS.rb +44 -0
- data/lib/PackerFiles/CLI/Root.rb +41 -0
- data/lib/PackerFiles/Core/Base.rb +23 -0
- data/lib/PackerFiles/Core/CDImage.rb +185 -0
- data/lib/PackerFiles/Core/Disk.rb +135 -0
- data/lib/PackerFiles/Core/Exceptions.rb +65 -0
- data/lib/PackerFiles/Core/Hypervisor.rb +96 -0
- data/lib/PackerFiles/Core/Keyboard.rb +38 -0
- data/lib/PackerFiles/Core/Locale.rb +62 -0
- data/lib/PackerFiles/Core/LogicalVolume.rb +41 -0
- data/lib/PackerFiles/Core/Network.rb +67 -0
- data/lib/PackerFiles/Core/Packages.rb +30 -0
- data/lib/PackerFiles/Core/Partition.rb +41 -0
- data/lib/PackerFiles/Core/TimeZone.rb +45 -0
- data/lib/PackerFiles/Core/User.rb +46 -0
- data/lib/PackerFiles/Core/VolumeGroup.rb +50 -0
- data/lib/PackerFiles/Core/example/CDImage.txt +75 -0
- data/lib/PackerFiles/Core/example/Disk.txt +29 -0
- data/lib/PackerFiles/Core/example/Hypervisor.txt +111 -0
- data/lib/PackerFiles/Core/example/Keyboard.txt +28 -0
- data/lib/PackerFiles/Core/example/Locale.txt +31 -0
- data/lib/PackerFiles/Core/example/Network.txt +68 -0
- data/lib/PackerFiles/Core/example/Packages.txt +22 -0
- data/lib/PackerFiles/Core/example/TimeZone.txt +36 -0
- data/lib/PackerFiles/Core/example/User.txt +48 -0
- data/lib/PackerFiles/OS/Builder.rb +116 -0
- data/lib/PackerFiles/OS/CentOS/CD.rb +81 -0
- data/lib/PackerFiles/OS/CentOS/Kickstart.rb +64 -0
- data/lib/PackerFiles/OS/CentOS/Server.rb +170 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Base_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Disk_erb.rb +35 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Keyboard_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Locale_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Network_erb.rb +17 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Packages_erb.rb +34 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Tail_erb.rb +15 -0
- data/lib/PackerFiles/OS/CentOS/Templates/TimeZone_erb.rb +10 -0
- data/lib/PackerFiles/OS/CentOS/Templates/User_erb.rb +20 -0
- data/lib/PackerFiles/OS/CentOS/Templates/boot_command_erb.rb +16 -0
- data/lib/PackerFiles/OS/CentOS/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/disable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Apt.rb +42 -0
- data/lib/PackerFiles/OS/Debian/CD.rb +65 -0
- data/lib/PackerFiles/OS/Debian/Mirrors.rb +73 -0
- data/lib/PackerFiles/OS/Debian/Preseed.rb +64 -0
- data/lib/PackerFiles/OS/Debian/Server.rb +169 -0
- data/lib/PackerFiles/OS/Debian/Templates/Apt_erb.rb +18 -0
- data/lib/PackerFiles/OS/Debian/Templates/Disk_erb.rb +69 -0
- data/lib/PackerFiles/OS/Debian/Templates/Keyboard_erb.rb +5 -0
- data/lib/PackerFiles/OS/Debian/Templates/Locale_erb.rb +7 -0
- data/lib/PackerFiles/OS/Debian/Templates/Mirrors_erb.rb +9 -0
- data/lib/PackerFiles/OS/Debian/Templates/Network_erb.rb +19 -0
- data/lib/PackerFiles/OS/Debian/Templates/Packages_erb.rb +6 -0
- data/lib/PackerFiles/OS/Debian/Templates/TimeZone_erb.rb +6 -0
- data/lib/PackerFiles/OS/Debian/Templates/User_erb.rb +14 -0
- data/lib/PackerFiles/OS/Debian/Templates/boot_command_erb.rb +24 -0
- data/lib/PackerFiles/OS/Debian/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Templates/disable_root_erb.rb +5 -0
- data/lib/PackerFiles/OS/Debian/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/example/Apt.txt +55 -0
- data/lib/PackerFiles/OS/DocGenerator.rb +51 -0
- data/lib/PackerFiles/OS/Finder.rb +96 -0
- data/lib/PackerFiles/OS/RHEL/CD.rb +32 -0
- data/lib/PackerFiles/OS/RHEL/Fedora.rb +59 -0
- data/lib/PackerFiles/OS/RHEL/FedoraCD.rb +68 -0
- data/lib/PackerFiles/OS/RHEL/Server.rb +32 -0
- data/lib/PackerFiles/OS/RHEL/Templates/Fedora_Tail_erb.rb +14 -0
- data/lib/PackerFiles/OS/RHEL/Templates/boot_command_fedora_erb.rb +16 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Base_erb.xml +32 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Disk_erb.xml +110 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Keyboard_erb.xml +7 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Locale_erb.xml +18 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Network_erb.xml +143 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Packages_erb.xml +29 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Tail_erb.xml +4 -0
- data/lib/PackerFiles/OS/SUSE/Templates/TimeZone_erb.xml +15 -0
- data/lib/PackerFiles/OS/SUSE/Templates/User_erb.xml +57 -0
- data/lib/PackerFiles/OS/SUSE/Templates/boot_command_erb.rb +23 -0
- data/lib/PackerFiles/OS/SUSE/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/disable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Ubuntu/CD.rb +81 -0
- data/lib/PackerFiles/OS/Ubuntu/Desktop.rb +50 -0
- data/lib/PackerFiles/OS/Ubuntu/DesktopCD.rb +16 -0
- data/lib/PackerFiles/OS/Ubuntu/Mirrors.rb +103 -0
- data/lib/PackerFiles/OS/Ubuntu/Server.rb +78 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/Apt_erb.rb +18 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_desktop_erb.rb +36 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_erb.rb +30 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/ubiquity_erb.rb +8 -0
- data/lib/PackerFiles/OS/example/Doc.txt +8 -0
- data/lib/PackerFiles/Provision/Base.rb +20 -0
- data/lib/PackerFiles/Provision/ChefSolo.rb +90 -0
- data/lib/PackerFiles/Provision/ChefSoloHelper.rb +72 -0
- data/lib/PackerFiles/Provision/Copy.rb +22 -0
- data/lib/PackerFiles/Provision/ExternalScript.rb +43 -0
- data/lib/PackerFiles/Provision/InlineScript.rb +37 -0
- data/lib/PackerFiles/Provision/Provisioners.rb +87 -0
- data/lib/PackerFiles/Provision/example/Provisioners.txt +21 -0
- data/lib/PackerFiles/Utils/AutoZone.rb +96 -0
- data/lib/PackerFiles/Utils/FastestURL.rb +73 -0
- data/lib/PackerFiles/Utils/Generator.rb +34 -0
- data/lib/PackerFiles/Utils/HashSerializer.rb +110 -0
- data/lib/PackerFiles/Utils/Size.rb +44 -0
- data/lib/PackerFiles/Utils/TypeAccessor.rb +71 -0
- data/lib/PackerFiles/Virtual/Hypervisors.rb +72 -0
- data/lib/PackerFiles/Virtual/KVM.rb +119 -0
- data/lib/PackerFiles/Virtual/KVMConverter.rb +79 -0
- data/lib/PackerFiles/Virtual/VMWare.rb +108 -0
- data/lib/PackerFiles/Virtual/VMWareConverter.rb +78 -0
- data/lib/PackerFiles/Virtual/VirtualBox.rb +98 -0
- data/lib/PackerFiles/Virtual/VirtualBoxConverter.rb +75 -0
- data/lib/PackerFiles/Virtual/example/Hypervisors.txt +23 -0
- data/lib/PackerFiles/version.rb +3 -0
- data/lib/PackerFiles.rb +44 -0
- data/spec/core/builder_spec.rb +84 -0
- data/spec/core/cdimage_spec.rb +159 -0
- data/spec/core/disk_spec.rb +191 -0
- data/spec/core/keyboard_spec.rb +36 -0
- data/spec/core/locale_spec.rb +73 -0
- data/spec/core/network_spec.rb +96 -0
- data/spec/core/packages_spec.rb +18 -0
- data/spec/core/timezone_spec.rb +43 -0
- data/spec/core/user_spec.rb +44 -0
- data/spec/core/volume_group_spec.rb +53 -0
- data/spec/os/centos/cd_spec.rb +12 -0
- data/spec/os/centos/data/Server-Script-Provisioner.rb +57 -0
- data/spec/os/centos/data/Server.rb +55 -0
- data/spec/os/centos/data/chef-solo-provisioner.rb +58 -0
- data/spec/os/centos/finder_spec.rb +22 -0
- data/spec/os/centos/templates/boot_command_spec.rb +57 -0
- data/spec/os/centos/templates/disk_spec.rb +79 -0
- data/spec/os/centos/templates/keyboard_spec.rb +18 -0
- data/spec/os/centos/templates/locale_spec.rb +26 -0
- data/spec/os/centos/templates/network_spec.rb +38 -0
- data/spec/os/centos/templates/packages_spec.rb +18 -0
- data/spec/os/centos/templates/timezone_spec.rb +37 -0
- data/spec/os/centos/templates/user_spec.rb +24 -0
- data/spec/os/debian/apt_spec.rb +50 -0
- data/spec/os/debian/cd_spec.rb +30 -0
- data/spec/os/debian/data/7zip.tar.gz +0 -0
- data/spec/os/debian/data/All-sections.rb +60 -0
- data/spec/os/debian/data/Chef-Solo-Provisioner.rb +60 -0
- data/spec/os/debian/data/Copy-Provisioner.rb +61 -0
- data/spec/os/debian/data/External-Script-Provisioner.rb +69 -0
- data/spec/os/debian/data/Missing-CDImage.rb +53 -0
- data/spec/os/debian/data/Missing-VMWare-KVM-sections.rb +51 -0
- data/spec/os/debian/data/Missing-sections.rb +53 -0
- data/spec/os/debian/data/Script-Provisioner.rb +62 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/Berksfile.lock +32 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/README.md +81 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/attributes/default.rb +3 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/metadata.rb +11 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/recipes/default.rb +30 -0
- data/spec/os/debian/data/chef-solo.json +5 -0
- data/spec/os/debian/data/test-script.sh +4 -0
- data/spec/os/debian/finder_spec.rb +59 -0
- data/spec/os/debian/mirrors_spec.rb +18 -0
- data/spec/os/debian/preseed_spec.rb +56 -0
- data/spec/os/debian/server_spec.rb +59 -0
- data/spec/os/debian/templates/apt_spec.rb +20 -0
- data/spec/os/debian/templates/boot_command_spec.rb +56 -0
- data/spec/os/debian/templates/disk_spec.rb +81 -0
- data/spec/os/debian/templates/keyboard_spec.rb +18 -0
- data/spec/os/debian/templates/locale_spec.rb +36 -0
- data/spec/os/debian/templates/mirrors_spec.rb +16 -0
- data/spec/os/debian/templates/network_spec.rb +38 -0
- data/spec/os/debian/templates/packages_spec.rb +17 -0
- data/spec/os/debian/templates/timezone_spec.rb +36 -0
- data/spec/os/debian/templates/user_spec.rb +25 -0
- data/spec/os/finder_spec.rb +21 -0
- data/spec/os/rhel/data/Fedora.rb +45 -0
- data/spec/os/rhel/data/Server-Custom.rb +54 -0
- data/spec/os/rhel/data/Server.rb +45 -0
- data/spec/os/rhel/finder_spec.rb +21 -0
- data/spec/os/ubuntu/cd_spec.rb +28 -0
- data/spec/os/ubuntu/data/Desktop.rb +61 -0
- data/spec/os/ubuntu/data/Server.rb +61 -0
- data/spec/os/ubuntu/finder_spec.rb +17 -0
- data/spec/os/ubuntu/mirrors_spec.rb +18 -0
- data/spec/utils/autozone_spec.rb +33 -0
- data/spec/virtual/virtual_box_spec.rb +16 -0
- metadata +405 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
# Test file for DebianCD class in Debian Server OS
|
2
|
+
require 'OS/Debian/CD'
|
3
|
+
|
4
|
+
# Describe test cases
|
5
|
+
describe PackerFiles::Debian::CD do
|
6
|
+
|
7
|
+
# Check for very basic variables
|
8
|
+
it 'checks url list' do
|
9
|
+
cd = PackerFiles::Debian::CD.new
|
10
|
+
cd.get_iso_name_pattern.should include('@arch@')
|
11
|
+
cd.get_check_sum_pattern.should include('MD5SUMS')
|
12
|
+
cd.get_check_sum_type.should include('md5')
|
13
|
+
end
|
14
|
+
|
15
|
+
# Check for very basic variables
|
16
|
+
it 'checks if the URL list is correct for a given Country' do
|
17
|
+
cd = PackerFiles::Debian::CD.new
|
18
|
+
cd.get_iso_name_pattern.should include('@arch@')
|
19
|
+
cd.get_check_sum_pattern.should include('MD5SUMS')
|
20
|
+
cd.get_check_sum_type.should include('md5')
|
21
|
+
urls = cd.index_urls
|
22
|
+
urls.size.should >= 2
|
23
|
+
urls.each do |url|
|
24
|
+
url.should include('@release@')
|
25
|
+
url.should include('@arch@')
|
26
|
+
url.should include('iso-cd/')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
Binary file
|
@@ -0,0 +1,60 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '7.6.0'
|
40
|
+
var.arch = 'i386'
|
41
|
+
end
|
42
|
+
svr.Hypervisors do |h|
|
43
|
+
h.VirtualBox do |v|
|
44
|
+
v.cpu_count = 2
|
45
|
+
v.ram_size = '1GiB'
|
46
|
+
v.use_efi = false
|
47
|
+
end
|
48
|
+
h.KVM do |k|
|
49
|
+
k.cpu_count = 2
|
50
|
+
k.ram_size = '1GiB'
|
51
|
+
k.use_efi = false
|
52
|
+
end
|
53
|
+
h.VMWare do |v|
|
54
|
+
v.cpu_count = 2
|
55
|
+
v.ram_size = '1GiB'
|
56
|
+
v.use_efi = false
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.check_sum_type = 'md5'
|
42
|
+
end
|
43
|
+
svr.Hypervisors do |h|
|
44
|
+
h.VirtualBox do |v|
|
45
|
+
v.cpu_count = 2
|
46
|
+
v.ram_size = '1GiB'
|
47
|
+
v.use_efi = false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
svr.Provision do |prov|
|
51
|
+
prov.ChefSolo do |chef|
|
52
|
+
chef.cookbook_paths = [ 'spec/os/debian/data/chef-solo-cookbooks',
|
53
|
+
'spec/os/debian/data/7zip.tar.gz'
|
54
|
+
]
|
55
|
+
chef.run_list = [ 'git_setup' ]
|
56
|
+
chef.json = 'spec/os/debian/data/chef-solo.json'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.check_sum_type = 'md5'
|
42
|
+
end
|
43
|
+
svr.Hypervisors do |h|
|
44
|
+
h.VirtualBox do |v|
|
45
|
+
v.cpu_count = 2
|
46
|
+
v.ram_size = '1GiB'
|
47
|
+
v.use_efi = false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
svr.Provision do |prov|
|
51
|
+
prov.Copy do |cp|
|
52
|
+
cp.source = '/etc/bash.bashrc'
|
53
|
+
cp.destination = '/tmp/bashrc'
|
54
|
+
end
|
55
|
+
prov.Copy do |cp|
|
56
|
+
cp.source = '/etc/emacs/'
|
57
|
+
cp.destination = '/tmp/emacs/'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
@@ -0,0 +1,69 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.check_sum_type = 'md5'
|
42
|
+
end
|
43
|
+
svr.Hypervisors do |h|
|
44
|
+
h.VirtualBox do |v|
|
45
|
+
v.cpu_count = 2
|
46
|
+
v.ram_size = '1GiB'
|
47
|
+
v.use_efi = false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
svr.Provision do |prov|
|
51
|
+
prov.InlineScript do |script|
|
52
|
+
script.environment_vars = {'ABC' => 123}
|
53
|
+
script.execute_command = "echo vagrant | {{ .Vars }} sudo -E -S sh '{{ .Path }}'"
|
54
|
+
script.inline = <<-eos
|
55
|
+
echo $ABC
|
56
|
+
apt-get update
|
57
|
+
apt-get --yes install bison
|
58
|
+
eos
|
59
|
+
end
|
60
|
+
prov.ExternalScript do |external|
|
61
|
+
external.environment_vars = {'ABC' => 123}
|
62
|
+
external.execute_command = "echo vagrant | {{ .Vars }} sudo -E -S sh '{{ .Path }}'"
|
63
|
+
external.scripts = [
|
64
|
+
'spec/os/debian/data/test-script.sh'
|
65
|
+
]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = '/tmp/abcde'
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
# svr.CDImage do |var|
|
39
|
+
# var.release = '6.0.9'
|
40
|
+
# var.arch = 'i386'
|
41
|
+
# var.iso_url = 'http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso'
|
42
|
+
# var.check_sum = 'b125597ef23366594eb18b82352e06f9'
|
43
|
+
# var.check_sum_type = 'md5'
|
44
|
+
# end
|
45
|
+
svr.Hypervisors do |h|
|
46
|
+
h.VirtualBox do |v|
|
47
|
+
v.cpu_count = 2
|
48
|
+
v.ram_size = '1GiB'
|
49
|
+
v.use_efi = false
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.iso_url = 'http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso'
|
42
|
+
var.check_sum = 'b125597ef23366594eb18b82352e06f9'
|
43
|
+
var.check_sum_type = 'md5'
|
44
|
+
end
|
45
|
+
# svr.VirtualBox do |v|
|
46
|
+
# v.cpu_count = 2
|
47
|
+
# v.ram_size = '1GiB'
|
48
|
+
# v.use_efi = false
|
49
|
+
# end
|
50
|
+
end
|
51
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = '/tmp/abcde'
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
# svr.Apt do |apt|
|
36
|
+
# apt.tasks = ['standard']
|
37
|
+
# end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.iso_url = 'http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso'
|
42
|
+
var.check_sum = 'b125597ef23366594eb18b82352e06f9'
|
43
|
+
var.check_sum_type = 'md5'
|
44
|
+
end
|
45
|
+
svr.Hypervisors do |h|
|
46
|
+
h.VirtualBox do |v|
|
47
|
+
v.cpu_count = 2
|
48
|
+
v.ram_size = '1GiB'
|
49
|
+
v.use_efi = false
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
PackerFiles.Generate('Debian::Server') do |svr|
|
2
|
+
svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
|
3
|
+
svr.Locale do |l|
|
4
|
+
l.default = 'en_US'
|
5
|
+
end
|
6
|
+
svr.Keyboard do |k|
|
7
|
+
k.variant = 'us'
|
8
|
+
k.layout = 'us'
|
9
|
+
end
|
10
|
+
svr.TimeZone do |t|
|
11
|
+
t.zone = 'US/Eastern'
|
12
|
+
end
|
13
|
+
svr.Network do |n|
|
14
|
+
n.interface = 'eth0'
|
15
|
+
n.type = PackerFiles::Core::Network::IPV4
|
16
|
+
end
|
17
|
+
svr.User do |u|
|
18
|
+
u.login = 'vagrant'
|
19
|
+
u.name = 'vagrant'
|
20
|
+
u.password = 'vagrant'
|
21
|
+
u.uid = 900
|
22
|
+
end
|
23
|
+
svr.Disk do |d|
|
24
|
+
d.name = 'sda'
|
25
|
+
d.size = '20GiB'
|
26
|
+
end
|
27
|
+
svr.Packages do |p|
|
28
|
+
p.list = %w[
|
29
|
+
openssh-server sudo bzip2
|
30
|
+
acpid cryptsetup zlib1g-dev
|
31
|
+
wget curl dkms make
|
32
|
+
nfs-common
|
33
|
+
]
|
34
|
+
end
|
35
|
+
svr.Apt do |apt|
|
36
|
+
apt.tasks = ['standard']
|
37
|
+
end
|
38
|
+
svr.CDImage do |var|
|
39
|
+
var.release = '6.0.9'
|
40
|
+
var.arch = 'i386'
|
41
|
+
var.check_sum_type = 'md5'
|
42
|
+
end
|
43
|
+
svr.Hypervisors do |h|
|
44
|
+
h.VirtualBox do |v|
|
45
|
+
v.cpu_count = 2
|
46
|
+
v.ram_size = '1GiB'
|
47
|
+
v.use_efi = false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
svr.Provision do |prov|
|
51
|
+
prov.InlineScript do |script|
|
52
|
+
script.environment_vars = {'ABC' => 123}
|
53
|
+
script.execute_command = "echo vagrant | {{ .Vars }} sudo -E -S sh '{{ .Path }}'"
|
54
|
+
script.inline = <<-eos
|
55
|
+
echo $ABC
|
56
|
+
apt-get update
|
57
|
+
apt-get --yes install bison
|
58
|
+
eos
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
{
|
2
|
+
"sources": {
|
3
|
+
"git_setup": {
|
4
|
+
"path": "."
|
5
|
+
},
|
6
|
+
"git": {
|
7
|
+
"locked_version": "4.0.0"
|
8
|
+
},
|
9
|
+
"windows": {
|
10
|
+
"locked_version": "1.30.2"
|
11
|
+
},
|
12
|
+
"dmg": {
|
13
|
+
"locked_version": "2.2.0"
|
14
|
+
},
|
15
|
+
"build-essential": {
|
16
|
+
"locked_version": "2.0.0"
|
17
|
+
},
|
18
|
+
"runit": {
|
19
|
+
"locked_version": "1.5.10"
|
20
|
+
},
|
21
|
+
"yum": {
|
22
|
+
"locked_version": "3.2.0"
|
23
|
+
},
|
24
|
+
"yum-epel": {
|
25
|
+
"locked_version": "0.3.6"
|
26
|
+
},
|
27
|
+
"chef_handler": {
|
28
|
+
"locked_version": "1.1.6"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
@@ -0,0 +1,81 @@
|
|
1
|
+
git_setup Cookbook
|
2
|
+
==================
|
3
|
+
This wrapper cookbook sets up git for various platforms.
|
4
|
+
|
5
|
+
Requirements
|
6
|
+
============
|
7
|
+
|
8
|
+
## Ohai and Chef:
|
9
|
+
|
10
|
+
* Ohai: 0.6.12+
|
11
|
+
* Chef: 0.10.10+
|
12
|
+
|
13
|
+
As of v1.2.0, this cookbook makes use of `node['platform_family']` to
|
14
|
+
simplify platform selection logic. This attribute was introduced in
|
15
|
+
Ohai v0.6.12. The recipe methods were introduced in Chef v0.10.10.
|
16
|
+
|
17
|
+
## Cookbooks:
|
18
|
+
|
19
|
+
This cookbook depends upon the following cookbooks.
|
20
|
+
|
21
|
+
* git
|
22
|
+
* windows
|
23
|
+
* dmg
|
24
|
+
|
25
|
+
## Platforms:
|
26
|
+
|
27
|
+
The following platforms and versions are tested and supported using
|
28
|
+
Opscode's [test-kitchen](http://github.com/opscode/test-kitchen).
|
29
|
+
|
30
|
+
* Ubuntu 12.04, 13.10, 14.04
|
31
|
+
* CentOS 6.4, 6.5
|
32
|
+
* Windows 8
|
33
|
+
* Mac OS X
|
34
|
+
|
35
|
+
The following platform families are supported in the code, and are
|
36
|
+
assumed to work based on the successful testing on Ubuntu and CentOS.
|
37
|
+
|
38
|
+
* Debian
|
39
|
+
* Red Hat (rhel)
|
40
|
+
* Fedora
|
41
|
+
* Amazon Linux
|
42
|
+
|
43
|
+
Tests
|
44
|
+
=====
|
45
|
+
See .kitchen.yml for test suite description.
|
46
|
+
|
47
|
+
Attributes
|
48
|
+
==========
|
49
|
+
- None
|
50
|
+
|
51
|
+
Recipes
|
52
|
+
=======
|
53
|
+
|
54
|
+
default
|
55
|
+
-------
|
56
|
+
Installs git.
|
57
|
+
|
58
|
+
Usage
|
59
|
+
=====
|
60
|
+
|
61
|
+
Using this cookbook is relatively straightforward. Add the desired recipes to the run list of a node, as shown below
|
62
|
+
|
63
|
+
include_recipe 'git_setup'
|
64
|
+
|
65
|
+
License and Authors
|
66
|
+
===================
|
67
|
+
|
68
|
+
* Author:: Anand Venkatanarayanan <external_mails_anandv-github@yahoo.co.in>
|
69
|
+
|
70
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
71
|
+
you may not use this file except in compliance with the License.
|
72
|
+
You may obtain a copy of the License at
|
73
|
+
|
74
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
75
|
+
|
76
|
+
Unless required by applicable law or agreed to in writing, software
|
77
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
78
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
79
|
+
See the License for the specific language governing permissions and
|
80
|
+
limitations under the License.
|
81
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
name 'git_setup'
|
2
|
+
maintainer 'Anand Venkatanarayanan'
|
3
|
+
maintainer_email 'external_mails_anandv-github@yahoo.co.in'
|
4
|
+
license 'Apache 2.0'
|
5
|
+
description 'Installs/Configures git'
|
6
|
+
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
7
|
+
version '0.1.0'
|
8
|
+
recipe 'git_setup', 'installs and configures git'
|
9
|
+
|
10
|
+
# List all the OS that were tested with this cookbook
|
11
|
+
supports 'debian'
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: git_setup
|
3
|
+
# Recipe:: default
|
4
|
+
#
|
5
|
+
# Copyright 2013-20, Anand Venkatanarayanan
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
# Just include the default recipe and there is nothing more to do.
|
21
|
+
package "git" do
|
22
|
+
action :install
|
23
|
+
end
|
24
|
+
|
25
|
+
# Install documentation if asked for
|
26
|
+
if node['git_setup']['doc']
|
27
|
+
package "git-doc" do
|
28
|
+
action :install
|
29
|
+
end
|
30
|
+
end
|