PackerFiles 0.0.1
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/.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
|