service_kiosk 0.5.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.
- data/Vagrantfile +25 -0
- data/bin/kiosk +55 -0
- data/bin/start_kiosk.sh +3 -0
- data/lib/Procfile.kiosk +1 -0
- data/lib/internal_service.rb +59 -0
- data/lib/json-simple-1.1.1.jar +0 -0
- data/lib/kiosk.rb +57 -0
- data/lib/kiosks/logger/output_logger.rb +16 -0
- data/lib/mall.rb +77 -0
- data/lib/mallcop.rb +9 -0
- data/lib/remote_service.rb +61 -0
- data/lib/tasks/local_mall.rake +93 -0
- data/provision/bootstrap.sh +21 -0
- data/provision/manifests/default.pp +49 -0
- data/provision/modules/apt/CHANGELOG +83 -0
- data/provision/modules/apt/LICENSE +19 -0
- data/provision/modules/apt/Modulefile +14 -0
- data/provision/modules/apt/README.md +119 -0
- data/provision/modules/apt/Rakefile +1 -0
- data/provision/modules/apt/manifests/backports.pp +48 -0
- data/provision/modules/apt/manifests/builddep.pp +16 -0
- data/provision/modules/apt/manifests/conf.pp +18 -0
- data/provision/modules/apt/manifests/debian/testing.pp +21 -0
- data/provision/modules/apt/manifests/debian/unstable.pp +21 -0
- data/provision/modules/apt/manifests/force.pp +24 -0
- data/provision/modules/apt/manifests/init.pp +114 -0
- data/provision/modules/apt/manifests/key.pp +80 -0
- data/provision/modules/apt/manifests/params.pp +23 -0
- data/provision/modules/apt/manifests/pin.pp +48 -0
- data/provision/modules/apt/manifests/ppa.pp +49 -0
- data/provision/modules/apt/manifests/release.pp +17 -0
- data/provision/modules/apt/manifests/source.pp +83 -0
- data/provision/modules/apt/manifests/update.pp +9 -0
- data/provision/modules/apt/spec/classes/apt_spec.rb +129 -0
- data/provision/modules/apt/spec/classes/backports_spec.rb +71 -0
- data/provision/modules/apt/spec/classes/debian_testing_spec.rb +14 -0
- data/provision/modules/apt/spec/classes/debian_unstable_spec.rb +14 -0
- data/provision/modules/apt/spec/classes/params_spec.rb +13 -0
- data/provision/modules/apt/spec/classes/release_spec.rb +22 -0
- data/provision/modules/apt/spec/defines/builddep_spec.rb +18 -0
- data/provision/modules/apt/spec/defines/conf_spec.rb +57 -0
- data/provision/modules/apt/spec/defines/force_spec.rb +41 -0
- data/provision/modules/apt/spec/defines/key_spec.rb +123 -0
- data/provision/modules/apt/spec/defines/pin_spec.rb +58 -0
- data/provision/modules/apt/spec/defines/ppa_spec.rb +92 -0
- data/provision/modules/apt/spec/defines/source_spec.rb +158 -0
- data/provision/modules/apt/spec/fixtures/manifests/site.pp +0 -0
- data/provision/modules/apt/spec/spec_helper.rb +1 -0
- data/provision/modules/apt/templates/pin.pref.erb +5 -0
- data/provision/modules/apt/templates/source.list.erb +5 -0
- data/provision/modules/apt/tests/builddep.pp +2 -0
- data/provision/modules/apt/tests/debian/testing.pp +2 -0
- data/provision/modules/apt/tests/debian/unstable.pp +2 -0
- data/provision/modules/apt/tests/force.pp +7 -0
- data/provision/modules/apt/tests/init.pp +1 -0
- data/provision/modules/apt/tests/key.pp +5 -0
- data/provision/modules/apt/tests/params.pp +1 -0
- data/provision/modules/apt/tests/pin.pp +5 -0
- data/provision/modules/apt/tests/ppa.pp +4 -0
- data/provision/modules/apt/tests/release.pp +4 -0
- data/provision/modules/apt/tests/source.pp +29 -0
- data/provision/modules/stdlib/CHANGELOG +177 -0
- data/provision/modules/stdlib/LICENSE +19 -0
- data/provision/modules/stdlib/Modulefile +11 -0
- data/provision/modules/stdlib/README.markdown +929 -0
- data/provision/modules/stdlib/README_DEVELOPER.markdown +35 -0
- data/provision/modules/stdlib/RELEASE_PROCESS.markdown +24 -0
- data/provision/modules/stdlib/Rakefile +2 -0
- data/provision/modules/stdlib/lib/facter/pe_version.rb +53 -0
- data/provision/modules/stdlib/lib/facter/puppet_vardir.rb +26 -0
- data/provision/modules/stdlib/lib/facter/root_home.rb +19 -0
- data/provision/modules/stdlib/lib/facter/util/puppet_settings.rb +21 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/abs.rb +36 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +49 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +34 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/chomp.rb +35 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/chop.rb +37 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +35 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/delete.rb +46 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +49 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/downcase.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/empty.rb +28 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +24 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +35 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/flatten.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +46 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +17 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/getvar.rb +26 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/grep.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +52 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +25 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +25 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/has_key.rb +28 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/hash.rb +41 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_array.rb +22 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +47 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_float.rb +27 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +22 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +27 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +32 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +27 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +27 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/is_string.rb +26 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/join.rb +41 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +47 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/keys.rb +26 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +20 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/max.rb +13 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/member.rb +44 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/merge.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/min.rb +13 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +40 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +24 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +24 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/pick.rb +29 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/prefix.rb +45 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/range.rb +80 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/reject.rb +31 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/reverse.rb +28 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +32 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +46 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/size.rb +48 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/sort.rb +27 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +36 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +41 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +32 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/strftime.rb +107 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/strip.rb +39 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +39 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/time.rb +49 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +28 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/type.rb +50 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/unique.rb +51 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/upcase.rb +41 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +36 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +56 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +34 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +40 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +52 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +33 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/values.rb +39 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/values_at.rb +98 -0
- data/provision/modules/stdlib/lib/puppet/parser/functions/zip.rb +65 -0
- data/provision/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +59 -0
- data/provision/modules/stdlib/lib/puppet/type/anchor.rb +41 -0
- data/provision/modules/stdlib/lib/puppet/type/file_line.rb +70 -0
- data/provision/modules/stdlib/manifests/init.pp +20 -0
- data/provision/modules/stdlib/manifests/stages.pp +43 -0
- data/provision/modules/stdlib/spec/functions/defined_with_params_spec.rb +37 -0
- data/provision/modules/stdlib/spec/functions/ensure_packages_spec.rb +42 -0
- data/provision/modules/stdlib/spec/functions/ensure_resource_spec.rb +40 -0
- data/provision/modules/stdlib/spec/monkey_patches/alias_should_to_must.rb +8 -0
- data/provision/modules/stdlib/spec/monkey_patches/publicize_methods.rb +10 -0
- data/provision/modules/stdlib/spec/spec.opts +6 -0
- data/provision/modules/stdlib/spec/spec_helper.rb +28 -0
- data/provision/modules/stdlib/spec/unit/facter/pe_version_spec.rb +76 -0
- data/provision/modules/stdlib/spec/unit/facter/root_home_spec.rb +40 -0
- data/provision/modules/stdlib/spec/unit/facter/util/puppet_settings_spec.rb +35 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/abs_spec.rb +25 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/bool2num_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/capitalize_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/chomp_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/chop_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/delete_at_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/delete_spec.rb +38 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/downcase_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/empty_spec.rb +23 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/flatten_spec.rb +23 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/fqdn_rotate_spec.rb +33 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/get_module_path_spec.rb +46 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/getvar_spec.rb +37 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/grep_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/has_interface_with_spec.rb +64 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/has_ip_address_spec.rb +39 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/has_ip_network_spec.rb +36 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/has_key_spec.rb +42 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/hash_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_array_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_domain_name_spec.rb +64 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_float_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_hash_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_integer_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_ip_address_spec.rb +39 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_mac_address_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_numeric_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/is_string_spec.rb +34 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/join_keys_to_values_spec.rb +40 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/join_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/keys_spec.rb +21 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/lstrip_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/max_spec.rb +23 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/member_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/merge_spec.rb +47 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/min_spec.rb +23 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/num2bool_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/parsejson_spec.rb +22 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/parseyaml_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/pick_spec.rb +34 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/prefix_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/range_spec.rb +34 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/reject_spec.rb +20 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/reverse_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/rstrip_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/shuffle_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/size_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/sort_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/squeeze_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/str2bool_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/str2saltedsha512_spec.rb +45 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/strftime_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/strip_spec.rb +18 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/swapcase_spec.rb +19 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/time_spec.rb +29 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/to_bytes_spec.rb +58 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/type_spec.rb +43 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/unique_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/upcase_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/uriescape_spec.rb +24 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_absolute_path_spec.rb +83 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_array_spec.rb +38 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_bool_spec.rb +51 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_hash_spec.rb +43 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_re_spec.rb +76 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_slength_spec.rb +48 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/validate_string_spec.rb +60 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/values_at_spec.rb +38 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/values_spec.rb +31 -0
- data/provision/modules/stdlib/spec/unit/puppet/parser/functions/zip_spec.rb +15 -0
- data/provision/modules/stdlib/spec/unit/puppet/provider/file_line/ruby_spec.rb +127 -0
- data/provision/modules/stdlib/spec/unit/puppet/type/anchor_spec.rb +11 -0
- data/provision/modules/stdlib/spec/unit/puppet/type/file_line_spec.rb +69 -0
- data/provision/modules/stdlib/spec/watchr.rb +86 -0
- data/provision/modules/stdlib/tests/file_line.pp +9 -0
- data/provision/modules/stdlib/tests/has_interface_with.pp +10 -0
- data/provision/modules/stdlib/tests/has_ip_address.pp +3 -0
- data/provision/modules/stdlib/tests/has_ip_network.pp +4 -0
- data/provision/modules/stdlib/tests/init.pp +1 -0
- metadata +291 -0
data/Vagrantfile
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# -*- mode: ruby -*-
|
|
2
|
+
# vi: set ft=ruby :
|
|
3
|
+
|
|
4
|
+
Vagrant::Config.run do |config|
|
|
5
|
+
config.vm.box = "precise32"
|
|
6
|
+
|
|
7
|
+
#forward kiosk ports
|
|
8
|
+
|
|
9
|
+
config.vm.forward_port 9901, 9901
|
|
10
|
+
config.vm.forward_port 9902, 9902
|
|
11
|
+
config.vm.forward_port 9903, 9903
|
|
12
|
+
config.vm.forward_port 9904, 9904
|
|
13
|
+
config.vm.forward_port 9905, 9905
|
|
14
|
+
config.vm.forward_port 9906, 9906
|
|
15
|
+
config.vm.forward_port 9907, 9907
|
|
16
|
+
config.vm.forward_port 9908, 9908
|
|
17
|
+
config.vm.forward_port 9909, 9909
|
|
18
|
+
config.vm.forward_port 9910, 9910
|
|
19
|
+
|
|
20
|
+
config.vm.provision :puppet, :module_path => "provision/modules" do |puppet|
|
|
21
|
+
puppet.manifests_path = "provision/manifests"
|
|
22
|
+
puppet.manifest_file = "default.pp"
|
|
23
|
+
end
|
|
24
|
+
config.vm.provision :shell, :path => "provision/bootstrap.sh"
|
|
25
|
+
end
|
data/bin/kiosk
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'kiosk'
|
|
4
|
+
require 'json'
|
|
5
|
+
|
|
6
|
+
def gem_dir
|
|
7
|
+
ServiceKiosk::Kiosk.gem_dir
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def config
|
|
11
|
+
file = File.read('Kioskfile.json')
|
|
12
|
+
JSON.parse file
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
case ARGV[0]
|
|
16
|
+
when 'plaza:init', 'init'
|
|
17
|
+
boxes = `vagrant box list`
|
|
18
|
+
if(/precise32/m.match boxes)
|
|
19
|
+
puts 'plaza already initialized'
|
|
20
|
+
else
|
|
21
|
+
system 'vagrant init precise32 http://files.vagrantup.com/precise32.box'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
when 'plaza:up', 'up'
|
|
25
|
+
system 'vagrant up'
|
|
26
|
+
|
|
27
|
+
when 'plaza:down', 'down'
|
|
28
|
+
system 'vagrant destroy'
|
|
29
|
+
|
|
30
|
+
when 'plaza:ssh', 'ssh'
|
|
31
|
+
system 'vagrant ssh'
|
|
32
|
+
|
|
33
|
+
when 'mall:open', 'open'
|
|
34
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:start'"
|
|
35
|
+
|
|
36
|
+
when 'mall:close', 'close'
|
|
37
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:stop'"
|
|
38
|
+
|
|
39
|
+
when 'mall:log', 'log'
|
|
40
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake kiosk:log'"
|
|
41
|
+
|
|
42
|
+
when 'kiosk:run', 'run'
|
|
43
|
+
env = config['kiosks'][ARGV[1]]['env']
|
|
44
|
+
mall = gem_dir + "/lib/mall.rb"
|
|
45
|
+
dir = Dir.pwd + '/kiosks/' + ARGV[1]
|
|
46
|
+
puts "env: #{env.inspect}"
|
|
47
|
+
puts "mall: #{mall}"
|
|
48
|
+
puts "dir: #{dir}"
|
|
49
|
+
jruby = `which jruby`.strip
|
|
50
|
+
exec(env, "#{jruby} #{mall}", :chdir => dir, :unsetenv_others => true)
|
|
51
|
+
|
|
52
|
+
else
|
|
53
|
+
puts "Usage: $0 {plaza:init|plaza:up|plaza:down|plaza:ssh|mall:open|mall:close|mall:log}"
|
|
54
|
+
end
|
|
55
|
+
|
data/bin/start_kiosk.sh
ADDED
data/lib/Procfile.kiosk
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
kiosk: jruby ../../lib/mall.rb
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
require 'base64'
|
|
3
|
+
|
|
4
|
+
module ServiceKiosk
|
|
5
|
+
class InternalService
|
|
6
|
+
def initialize(kiosk, service)
|
|
7
|
+
@service = connect(kiosk, service)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def connect(kiosk, service)
|
|
11
|
+
kiosk_class = class_from_string(class_name_from_locator(kiosk, service))
|
|
12
|
+
kiosk_class.new
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def class_name_from_locator(kiosk_locator, service_name)
|
|
16
|
+
#puts ">>> locator: #{kiosk_locator}, svc: #{service_name}"
|
|
17
|
+
parts = /ruby:\/\/\/(?<kiosk_name>[\w\.]*)/.match(kiosk_locator)
|
|
18
|
+
name = service_name
|
|
19
|
+
if parts[:kiosk_name]
|
|
20
|
+
kiosk_name = parts[:kiosk_name].gsub('.', '::')
|
|
21
|
+
name = kiosk_name + '::' + name
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def class_from_string(str)
|
|
26
|
+
#puts ">>> internal kiosk: class from str: #{str}"
|
|
27
|
+
str.split('::').inject(Object) do |mod, class_name|
|
|
28
|
+
mod.const_get(class_name)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def call(action, input={})
|
|
33
|
+
input_json = input.to_json
|
|
34
|
+
#puts ">>> kiosk call: #{action} -> #{input_json}" if ENV[LOGGER_LEVEL].to_i < 1
|
|
35
|
+
response = @service.method(action.to_sym).call(JSON.parse input_json)
|
|
36
|
+
JSON.parse response.to_json
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def list(input={})
|
|
40
|
+
call('list', input)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def read(input={})
|
|
44
|
+
call('read', input)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def create(input={})
|
|
48
|
+
call('create', input)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def update(input={})
|
|
52
|
+
call('update', input)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def delete(input={})
|
|
56
|
+
call('delete', input)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
Binary file
|
data/lib/kiosk.rb
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
require_relative 'internal_service'
|
|
2
|
+
require_relative 'remote_service'
|
|
3
|
+
|
|
4
|
+
# built-in internal kiosks
|
|
5
|
+
Dir["#{File.dirname(__FILE__)}/kiosks/**/*.rb"].each { |f| require(f) }
|
|
6
|
+
|
|
7
|
+
module ServiceKiosk
|
|
8
|
+
class Kiosk
|
|
9
|
+
@@kiosks = {}
|
|
10
|
+
|
|
11
|
+
def self.open(handle_raw)
|
|
12
|
+
handle = handle_raw.upcase
|
|
13
|
+
kiosk = @@kiosks[handle]
|
|
14
|
+
if kiosk.nil?
|
|
15
|
+
locator = ENV['KIOSK_' + handle]
|
|
16
|
+
kiosk = @@kiosks[handle] = ServiceKiosk::Kiosk.new locator if locator
|
|
17
|
+
end
|
|
18
|
+
raise "No '#{handle}' kiosk found" unless kiosk
|
|
19
|
+
kiosk
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.register(handle, locator)
|
|
23
|
+
@@kiosks[handle.upcase] = ServiceKiosk::Kiosk.new locator
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.gem_dir
|
|
27
|
+
spec = Gem::Specification.find_by_name("service_kiosk")
|
|
28
|
+
#gem_root = spec.gem_dir
|
|
29
|
+
#gem_lib = gem_root + "/lib"
|
|
30
|
+
spec.gem_dir
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(id)
|
|
34
|
+
@id = id
|
|
35
|
+
@is_remote = is_remote
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def service(name)
|
|
39
|
+
if @is_remote
|
|
40
|
+
ServiceKiosk::RemoteService.new @id, name
|
|
41
|
+
else
|
|
42
|
+
ServiceKiosk::InternalService.new @id, name
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def is_remote
|
|
47
|
+
/^http/.match @id
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# internal default kiosks
|
|
51
|
+
register('logger', 'ruby:///OutputLogger')
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
Dir[ServiceKiosk::Kiosk.gem_dir + "/lib/tasks/**/*.rake"].each { |ext| puts "loading #{ext}"; load ext } if defined?(Rake)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module OutputLogger
|
|
2
|
+
class Logger
|
|
3
|
+
def log(input={})
|
|
4
|
+
input.each {|level,text| output(level, text)}
|
|
5
|
+
{}
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def output(level, text)
|
|
9
|
+
puts ts + " #{level.upcase} | " + text
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def ts
|
|
13
|
+
Time.now.strftime('%H:%M:%S')
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
data/lib/mall.rb
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
require 'base64'
|
|
2
|
+
require 'sinatra'
|
|
3
|
+
require 'json'
|
|
4
|
+
|
|
5
|
+
def gem_dir
|
|
6
|
+
spec = Gem::Specification.find_by_name("service_kiosk")
|
|
7
|
+
spec.gem_dir
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
require gem_dir + '/lib/json-simple-1.1.1.jar'
|
|
11
|
+
|
|
12
|
+
java_import org.json.simple.JSONValue
|
|
13
|
+
|
|
14
|
+
Dir["#{File.dirname(__FILE__)}/**/*.rb"].each { |f| require(f) }
|
|
15
|
+
Dir["#{File.dirname(__FILE__)}/kiosks/**/*.rb"].each { |f| require(f) }
|
|
16
|
+
Dir["#{Dir.pwd}/lib/**/*.rb"].each { |f| require(f) }
|
|
17
|
+
Dir["#{Dir.pwd}/lib/**/*.jar"].each { |f| require(f) }
|
|
18
|
+
|
|
19
|
+
host = /inet addr:(\S+)/m.match(`ifconfig eth0`)[1]
|
|
20
|
+
set :bind, host
|
|
21
|
+
set :port, ENV['KIOSK_PORT']
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## New style
|
|
25
|
+
post '/:kiosk_name/:service/:action' do
|
|
26
|
+
begin
|
|
27
|
+
data = json_parse(Base64.decode64(params[:data]))
|
|
28
|
+
debug "mall: #{params[:kiosk_name]}.#{params[:service]}.#{params[:action]} with input: " + to_json(data)
|
|
29
|
+
results = kiosk(params[:kiosk_name], params[:service]).method(params[:action].to_sym).call(data)
|
|
30
|
+
rescue Exception => e
|
|
31
|
+
results = {"_ERROR_" => e.message + "\n" + e.backtrace.inspect}
|
|
32
|
+
end
|
|
33
|
+
json_results = to_json results
|
|
34
|
+
debug " results: #{json_results}"
|
|
35
|
+
Base64.encode64 json_results
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def class_from_string(str)
|
|
39
|
+
str.split('::').inject(Object) do |mod, class_name|
|
|
40
|
+
mod.const_get(class_name)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def is_java?
|
|
45
|
+
ENV['KIOSK_TYPE'] == 'java'
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def kiosk(kiosk_name, service)
|
|
49
|
+
if is_java?
|
|
50
|
+
java_import(kiosk_name + '.' + service)[0].new
|
|
51
|
+
else
|
|
52
|
+
class_from_string("#{kiosk_name}::#{service}").new
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def to_json(input)
|
|
57
|
+
if is_java?
|
|
58
|
+
JSONValue.toJSONString input
|
|
59
|
+
else
|
|
60
|
+
input.to_json
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def json_parse(input)
|
|
65
|
+
return nil unless input
|
|
66
|
+
if is_java?
|
|
67
|
+
JSONValue.parse input
|
|
68
|
+
else
|
|
69
|
+
JSON.parse input
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def debug(message)
|
|
74
|
+
@log = ServiceKiosk::Kiosk.open('logger').service('Logger') unless @log
|
|
75
|
+
@log.call('log', {'debug' => message})
|
|
76
|
+
end
|
|
77
|
+
|
data/lib/mallcop.rb
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
procfile = ''
|
|
2
|
+
count = 1
|
|
3
|
+
Dir["#{Dir.pwd}/kiosks/*"].each do |kiosk|
|
|
4
|
+
handle = /\/([^\/]+)$/.match(kiosk)[1]
|
|
5
|
+
puts kiosk + ' -> ' + handle
|
|
6
|
+
procfile << %Q[#{handle}: kiosk kiosk:run #{kiosk} 990#{count}\n]
|
|
7
|
+
count += 1
|
|
8
|
+
end
|
|
9
|
+
File.open('./Procfile', 'w') { |file| file.write(procfile) }
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require_relative 'kiosk'
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'base64'
|
|
4
|
+
require 'rest_client'
|
|
5
|
+
require 'open-uri'
|
|
6
|
+
|
|
7
|
+
module ServiceKiosk
|
|
8
|
+
class RemoteService
|
|
9
|
+
def initialize(kiosk, service)
|
|
10
|
+
@endpoint = external_host(kiosk + '/' + service)
|
|
11
|
+
@logger = ServiceKiosk::Kiosk.open('logger').service('Logger') unless @logger
|
|
12
|
+
debug "remote service wants to use a logger: " + @logger.inspect
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def url(id=nil, input=nil)
|
|
16
|
+
@endpoint + (id ? ('/' + id) : '') + (input ? '?data=' + CGI::escape(input.to_json) : '')
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def action_url(action)
|
|
20
|
+
@endpoint + '/' + action
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def external_host(id)
|
|
24
|
+
# TODO: this hack is to correct the fact that sinatra using jruby on vbox ubuntu won't
|
|
25
|
+
# bind properly to all interfaces 0.0.0.0
|
|
26
|
+
host = /inet addr:(\S+)/m.match(`ifconfig eth0`)[1]
|
|
27
|
+
id.sub('localhost', host)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def call(action, input={})
|
|
31
|
+
input_json = input.to_json
|
|
32
|
+
debug "kiosk call: #{action} -> #{input_json}"
|
|
33
|
+
response = RestClient.post action_url(action), {data: Base64.encode64(input_json)}
|
|
34
|
+
JSON.parse Base64.decode64(response)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def list(input={})
|
|
38
|
+
call('list', input)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def read(input={})
|
|
42
|
+
call('read', input)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def create(input={})
|
|
46
|
+
call('create', input)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def update(input={})
|
|
50
|
+
call('update', input)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def delete(input={})
|
|
54
|
+
call('delete', input)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def debug(message)
|
|
58
|
+
@logger.call('log', {'debug' => message})
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
namespace :kiosk do
|
|
2
|
+
task :init do
|
|
3
|
+
boxes = `vagrant box list`
|
|
4
|
+
if(/precise32/m.match boxes)
|
|
5
|
+
puts 'box precise32 already defined.'
|
|
6
|
+
else
|
|
7
|
+
system 'vagrant init precise32 http://files.vagrantup.com/precise32.box'
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
task :up do
|
|
12
|
+
system 'vagrant up'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
task :destroy do
|
|
16
|
+
system 'vagrant destroy'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
task :mall_start do
|
|
20
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake start'"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
task :mall_log do
|
|
24
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake log'"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
task :mall_stop do
|
|
28
|
+
exec "vagrant ssh -c 'cd /vagrant/mall; /usr/local/bin/rake stop'"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
task :start do
|
|
32
|
+
unless mall_running?
|
|
33
|
+
unless pid = fork
|
|
34
|
+
write_procfile
|
|
35
|
+
exec "foreman start > log/foreman.log 2>&1 & echo $! > log/pid"
|
|
36
|
+
end
|
|
37
|
+
sleep 0.1
|
|
38
|
+
puts "Mall is opening (pid: #{mall_pid})"
|
|
39
|
+
else
|
|
40
|
+
puts "Mall already opened (pid: #{mall_pid})"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
task :stop do
|
|
45
|
+
if mall_running?
|
|
46
|
+
group = `ps axj`.match(/\d+\s+#{mall_pid}\s+(\d+).*foreman/m)[1]
|
|
47
|
+
system "pkill -g #{group}"
|
|
48
|
+
File.delete pidfile
|
|
49
|
+
File.delete './Procfile'
|
|
50
|
+
puts "Mall is closing..."
|
|
51
|
+
else
|
|
52
|
+
puts "Mall already closed"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
task :log do
|
|
57
|
+
exec "tail -n 200 --pid=#{mall_pid} -f log/foreman.log"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
task :mallcop do
|
|
61
|
+
exec "jruby #{gem_dir}/lib/mallcop.rb"
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def mall_pid
|
|
65
|
+
File.read(pidfile).strip
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def mall_running?
|
|
69
|
+
File.exists?(pidfile)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def pidfile
|
|
73
|
+
'log/pid'
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def gem_dir
|
|
77
|
+
spec = Gem::Specification.find_by_name("service_kiosk")
|
|
78
|
+
spec.gem_dir
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def write_procfile
|
|
82
|
+
File.open('./Procfile', 'w') {|f| f.write(procfile) }
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def procfile
|
|
86
|
+
result = ''
|
|
87
|
+
Dir["#{Dir.pwd}/kiosks/*"].each do |kiosk|
|
|
88
|
+
handle = /\/([^\/]+)$/.match(kiosk)[1]
|
|
89
|
+
result << %Q[#{handle}: kiosk kiosk:run #{handle}\n]
|
|
90
|
+
end
|
|
91
|
+
result
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
apt-get update
|
|
4
|
+
apt-get install -y git
|
|
5
|
+
apt-get install -y ruby1.9.3
|
|
6
|
+
apt-get install -y cucumber
|
|
7
|
+
gem install rake
|
|
8
|
+
gem install rest-client
|
|
9
|
+
gem install rspec
|
|
10
|
+
gem install service_kiosk
|
|
11
|
+
gem install foreman
|
|
12
|
+
wget --quiet http://jruby.org.s3.amazonaws.com/downloads/1.7.3/jruby-bin-1.7.3.tar.gz
|
|
13
|
+
tar zxf jruby-bin-1.7.3.tar.gz
|
|
14
|
+
echo "export PATH=\${PATH}:/home/vagrant/jruby-1.7.3/bin" >> /home/vagrant/.profile
|
|
15
|
+
export PATH="${PATH}:/home/vagrant/jruby-1.7.3/bin"
|
|
16
|
+
jruby -S gem install sinatra
|
|
17
|
+
jruby -S gem install cucumber
|
|
18
|
+
jruby -S gem install rspec
|
|
19
|
+
jruby -S gem install mime-types
|
|
20
|
+
jruby -S gem install rest-client
|
|
21
|
+
jruby -S gem install service_kiosk
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
define append_if_no_such_line($file, $line, $refreshonly = 'false') {
|
|
2
|
+
exec { "/bin/echo '$line' >> '$file'":
|
|
3
|
+
unless => "/bin/grep -Fxqe '$line' '$file'",
|
|
4
|
+
path => "/bin",
|
|
5
|
+
refreshonly => $refreshonly,
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class must-have {
|
|
10
|
+
include apt
|
|
11
|
+
apt::ppa { "ppa:webupd8team/java": }
|
|
12
|
+
|
|
13
|
+
exec { 'apt-get update':
|
|
14
|
+
command => '/usr/bin/apt-get update',
|
|
15
|
+
before => Apt::Ppa["ppa:webupd8team/java"],
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exec { 'apt-get update 2':
|
|
19
|
+
command => '/usr/bin/apt-get update',
|
|
20
|
+
require => [ Apt::Ppa["ppa:webupd8team/java"], Package["git-core"] ],
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
package { ["vim",
|
|
24
|
+
"curl",
|
|
25
|
+
"git-core",
|
|
26
|
+
"bash"]:
|
|
27
|
+
ensure => present,
|
|
28
|
+
require => Exec["apt-get update"],
|
|
29
|
+
before => Apt::Ppa["ppa:webupd8team/java"],
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
package { ["oracle-java7-installer"]:
|
|
33
|
+
ensure => present,
|
|
34
|
+
require => Exec["apt-get update 2"],
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exec {
|
|
38
|
+
"accept_license":
|
|
39
|
+
command => "echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections && echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections",
|
|
40
|
+
cwd => "/home/vagrant",
|
|
41
|
+
user => "vagrant",
|
|
42
|
+
path => "/usr/bin/:/bin/",
|
|
43
|
+
require => Package["curl"],
|
|
44
|
+
before => Package["oracle-java7-installer"],
|
|
45
|
+
logoutput => true,
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
include must-have
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
2012-05-25 Puppet Labs <info@puppetlabs.com> - 0.0.4
|
|
2
|
+
* Fix ppa list filename when there is a period in the PPA name
|
|
3
|
+
* Add .pref extension to apt preferences files
|
|
4
|
+
* Allow preferences to be purged
|
|
5
|
+
* Extend pin support
|
|
6
|
+
|
|
7
|
+
2012-05-04 Puppet Labs <info@puppetlabs.com> - 0.0.3
|
|
8
|
+
* only invoke apt-get update once
|
|
9
|
+
* only install python-software-properties if a ppa is added
|
|
10
|
+
* support 'ensure => absent' for all defined types
|
|
11
|
+
* add apt::conf
|
|
12
|
+
* add apt::backports
|
|
13
|
+
* fixed Modulefile for module tool dependency resolution
|
|
14
|
+
* configure proxy before doing apt-get update
|
|
15
|
+
* use apt-get update instead of aptitude for apt::ppa
|
|
16
|
+
* add support to pin release
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
2012-03-26 Puppet Labs <info@puppetlabs.com> - 0.0.2
|
|
20
|
+
41cedbb (#13261) Add real examples to smoke tests.
|
|
21
|
+
d159a78 (#13261) Add key.pp smoke test
|
|
22
|
+
7116c7a (#13261) Replace foo source with puppetlabs source
|
|
23
|
+
1ead0bf Ignore pkg directory.
|
|
24
|
+
9c13872 (#13289) Fix some more style violations
|
|
25
|
+
0ea4ffa (#13289) Change test scaffolding to use a module & manifest dir fixture path
|
|
26
|
+
a758247 (#13289) Clean up style violations and fix corresponding tests
|
|
27
|
+
99c3fd3 (#13289) Add puppet lint tests to Rakefile
|
|
28
|
+
5148cbf (#13125) Apt keys should be case insensitive
|
|
29
|
+
b9607a4 Convert apt::key to use anchors
|
|
30
|
+
|
|
31
|
+
2012-03-07 Puppet Labs <info@puppetlabs.com> - 0.0.1
|
|
32
|
+
d4fec56 Modify apt::source release parameter test
|
|
33
|
+
1132a07 (#12917) Add contributors to README
|
|
34
|
+
8cdaf85 (#12823) Add apt::key defined type and modify apt::source to use it
|
|
35
|
+
7c0d10b (#12809) $release should use $lsbdistcodename and fall back to manual input
|
|
36
|
+
be2cc3e (#12522) Adjust spec test for splitting purge
|
|
37
|
+
7dc60ae (#12522) Split purge option to spare sources.list
|
|
38
|
+
9059c4e Fix source specs to test all key permutations
|
|
39
|
+
8acb202 Add test for python-software-properties package
|
|
40
|
+
a4af11f Check if python-software-properties is defined before attempting to define it.
|
|
41
|
+
1dcbf3d Add tests for required_packages change
|
|
42
|
+
f3735d2 Allow duplicate $required_packages
|
|
43
|
+
74c8371 (#12430) Add tests for changes to apt module
|
|
44
|
+
97ebb2d Test two sources with the same key
|
|
45
|
+
1160bcd (#12526) Add ability to reverse apt { disable_keys => true }
|
|
46
|
+
2842d73 Add Modulefile to puppet-apt
|
|
47
|
+
c657742 Allow the use of the same key in multiple sources
|
|
48
|
+
8c27963 (#12522) Adding purge option to apt class
|
|
49
|
+
997c9fd (#12529) Add unit test for apt proxy settings
|
|
50
|
+
50f3cca (#12529) Add parameter to support setting a proxy for apt
|
|
51
|
+
d522877 (#12094) Replace chained .with_* with a hash
|
|
52
|
+
8cf1bd0 (#12094) Remove deprecated spec.opts file
|
|
53
|
+
2d688f4 (#12094) Add rspec-puppet tests for apt
|
|
54
|
+
0fb5f78 (#12094) Replace name with path in file resources
|
|
55
|
+
f759bc0 (#11953) Apt::force passes $version to aptitude
|
|
56
|
+
f71db53 (#11413) Add spec test for apt::force to verify changes to unless
|
|
57
|
+
2f5d317 (#11413) Update dpkg query used by apt::force
|
|
58
|
+
cf6caa1 (#10451) Add test coverage to apt::ppa
|
|
59
|
+
0dd697d include_src parameter in example; Whitespace cleanup
|
|
60
|
+
b662eb8 fix typos in "repositories"
|
|
61
|
+
1be7457 Fix (#10451) - apt::ppa fails to "apt-get update" when new PPA source is added
|
|
62
|
+
864302a Set the pin priority before adding the source (Fix #10449)
|
|
63
|
+
1de4e0a Refactored as per mlitteken
|
|
64
|
+
1af9a13 Added some crazy bash madness to check if the ppa is installed already. Otherwise the manifest tries to add it on every run!
|
|
65
|
+
52ca73e (#8720) Replace Apt::Ppa with Apt::Builddep
|
|
66
|
+
5c05fa0 added builddep command.
|
|
67
|
+
a11af50 added the ability to specify the content of a key
|
|
68
|
+
c42db0f Fixes ppa test.
|
|
69
|
+
77d2b0d reformatted whitespace to match recommended style of 2 space indentation.
|
|
70
|
+
27ebdfc ignore swap files.
|
|
71
|
+
377d58a added smoke tests for module.
|
|
72
|
+
18f614b reformatted apt::ppa according to recommended style.
|
|
73
|
+
d8a1e4e Created a params class to hold global data.
|
|
74
|
+
636ae85 Added two params for apt class
|
|
75
|
+
148fc73 Update LICENSE.
|
|
76
|
+
ed2d19e Support ability to add more than one PPA
|
|
77
|
+
420d537 Add call to apt-update after add-apt-repository in apt::ppa
|
|
78
|
+
945be77 Add package definition for python-software-properties
|
|
79
|
+
71fc425 Abs paths for all commands
|
|
80
|
+
9d51cd1 Adding LICENSE
|
|
81
|
+
71796e3 Heading fix in README
|
|
82
|
+
87777d8 Typo in README
|
|
83
|
+
f848bac First commit
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2011 Evolving Web Inc.
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name 'puppetlabs-apt'
|
|
2
|
+
version '1.1.0'
|
|
3
|
+
source 'https://github.com/puppetlabs/puppetlabs-apt'
|
|
4
|
+
author 'Evolving Web / Puppet Labs'
|
|
5
|
+
license 'Apache License 2.0'
|
|
6
|
+
summary 'Puppet Labs Apt Module'
|
|
7
|
+
description 'APT Module for Puppet'
|
|
8
|
+
project_page 'https://github.com/puppetlabs/puppetlabs-apt'
|
|
9
|
+
|
|
10
|
+
## Add dependencies, if any:
|
|
11
|
+
#dependency 'puppetlabs/stdlib', '2.x'
|
|
12
|
+
# The dependency should be written as above but librarian-puppet
|
|
13
|
+
# does not support the expression as the PMT does.
|
|
14
|
+
dependency 'puppetlabs/stdlib', '>= 2.2.1'
|