wombat-cli 0.2.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.
Files changed (201) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/DESIGN.md +40 -0
  4. data/Gemfile +3 -0
  5. data/README.md +132 -0
  6. data/Rakefile +52 -0
  7. data/Vagrantfile +121 -0
  8. data/bin/wombat +24 -0
  9. data/cookbooks/automate/.gitignore +16 -0
  10. data/cookbooks/automate/.kitchen.ec2.yml +27 -0
  11. data/cookbooks/automate/.kitchen.yml +25 -0
  12. data/cookbooks/automate/Berksfile +6 -0
  13. data/cookbooks/automate/README.md +4 -0
  14. data/cookbooks/automate/chefignore +102 -0
  15. data/cookbooks/automate/libraries/_helper.rb +52 -0
  16. data/cookbooks/automate/libraries/delivery_api.rb +204 -0
  17. data/cookbooks/automate/libraries/delivery_project.rb +31 -0
  18. data/cookbooks/automate/libraries/dsl.rb +5 -0
  19. data/cookbooks/automate/metadata.rb +13 -0
  20. data/cookbooks/automate/recipes/default.rb +111 -0
  21. data/cookbooks/automate/recipes/update-users.rb +48 -0
  22. data/cookbooks/automate/templates/delivery.erb +5 -0
  23. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
  24. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
  25. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
  26. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
  27. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  28. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  29. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  30. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  31. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/metadata.rb +3 -0
  32. data/cookbooks/automate/test/fixtures/cookbooks/mock_data/recipes/default.rb +27 -0
  33. data/cookbooks/automate/test/integration/default/automate_spec.rb +55 -0
  34. data/cookbooks/build_node/.gitignore +16 -0
  35. data/cookbooks/build_node/.kitchen.ec2.yml +30 -0
  36. data/cookbooks/build_node/.kitchen.yml +23 -0
  37. data/cookbooks/build_node/Berksfile +8 -0
  38. data/cookbooks/build_node/README.md +4 -0
  39. data/cookbooks/build_node/chefignore +102 -0
  40. data/cookbooks/build_node/metadata.rb +15 -0
  41. data/cookbooks/build_node/recipes/default.rb +35 -0
  42. data/cookbooks/build_node/templates/client.erb +3 -0
  43. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
  44. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
  45. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
  46. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
  47. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  48. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  49. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  50. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  51. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
  52. data/cookbooks/build_node/test/fixtures/cookbooks/mock_data/recipes/default.rb +18 -0
  53. data/cookbooks/build_node/test/integration/default/build-node_spec.rb +39 -0
  54. data/cookbooks/chef_server/.gitignore +16 -0
  55. data/cookbooks/chef_server/.kitchen.ec2.yml +26 -0
  56. data/cookbooks/chef_server/.kitchen.yml +25 -0
  57. data/cookbooks/chef_server/Berksfile +6 -0
  58. data/cookbooks/chef_server/README.md +4 -0
  59. data/cookbooks/chef_server/chefignore +102 -0
  60. data/cookbooks/chef_server/metadata.rb +13 -0
  61. data/cookbooks/chef_server/recipes/cheffish.rb +91 -0
  62. data/cookbooks/chef_server/recipes/default.rb +79 -0
  63. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
  64. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
  65. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
  66. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
  67. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  68. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  69. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  70. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  71. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
  72. data/cookbooks/chef_server/test/fixtures/cookbooks/mock_data/recipes/default.rb +23 -0
  73. data/cookbooks/chef_server/test/integration/default/chef_server_spec.rb +47 -0
  74. data/cookbooks/compliance/.gitignore +16 -0
  75. data/cookbooks/compliance/.kitchen.ec2.yml +26 -0
  76. data/cookbooks/compliance/.kitchen.yml +24 -0
  77. data/cookbooks/compliance/Berksfile +7 -0
  78. data/cookbooks/compliance/README.md +4 -0
  79. data/cookbooks/compliance/chefignore +102 -0
  80. data/cookbooks/compliance/metadata.rb +12 -0
  81. data/cookbooks/compliance/recipes/default.rb +59 -0
  82. data/cookbooks/compliance/spec/spec_helper.rb +2 -0
  83. data/cookbooks/compliance/spec/unit/recipes/default_spec.rb +20 -0
  84. data/cookbooks/compliance/templates/default/chef-compliance.rb.erb +1 -0
  85. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
  86. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
  87. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
  88. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
  89. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  90. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  91. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  92. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  93. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/metadata.rb +4 -0
  94. data/cookbooks/compliance/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
  95. data/cookbooks/compliance/test/integration/default/compliance.rb +27 -0
  96. data/cookbooks/infranodes/.gitignore +16 -0
  97. data/cookbooks/infranodes/.kitchen.ec2.yml +27 -0
  98. data/cookbooks/infranodes/.kitchen.yml +21 -0
  99. data/cookbooks/infranodes/Berksfile +6 -0
  100. data/cookbooks/infranodes/README.md +4 -0
  101. data/cookbooks/infranodes/attributes/default.rb +3 -0
  102. data/cookbooks/infranodes/chefignore +102 -0
  103. data/cookbooks/infranodes/metadata.rb +13 -0
  104. data/cookbooks/infranodes/recipes/default.rb +41 -0
  105. data/cookbooks/infranodes/spec/spec_helper.rb +2 -0
  106. data/cookbooks/infranodes/spec/unit/recipes/default_spec.rb +20 -0
  107. data/cookbooks/infranodes/templates/default/client.rb.erb +5 -0
  108. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/automate.crt +26 -0
  109. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/automate.key +27 -0
  110. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/chef.crt +25 -0
  111. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/chef.key +27 -0
  112. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  113. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  114. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  115. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  116. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/metadata.rb +3 -0
  117. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
  118. data/cookbooks/infranodes/test/integration/default/infranodes_spec.rb +20 -0
  119. data/cookbooks/infranodes/test/integration/helpers/serverspec/spec_helper.rb +8 -0
  120. data/cookbooks/wombat/.gitignore +16 -0
  121. data/cookbooks/wombat/.kitchen.yml +43 -0
  122. data/cookbooks/wombat/Berksfile +6 -0
  123. data/cookbooks/wombat/README.md +4 -0
  124. data/cookbooks/wombat/attributes/default.rb +71 -0
  125. data/cookbooks/wombat/attributes/packer.rb +18 -0
  126. data/cookbooks/wombat/chefignore +102 -0
  127. data/cookbooks/wombat/metadata.rb +11 -0
  128. data/cookbooks/wombat/recipes/authorized-keys.rb +10 -0
  129. data/cookbooks/wombat/recipes/default.rb +112 -0
  130. data/cookbooks/wombat/recipes/etc-hosts.rb +51 -0
  131. data/cookbooks/workstation/.gitignore +16 -0
  132. data/cookbooks/workstation/.kitchen.ec2.yml +29 -0
  133. data/cookbooks/workstation/.kitchen.yml +22 -0
  134. data/cookbooks/workstation/Berksfile +7 -0
  135. data/cookbooks/workstation/README.md +3 -0
  136. data/cookbooks/workstation/chefignore +102 -0
  137. data/cookbooks/workstation/files/atom.apm.list +7 -0
  138. data/cookbooks/workstation/files/atom.config.cson +3 -0
  139. data/cookbooks/workstation/files/cmder.xml +605 -0
  140. data/cookbooks/workstation/metadata.rb +14 -0
  141. data/cookbooks/workstation/recipes/browser.rb +45 -0
  142. data/cookbooks/workstation/recipes/certs-keys.rb +44 -0
  143. data/cookbooks/workstation/recipes/chef.rb +29 -0
  144. data/cookbooks/workstation/recipes/default.rb +16 -0
  145. data/cookbooks/workstation/recipes/dotnet.rb +17 -0
  146. data/cookbooks/workstation/recipes/editor.rb +19 -0
  147. data/cookbooks/workstation/recipes/profile.rb +42 -0
  148. data/cookbooks/workstation/recipes/terminal.rb +13 -0
  149. data/cookbooks/workstation/templates/default/bookmarks.html.erb +23 -0
  150. data/cookbooks/workstation/templates/default/data_collector.rb.erb +2 -0
  151. data/cookbooks/workstation/templates/default/ise_profile.ps1.erb +11 -0
  152. data/cookbooks/workstation/templates/default/knife.rb.erb +10 -0
  153. data/cookbooks/workstation/templates/default/master_preferences.json.erb +28 -0
  154. data/cookbooks/workstation/templates/default/ssh_config.erb +16 -0
  155. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/chef-server.crt +26 -0
  156. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/chef-server.key +27 -0
  157. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/compliance.crt +26 -0
  158. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/compliance.key +27 -0
  159. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/delivery.crt +26 -0
  160. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/delivery.key +27 -0
  161. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/private.pem +27 -0
  162. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/files/public.pub +1 -0
  163. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/metadata.rb +2 -0
  164. data/cookbooks/workstation/test/fixtures/cookbooks/mock_data/recipes/default.rb +21 -0
  165. data/cookbooks/workstation/test/integration/default/workstation_spec.rb +37 -0
  166. data/keys/.gitkeep +0 -0
  167. data/lib/wombat/build.rb +195 -0
  168. data/lib/wombat/cli.rb +169 -0
  169. data/lib/wombat/common.rb +163 -0
  170. data/lib/wombat/delete.rb +28 -0
  171. data/lib/wombat/deploy.rb +105 -0
  172. data/lib/wombat/output.rb +45 -0
  173. data/lib/wombat/version.rb +3 -0
  174. data/lib/wombat.rb +8 -0
  175. data/logs/.gitkeep +0 -0
  176. data/packer/automate.json +108 -0
  177. data/packer/build-node.json +114 -0
  178. data/packer/chef-server.json +106 -0
  179. data/packer/compliance.json +106 -0
  180. data/packer/files/.gitkeep +0 -0
  181. data/packer/infranodes.json +108 -0
  182. data/packer/mock-data/.gitignore +16 -0
  183. data/packer/mock-data/.kitchen.yml +21 -0
  184. data/packer/mock-data/Berksfile +3 -0
  185. data/packer/mock-data/README.md +4 -0
  186. data/packer/mock-data/chefignore +102 -0
  187. data/packer/mock-data/metadata.rb +7 -0
  188. data/packer/mock-data/recipes/default.rb +69 -0
  189. data/packer/mock-data/spec/spec_helper.rb +2 -0
  190. data/packer/mock-data/spec/unit/recipes/default_spec.rb +20 -0
  191. data/packer/mock-data/test/integration/default/serverspec/default_spec.rb +9 -0
  192. data/packer/mock-data/test/integration/helpers/serverspec/spec_helper.rb +8 -0
  193. data/packer/workstation.json +97 -0
  194. data/templates/bootstrap-aws.erb +36 -0
  195. data/templates/cfn.json.erb +661 -0
  196. data/terraform/README.md +13 -0
  197. data/terraform/templates/terraform.tfvars.erb +12 -0
  198. data/terraform/wombat.tf +328 -0
  199. data/wombat-cli.gemspec +32 -0
  200. data/wombat.example.yml +52 -0
  201. metadata +331 -0
@@ -0,0 +1,102 @@
1
+ # Put files/directories that should be ignored in this file when uploading
2
+ # to a chef-server or supermarket.
3
+ # Lines that start with '# ' are comments.
4
+
5
+ # OS generated files #
6
+ ######################
7
+ .DS_Store
8
+ Icon?
9
+ nohup.out
10
+ ehthumbs.db
11
+ Thumbs.db
12
+
13
+ # SASS #
14
+ ########
15
+ .sass-cache
16
+
17
+ # EDITORS #
18
+ ###########
19
+ \#*
20
+ .#*
21
+ *~
22
+ *.sw[a-z]
23
+ *.bak
24
+ REVISION
25
+ TAGS*
26
+ tmtags
27
+ *_flymake.*
28
+ *_flymake
29
+ *.tmproj
30
+ .project
31
+ .settings
32
+ mkmf.log
33
+
34
+ ## COMPILED ##
35
+ ##############
36
+ a.out
37
+ *.o
38
+ *.pyc
39
+ *.so
40
+ *.com
41
+ *.class
42
+ *.dll
43
+ *.exe
44
+ */rdoc/
45
+
46
+ # Testing #
47
+ ###########
48
+ .watchr
49
+ .rspec
50
+ spec/*
51
+ spec/fixtures/*
52
+ test/*
53
+ features/*
54
+ examples/*
55
+ Guardfile
56
+ Procfile
57
+ .kitchen*
58
+ .rubocop.yml
59
+ spec/*
60
+ Rakefile
61
+ .travis.yml
62
+ .foodcritic
63
+ .codeclimate.yml
64
+
65
+ # SCM #
66
+ #######
67
+ .git
68
+ */.git
69
+ .gitignore
70
+ .gitmodules
71
+ .gitconfig
72
+ .gitattributes
73
+ .svn
74
+ */.bzr/*
75
+ */.hg/*
76
+ */.svn/*
77
+
78
+ # Berkshelf #
79
+ #############
80
+ Berksfile
81
+ Berksfile.lock
82
+ cookbooks/*
83
+ tmp
84
+
85
+ # Cookbooks #
86
+ #############
87
+ CONTRIBUTING*
88
+ CHANGELOG*
89
+ TESTING*
90
+ MAINTAINERS.toml
91
+
92
+ # Strainer #
93
+ ############
94
+ Colanderfile
95
+ Strainerfile
96
+ .colander
97
+ .strainer
98
+
99
+ # Vagrant #
100
+ ###########
101
+ .vagrant
102
+ Vagrantfile
@@ -0,0 +1,13 @@
1
+ name 'chef_server'
2
+ maintainer 'The Authors'
3
+ maintainer_email 'you@example.com'
4
+ license 'all_rights'
5
+ description 'Installs/Configures chef-server'
6
+ long_description 'Installs/Configures chef-server'
7
+ version '0.3.0'
8
+
9
+ depends 'apt'
10
+ depends 'chef-ingredient', '>= 0.18.5'
11
+ depends 'hostsfile'
12
+ depends 'line'
13
+ depends 'wombat'
@@ -0,0 +1,91 @@
1
+ #
2
+ # Cookbook Name:: chef-server
3
+ # Recipe:: default
4
+ #
5
+ # Copyright (c) 2016 The Authors, All Rights Reserved.
6
+
7
+ require 'cheffish'
8
+ # there is only zuul
9
+ OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
10
+
11
+ config = {
12
+ :chef_server_url => 'https://chef',
13
+ :options => {
14
+ :client_name => 'pivotal',
15
+ :signing_key_filename => '/etc/opscode/pivotal.pem',
16
+ :ssl_verify_mode => :verify_none
17
+ }
18
+ }
19
+
20
+ #taken from cheffish
21
+ node['demo']['users'].each do |user, info|
22
+ chef_user user do
23
+ chef_server config
24
+ admin true
25
+ display_name user
26
+ email info['email']
27
+ password info['password']
28
+ source_key_path info['pem']
29
+ end
30
+ end
31
+
32
+ chef_organization "#{node['demo']['org']}" do
33
+ members node['demo']['users'].keys
34
+ chef_server config
35
+ end
36
+
37
+ conf_with_org = config.merge({
38
+ :chef_server_url => "#{config[:chef_server_url]}/organizations/#{node['demo']['org']}"
39
+ })
40
+
41
+ all_nodes = {}
42
+ build_node_num = node['demo']['build-nodes'].to_i
43
+
44
+ if File.exists?('/tmp/infranodes-info.json')
45
+ infranodes = JSON(File.read('/tmp/infranodes-info.json'))
46
+ else
47
+ infranodes = {}
48
+ end
49
+
50
+ 1.upto(build_node_num) do |i|
51
+ build_node_name = "build-node-#{i}"
52
+ all_nodes[build_node_name] = {}
53
+ end
54
+
55
+ infranodes.each do |infra_node_name, info|
56
+ all_nodes[infra_node_name] = info
57
+ end
58
+
59
+ environments = infranodes.map { |_n, i| i['environment'] }.compact.uniq
60
+
61
+ environments.each do |e|
62
+ chef_environment e do
63
+ chef_server conf_with_org
64
+ end
65
+ end
66
+
67
+ all_nodes.each do |node_name, info|
68
+ chef_node node_name do
69
+ tag 'delivery-build-node' if node_name.match(/^build-node/)
70
+ run_list info['run_list'] if info['run_list']
71
+ chef_environment info['environment'] if info['environment']
72
+ chef_server conf_with_org
73
+ end
74
+
75
+ chef_client node_name do
76
+ source_key_path '/tmp/private.pem'
77
+ chef_server conf_with_org
78
+ end
79
+ end
80
+
81
+ chef_acl "" do
82
+ rights :all, users: node['demo']['users'].keys, clients: all_nodes.keys
83
+ recursive true
84
+ chef_server conf_with_org
85
+ end
86
+
87
+ chef_group "admins" do
88
+ users node['demo']['users'].keys
89
+ clients all_nodes.keys
90
+ chef_server conf_with_org
91
+ end
@@ -0,0 +1,79 @@
1
+ #
2
+ # Cookbook Name:: chef-server
3
+ # Recipe:: default
4
+ #
5
+ # Copyright (c) 2016 The Authors, All Rights Reserved.
6
+
7
+ append_if_no_line "Add temporary hostsfile entry: #{node['ipaddress']}" do
8
+ path "/etc/hosts"
9
+ line "#{node['ipaddress']} #{node['demo']['domain_prefix']}chef.#{node['demo']['domain']} chef"
10
+ end
11
+
12
+ execute 'set hostname' do
13
+ command 'hostnamectl set-hostname chef'
14
+ action :run
15
+ end
16
+
17
+ append_if_no_line "Add certificate to authorized_keys" do
18
+ path "/home/#{node['demo']['admin-user']}/.ssh/authorized_keys"
19
+ line lazy { IO.read('/tmp/public.pub') }
20
+ end
21
+
22
+ directory '/var/opt/opscode'
23
+ directory '/var/opt/opscode/nginx'
24
+ directory '/var/opt/opscode/nginx/ca'
25
+ directory '/etc/opscode' do
26
+ mode '0644'
27
+ end
28
+
29
+ %w(crt key).each do |ext|
30
+ file "/var/opt/opscode/nginx/ca/#{node['demo']['domain_prefix']}chef.#{node['demo']['domain']}.#{ext}" do
31
+ content lazy { IO.read("/tmp/chef.#{ext}") }
32
+ action :create
33
+ sensitive true
34
+ end
35
+ end
36
+
37
+ chef_ingredient 'chef-server' do
38
+ channel node['demo']['versions']['chef-server'].split('-')[0].to_sym
39
+ version node['demo']['versions']['chef-server'].split('-')[1]
40
+ end
41
+
42
+ chef_ingredient 'chef-server' do
43
+ action :reconfigure
44
+ config "api_fqdn 'chef.#{node['demo']['domain']}'"
45
+ end
46
+
47
+ chef_ingredient 'push-jobs-server' do
48
+ channel :stable
49
+ version :latest
50
+ action :install
51
+ end
52
+
53
+ chef_ingredient 'push-jobs-server' do
54
+ action :reconfigure
55
+ end
56
+
57
+ chef_ingredient 'manage' do
58
+ channel :stable
59
+ version :latest
60
+ action :install
61
+ end
62
+
63
+ chef_ingredient 'chef-server' do
64
+ action :reconfigure
65
+ end
66
+
67
+ chef_ingredient 'manage' do
68
+ accept_license true
69
+ action :reconfigure
70
+ end
71
+
72
+ include_recipe 'chef_server::cheffish'
73
+
74
+ delete_lines "Remove temporary hostfile entry we added earlier" do
75
+ path "/etc/hosts"
76
+ pattern "^#{node['ipaddress']}.*#{node['demo']['domain_prefix']}chef\.#{node['demo']['domain']}.*chef"
77
+ end
78
+
79
+ include_recipe 'wombat::etc-hosts'
@@ -0,0 +1,26 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEWDCCA0CgAwIBAgIBADANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJBVTEY
3
+ MBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkxEzARBgNV
4
+ BAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxHTAbBgNVBAMMFGF1dG9t
5
+ YXRlLmFuaW1hbHMuYml6MB4XDTE2MDgxNjE5MDUyMVoXDTE3MDgxNjE5MDUyMVow
6
+ fjELMAkGA1UEBhMCQVUxGDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UE
7
+ BwwGU3lkbmV5MRMwEQYDVQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRz
8
+ MR0wGwYDVQQDDBRhdXRvbWF0ZS5hbmltYWxzLmJpejCCASIwDQYJKoZIhvcNAQEB
9
+ BQADggEPADCCAQoCggEBAJHtYR1sIQM1GffD74taoU/anIJY7P95g+42YioTf3fK
10
+ 4KHtihMacxOBuMhh2yPPh4ZY5OVE9ST3zBmNu3hQlnfgr4JXwRrmPnk9PztYbbqT
11
+ pxJmvfK/t2Wesj2dxR1/hNMrWfwQlrv1ikv6EJN4Od3DpE1q+rnNM8qB/Xh34uu1
12
+ UfgriRGSXhpARl88WjzXcoNotdTYSn+js73xuq8w8cQ1Ngmq2Hjar/W36svaoJI4
13
+ 0vfSUMa8327vn/XmFtWHRCLL89gFYM0D9NgnCZT9yLT4bzO7BHVpmIEYzx3Dd6qf
14
+ q16es3YrRjFYoShyIwU7ubRn1bUBWRYAT+xoByVJqmUCAwEAAaOB4DCB3TAPBgNV
15
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQ5ckBDssPcNcvJoINZL81bSCvypDCBqgYD
16
+ VR0jBIGiMIGfgBQ5ckBDssPcNcvJoINZL81bSCvypKGBg6SBgDB+MQswCQYDVQQG
17
+ EwJBVTEYMBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkx
18
+ EzARBgNVBAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxHTAbBgNVBAMM
19
+ FGF1dG9tYXRlLmFuaW1hbHMuYml6ggEAMA0GCSqGSIb3DQEBCwUAA4IBAQA4TzbV
20
+ FLeJzJ/bsYb0DilbxNo4FKnfM166OwX6buYGUXk7DcSk0bsFpkKXa8X5xL5/7zUr
21
+ Eu2cUBkV/wgozmX/1ocXlc9fbZILtJiS/sz3oRcfqOZi7EhYV0ENrWRjk15y/x+P
22
+ Vq8cXmvaNxthhszbBTtpRu8UHJ+8AFm1Vapbig/FgAjDJq6gv+0KPLK1ZwyG6N8J
23
+ +JwWuoYftbGeQ7BLt2GYZ11bd5o/TTsem5R1CI5qzHzGoUxQ9c8EibwQ2PQLICaB
24
+ B/Zub4jeBQM7D5xKtgCaMdEjBeaFFO0mjQ1BWwuDVNARA1i8UF50vyKI/FlYGNv6
25
+ qqMZfF5fS0iJ3ZQ8
26
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEpAIBAAKCAQEAke1hHWwhAzUZ98Pvi1qhT9qcgljs/3mD7jZiKhN/d8rgoe2K
3
+ ExpzE4G4yGHbI8+Hhljk5UT1JPfMGY27eFCWd+CvglfBGuY+eT0/O1htupOnEma9
4
+ 8r+3ZZ6yPZ3FHX+E0ytZ/BCWu/WKS/oQk3g53cOkTWr6uc0zyoH9eHfi67VR+CuJ
5
+ EZJeGkBGXzxaPNdyg2i11NhKf6OzvfG6rzDxxDU2CarYeNqv9bfqy9qgkjjS99JQ
6
+ xrzfbu+f9eYW1YdEIsvz2AVgzQP02CcJlP3ItPhvM7sEdWmYgRjPHcN3qp+rXp6z
7
+ ditGMVihKHIjBTu5tGfVtQFZFgBP7GgHJUmqZQIDAQABAoIBAHnArP53cTPT4k6u
8
+ 0/ZZL64In/zBZTvijwj5pv2kNv4j7zgrkMBPmSP1X88Qll5SkKivEouX9VFazpej
9
+ gX7o/iIW/VirDxr6b7WIPHGvXh4Fg6f+wQ0AmGvY9K4kLIpoEtJ9oR6GWL2KKFEr
10
+ 2xivfthgm31cfMT5SPT1cB5LKLGv3KUcCrIY1eGdRyFE4aUnpPRaUsrnJzT2nO+w
11
+ 2GdKJhdLsc1hdSCafovLpEvR/Umw3NGulU0akrUAslTBvXVpCr+TV8TxwdlsCKhy
12
+ j8HCIjKPxtfGPYEQa7vH7y7BQoR3FaklgoYMlfPs5DSafwYmrcNSIN/qgYuVq20X
13
+ gPWPlCECgYEAwaKxim7x/moy+f9ToBDdsBTZN5LVRFiHvsaLa5yqOkCIgh3dfPJc
14
+ 5yKsKRWbabWRu9rbzCoJohPIwqHQQB1/WUj1C8a3axD2UTPIS5SPcnc/tn3lQ7a3
15
+ QJJqcDbfOKN23SD+TjFbQMn1xtJcG49nJThcksASCennK75zb67gi5cCgYEAwO0g
16
+ LiLQ4I5wz5VzLpuLvxRpVM8XzSDKJdoogkWQgTLqMpYhBMWHVtvpj3z8w+XDQ0wa
17
+ GrYrbmxT0BThgTb4crHY5QhO8HnhqH16O5DO801n2eWaU2G1F7dOeVA2AMCM8suG
18
+ pbYA6uvZPsgaW1rWLBcRWNIMjeExfcHZQle7qWMCgYBTOaIlZdoNB4gxe1RuD9G4
19
+ xL037ZxMa+CsVpnF/ugLcYE6q6tu8JyNm5Fzdx39KVUh8MdX0Rmi1+4J+ZKQfB0o
20
+ OvtXvGlJU1kLPb5w/cFJ6Ycw4JuRpw7MaiHlaTA4H8oO8QdchEo8ZpGEixWbot8q
21
+ WDcxu+wE5su9OXZUIk3QsQKBgQCh6F8RWPai/ed+zpWTj8Z/3cln+0SmSdZcXfGR
22
+ IoBbbTdOrN+Y+YzTQEuKuAIJBVIRsFRYBnn8ebz87Ak0P8XRu5+i1o4pEqBmnqdu
23
+ ReDoHxYAr8gMIfuwo42gEcjAaNfhCx09BLlQbg4ruhMkh98lsVZFjEIs78hxGbYT
24
+ Dz3WsQKBgQCQq07KnheugJPyQafu8gXmrcu3/zLWD6ODqDxo6vRVQlkzvaYJyI1n
25
+ 3uWcOSO0rCS2a8MVtchZ/oYaP6mSdK+UKB/ZKj9/ZnU0r/q92zrDtuRZmPxhf5Y2
26
+ l0oCU3KRVaN24va/FqFXT5iGeqMjhyX/tVXyHXWZXmoZTRr/CjZ0uQ==
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,25 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIESjCCAzKgAwIBAgIBADANBgkqhkiG9w0BAQsFADB6MQswCQYDVQQGEwJBVTEY
3
+ MBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZTeWRuZXkxEzARBgNV
4
+ BAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxGTAXBgNVBAMMEGNoZWYu
5
+ YW5pbWFscy5iaXowHhcNMTYwODE2MTkwNTIxWhcNMTcwODE2MTkwNTIxWjB6MQsw
6
+ CQYDVQQGEwJBVTEYMBYGA1UECAwPTmV3IFNvdXRoIFdhbGVzMQ8wDQYDVQQHDAZT
7
+ eWRuZXkxEzARBgNVBAoMCm1hcnN1cGlhbHMxEDAOBgNVBAsMB3dvbWJhdHMxGTAX
8
+ BgNVBAMMEGNoZWYuYW5pbWFscy5iaXowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
9
+ ggEKAoIBAQDjjPREND2CqfwNsv2L1s9M4EXF39gMDWAVnodje8zNQz9PGFSpH6OX
10
+ uPL1nMgpExxbbFjolwAHW9QxgyNphGBt1pgXbTAyCFDQzZZDxiSGpY8kFyVmtkXj
11
+ qiLpRrwgj4dz2eaP0DO0fYcxqQnY/uYSNMfpgsRpN2Z1aWxpwIzNWZdDqlLZ55vH
12
+ hcXsoZQC9D3aSujmMZM64T/akhekOwThmrWMvqAZ2SuoGZWaaPWLR7JU/uV6yViR
13
+ s9ZoDRG1bzhj8iJT7yq0WuCQGbxVe+3B973YYKEOOG9llgydGScTonBm419tS6/7
14
+ LXxWcFyqfKsaXMfIZgjGPqQpXQrnCkO1AgMBAAGjgdowgdcwDwYDVR0TAQH/BAUw
15
+ AwEB/zAdBgNVHQ4EFgQUqq+Vuw/bv/cyJSAlJcBEcxcnqOUwgaQGA1UdIwSBnDCB
16
+ mYAUqq+Vuw/bv/cyJSAlJcBEcxcnqOWhfqR8MHoxCzAJBgNVBAYTAkFVMRgwFgYD
17
+ VQQIDA9OZXcgU291dGggV2FsZXMxDzANBgNVBAcMBlN5ZG5leTETMBEGA1UECgwK
18
+ bWFyc3VwaWFsczEQMA4GA1UECwwHd29tYmF0czEZMBcGA1UEAwwQY2hlZi5hbmlt
19
+ YWxzLmJpeoIBADANBgkqhkiG9w0BAQsFAAOCAQEAOyIdSQYPwTHchFqKPF2vJbdr
20
+ 8sTUaD/FV4HxUMXZ74CnFq0QJWF7aV25876Qv3Z1YnqvlWLhe7ulQtl5NXHZB6dQ
21
+ VizWwDwac8Rf8MkkFruBZHwnhIYZn7vRFSZjkJj2NYX3eVbxJ6iDLsjtpy+F8+rE
22
+ KIl7CjuuKVK952F+zZemKmB9axHZtgtRVZPPIgkpK0wQCYiTMrFC85GcOyhjOdj6
23
+ 47leIuKUtIO1bBfda2GNBmEqXWrywUtjts37SBcw928cYCT1BX1UzJSNN0MpKTP0
24
+ qSqY8OIoMp7+dZ7QJHOyqSLW/07wmC4eHrhnYfl4VsZTA8zhvFsG65+fEPMIbQ==
25
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEpQIBAAKCAQEA44z0RDQ9gqn8DbL9i9bPTOBFxd/YDA1gFZ6HY3vMzUM/TxhU
3
+ qR+jl7jy9ZzIKRMcW2xY6JcAB1vUMYMjaYRgbdaYF20wMghQ0M2WQ8YkhqWPJBcl
4
+ ZrZF46oi6Ua8II+Hc9nmj9AztH2HMakJ2P7mEjTH6YLEaTdmdWlsacCMzVmXQ6pS
5
+ 2eebx4XF7KGUAvQ92kro5jGTOuE/2pIXpDsE4Zq1jL6gGdkrqBmVmmj1i0eyVP7l
6
+ eslYkbPWaA0RtW84Y/IiU+8qtFrgkBm8VXvtwfe92GChDjhvZZYMnRknE6JwZuNf
7
+ bUuv+y18VnBcqnyrGlzHyGYIxj6kKV0K5wpDtQIDAQABAoIBAFMoGcQrCyeLE0+2
8
+ T64g7FT9yMHNUdjlsm10J6oVffytTJ+NFrNPmqtBrZhQmV1ZXI2UhNFLDXmi92K4
9
+ t+JBvDOnrqExB+Hg5BfKadWOvZ5vNmZMByEID3ZpoKR7cxi7GxcdVILN5XdaQGPH
10
+ kI+6Zz3UCBKv9TM2Sb0yr6nd8hbArFAOyqaB91oSppbTftOhntd8SgSPZ5mLBSne
11
+ DxluTriTgpyKh6ebbLBob/q3QI//xzfVC6+H1b5p64r2vMNkZUjfVUz1atSF66Bg
12
+ R/i+51mMxZd7avdoU89kg9+QDlL8Sw/mc/VJL2uIqtc5aoXpMsjpcWZsBpVjUPAr
13
+ E10DMYECgYEA/FX9dr/zcZFzSxDWGVbd4tckuYG7Iz9aFgxqfUdbOSGV6w9b42Mh
14
+ 7Fqf3dAqAPCYkCmXH34o9QAHf31Ob5x0BNe6MBqoj1N8jpd5MQ4bCOkC3jtNScUt
15
+ yzpb53bMjBBJw2WpngxhKt6RBwer6OixV7Wx90uxF6te8LPPjE8oSqUCgYEA5trU
16
+ W8cLNjQrZkGChS2W9bDVD7kErx9kt0vCDDoOVXpuaAXUFJ46AzYTdqOqxZS3TuVu
17
+ ylz12BNl0HvE5lsRufVOOFcMKX/F10fKVYYc+bUaw6YLIIcb7EeHJ/MDtUv13eTX
18
+ SllxaCMWdS46PzenRnVcZaRY9qXqpJtpq5JGl9ECgYEAyf1XmPBMwpNI9ET07XHA
19
+ ym2oAysbDzsONOoZcFFnb5M3++LejmXzaMyefiO9C+WMapIwW9BUntI4LlCzMdrO
20
+ cHXzn8AnQBv3b/lG1QLSl05WsmhMFQpW/wCnQuCxGkmLknNV1KNaQMPK2hLFBPsH
21
+ wws5+5hGmYjfxdRaBpnyydUCgYEAve/z4uMcfWdlAcgKfEqrNtBcLIh8qx04P3ss
22
+ V+T4YCnQZvPMr34TmwrF7snwOooGW/p3MjZT64jiLyt2MFVje02yIra0AfznqR2f
23
+ AsjKVEVGlQyrgQLI3ZloQV03gtXRn9Slsb1vik+8LYNwVw0SKu1qrRIQRDb0nKRl
24
+ x80dGdECgYEA3zAihDetpNsnIZhY8D6jA0331TQiLGDwz/IFoeUm685I+R8NoViX
25
+ nuxjnNRrHbOKNs0spHe+VpYLMaSBmSz/fqJnAuNKFuIZvQtHOtTtfMDuH1+5dRzS
26
+ cWAmqPZfm1qfNy1zX8SQDeHcsexFZq9tQ2dj8Sezrt7HYwLMgoLtijA=
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,26 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEYTCCA0mgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UEBhMCQVUx
3
+ GDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UEBwwGU3lkbmV5MRMwEQYD
4
+ VQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRzMR8wHQYDVQQDDBZjb21w
5
+ bGlhbmNlLmFuaW1hbHMuYml6MB4XDTE2MDgxNjE5MDUyMVoXDTE3MDgxNjE5MDUy
6
+ MVowgYAxCzAJBgNVBAYTAkFVMRgwFgYDVQQIDA9OZXcgU291dGggV2FsZXMxDzAN
7
+ BgNVBAcMBlN5ZG5leTETMBEGA1UECgwKbWFyc3VwaWFsczEQMA4GA1UECwwHd29t
8
+ YmF0czEfMB0GA1UEAwwWY29tcGxpYW5jZS5hbmltYWxzLmJpejCCASIwDQYJKoZI
9
+ hvcNAQEBBQADggEPADCCAQoCggEBAMdE1m4ETjyi5sbjQX28ICx11VGghz9f1vkB
10
+ uWukAt1CB6yUnXiwblGyJUKuaAk5GVdDCoGsKqpPgdAaPuTfB50kWEoxY5qBQ+i9
11
+ Pnau9VCXowNE00DsDhZRyuLj7Mf+NUfkWJ7EXG7wb8qPZpmZBwRNYavJFSrMtHt5
12
+ QFE4IsTQ/UXJyZqa6PIq7t4mDVEH0kg6/qsP5lpXPIMlq+t9BtUxm91b4EeqfUJY
13
+ DUp0I9gTSRCyt8UHjhfm2T0kE09jCEJNut/SuZUhW/F1/Fja3GDYlmqJGePl+3mZ
14
+ 39TyVJab9V/xxOxSkCYOXvoN3l2SCJh6ufRfd3dHSTR+aiZgltsCAwEAAaOB4zCB
15
+ 4DAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRQ2/l7IAoxWdKfGtGTyUG1HoDc
16
+ 7zCBrQYDVR0jBIGlMIGigBRQ2/l7IAoxWdKfGtGTyUG1HoDc76GBhqSBgzCBgDEL
17
+ MAkGA1UEBhMCQVUxGDAWBgNVBAgMD05ldyBTb3V0aCBXYWxlczEPMA0GA1UEBwwG
18
+ U3lkbmV5MRMwEQYDVQQKDAptYXJzdXBpYWxzMRAwDgYDVQQLDAd3b21iYXRzMR8w
19
+ HQYDVQQDDBZjb21wbGlhbmNlLmFuaW1hbHMuYml6ggEAMA0GCSqGSIb3DQEBCwUA
20
+ A4IBAQCEMqbYpgcYpKyrPXnjFBPcL7w86wOwc3SjjbdIKPiZx2bLoL+Bt0a2YEam
21
+ HsqXpl7YoRaCwj3SimPUledvjPD1Kta3bfkRItqXKSI7Fj+3/Dn5y43iIC1yZVa8
22
+ s7fxh2elGUMjrwzzW/47M5ILZVkPK7a3BszErXnQkUkkZXGELf2uzNvvB+leCPxD
23
+ jmA+M+AEJcvhjM1R2dVlIF1LcFbS1nKUCLr51EvskgVWkpcLSGb443zT3OggQrdq
24
+ /CF4E0KlLSW4ZM605Zkd19QvvlXToy4BBb3gXKHPb8Av+DtKBQOb4e2sO/CoD8Sx
25
+ dIEfFGQ1ouwf2vQ/UOLWXKMfi6PJ
26
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEpAIBAAKCAQEAx0TWbgROPKLmxuNBfbwgLHXVUaCHP1/W+QG5a6QC3UIHrJSd
3
+ eLBuUbIlQq5oCTkZV0MKgawqqk+B0Bo+5N8HnSRYSjFjmoFD6L0+dq71UJejA0TT
4
+ QOwOFlHK4uPsx/41R+RYnsRcbvBvyo9mmZkHBE1hq8kVKsy0e3lAUTgixND9RcnJ
5
+ mpro8iru3iYNUQfSSDr+qw/mWlc8gyWr630G1TGb3VvgR6p9QlgNSnQj2BNJELK3
6
+ xQeOF+bZPSQTT2MIQk2639K5lSFb8XX8WNrcYNiWaokZ4+X7eZnf1PJUlpv1X/HE
7
+ 7FKQJg5e+g3eXZIImHq59F93d0dJNH5qJmCW2wIDAQABAoIBAGmTxFTH/TfNS56G
8
+ 27Uljppf2CUGe4INYlXOHxKz9DyMdoputzwxplGspGc/BqoUUaPVRmTL9lMECxBa
9
+ R4Z10I/mqMyufEppQLS4R7cUHa+Ul+7scU1NhG046tjp0BNqUYqEppuACEVTKLfW
10
+ 4JJy7K/P2/brdEaX7OwaowQlTO6fqDzQyPA9/0RJXGWHFGVpg+RI1EbLwz60mbmv
11
+ Dkuibz3xh7K8egoweI8+2XJ0cih3QKA6EIF0+A+tS9/776vYrpQE1CR8ToIveQ3D
12
+ zg6n/qx07BK1f3r8wRoT7mdUkK5McJNHCI6oc3yhXFgV4T2DL4tCCKQrc0Aozo+Q
13
+ Gi619MkCgYEA79o7/F9U3cJ4yzCiuiqYSP17LBcFZ2UctSL2eC703VmlQCWOpTyo
14
+ Ek6Vy4QCcZCFGhLdjhP0gd9ITTqSFrQM2acu1zLQ/me2/jRnxpLwXGwW0sK1+RKZ
15
+ dyTzOgeLzyXE3uu87ri5CEuV52VpMghhpSYqQB5Ny8Z0Jsc67Z8JI68CgYEA1K8p
16
+ KsK1mkeZxm/YQhQwZvWH9Lso7+7HWa92xLbXmmRIK+HiJgEECMP5R/sOWHtBtOAD
17
+ PIZiIzYvCCBT3hIopySyymSJrr5W6lcbldevBbjKdcf4+lf1VbjcDS3z5hjW60go
18
+ ZJduuV4O+OaWpAGUh9HhrkLyilFTms3xhtgozpUCgYEAsX8r0xjtYerPn3aPhfuN
19
+ lL5ZD4i9zAVMmFOWV9xQAxqbKvxgMrHPozSar/AyKr6LcX8yjDkCQbXt+JD2mWyG
20
+ 8e9Bv6lwdkRkbHx1q8MDszGeNjw3lGoKPdyPTotVEGff6CRGPddfvt7IwWQP1CHV
21
+ uPSkYazLX5iuTiAz4LNHfSsCgYAjeHsTKJoE+wAIekrE6n0QDs733+b57QbOTFcw
22
+ g5X9p8/pkaiX0f+MPrLqcFJ6K0RQGDQx+e+QE89QOaQDG2AwUAyJeK8Ft7TjLFfr
23
+ a6dC+wi5D/rUNasy+ruobwuISog9gTFLZX4P6EHy/PIOtDzDUhujZoLw0pNw8/ve
24
+ E1rq6QKBgQCVf8zGyBV5jFgjoYupftdFR0LtwN6QkoUpLRXJUpumZ8DB19GmuC6a
25
+ pFZWmb0skbhGJEDRJIGm1/iI0JW1f2lMUXRf/vg7MnUituPH1wU6gbCBMvZyHfYO
26
+ tMnv/Cy0gc21YfrCWFkCvWqZFyILWDnL0C6gi0kPkpR76H02qiKr7w==
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEAobOupXCnCk2Uo1B+Qp6irh6Kyf7J4ldrYukB5M2ygZMCHFzS
3
+ VRdevIA7fw9d64JD8PSy55aTAbDB7fHu6d9uKmVLFemFDpYc05cyRPuMaw9A0gZg
4
+ TcdcdQFKYmkc7Qfam/mVGuHIq7yXth/20m+LKQXbog88epdnTSEQI3YJG3a+ITxm
5
+ 0gHDAG8r9nYoc0DySA432Jrnr8GSHfmHU9lzTn2bPfr1DscSWrb1fDtSroaqnp4m
6
+ DmnQ3ZF/M4SWRHIysKDplF6rvN1hNNRtHngw0tdcpgqEPWbC4Q9Kv1o1c/Jh1d5d
7
+ gqzMqfY1goKx1WfBLA9Nl2D31tcyNzS/Ck58hQIDAQABAoIBABzQ53umEq58WtOr
8
+ wYRfvr/mw3bxx8plJ8btnR/IJFqA9yxUwkrVqlVPSMsA0wzoHvFuuf8ZT0NK25Rq
9
+ u9fDsF8vw+y4u7R4vdRbKmMurLxbcIK9DiZuM6TKQRY+gyAeeS+4j4DF4bvxFNwo
10
+ 4BRqOlNqLtS3gGCcYJVXIggfvcm92+gLGpuZdXGidMm9mbXCNnHxM181vqH44APl
11
+ M+eOjC3TleM7JbyUBCidczkyesknenVmml8h0ljdL8nnH1aya+lDgOQQeRPLu7oy
12
+ X+zTsqFNs4POIKNNsgeYr9A7bO7VTS1/q+Jp9qxmHtaU9RX9yM7qAKhsGX02Y3uv
13
+ W4ETJdUCgYEAzm+HVz3q4HdKydrVDH5CCoz+hR5VkLY4DyEE/TUlvCenkO1wC6oW
14
+ abAC1lkxg8I0r9P6hByzbGPkoM1F/34VDj2dWMyYbLYpvLm4SwO4zlN2VectB94r
15
+ ejXlF+LJuZY7BWosEjAmHzNwsWoCtBwSOoGuvq+Vtvrqh3Z2MDXkjwMCgYEAyIac
16
+ 6brMUC0JrQDQI5PC/oYW1ktVMO2q36towxgulMBjfolsZnN9xGGhx0TB3kZh5t6E
17
+ 3MKwxUHxmDXp3TTuloxSc3u0gpOmQpEz5DiF1eeZj6qvW2rR3WMkmaUO+o5iPyPv
18
+ Sc7bnUzbU4zVC/kOtTrEK7AJHNaUKXgP625Ry9cCgYBHcj4rKZjS2zadKgm2azQ8
19
+ JpQoSlle3lIEmm75m51Vw3uxIxw2TUW4ilxRB0mlyl8lw33en3hRuTj1llX1mRN8
20
+ fEKq6xSN+3XyhWyNOdqKPkSkcoAZSwFNKL4DSFB81MvUkexy1ws6nTkRjhklcNm2
21
+ Og/amzZ7v9fPzmYVRXG3NQKBgBEkAJGyF/jagLM7GI+R998N0zHqKpQOHMcVvdS/
22
+ YmvwrhCI6q0vPhblSZDg/blkRsYXS0AbnESgSGh8Y0s3VRWlVP7uGhX3TQTvqIHf
23
+ mwEX1PaE3oxv6xSDfwNrKoacWSWQisnCVt9xTGYt6aAmX+154n7hg0XlybBpxOKZ
24
+ AYDtAoGAK0f1NlxcgsPgrkbQS34mPCNIlpShPaT8daf04h5tCWjlMDF4s3Ap6DRs
25
+ iDmQ5d9oIWRH+9m3vNu+5gaW0bb63swpsHkHwA7oaoEqbpsSQccAtWHQ/zGbSFMl
26
+ mNMSSx2Mceeyveg45rokfQ2OCvvrv+XCdyH2AZJJ2vGvJudcxW0=
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChs66lcKcKTZSjUH5CnqKuHorJ/sniV2ti6QHkzbKBkwIcXNJVF168gDt/D13rgkPw9LLnlpMBsMHt8e7p324qZUsV6YUOlhzTlzJE+4xrD0DSBmBNx1x1AUpiaRztB9qb+ZUa4cirvJe2H/bSb4spBduiDzx6l2dNIRAjdgkbdr4hPGbSAcMAbyv2dihzQPJIDjfYmuevwZId+YdT2XNOfZs9+vUOxxJatvV8O1KuhqqeniYOadDdkX8zhJZEcjKwoOmUXqu83WE01G0eeDDS11ymCoQ9ZsLhD0q/WjVz8mHV3l2CrMyp9jWCgrHVZ8EsD02XYPfW1zI3NL8KTnyF
@@ -0,0 +1,2 @@
1
+ name 'mock_data'
2
+ version '0.0.1'
@@ -0,0 +1,23 @@
1
+ # copy files into tmp for cookbook
2
+
3
+ cookbook_file '/tmp/public.pub' do
4
+ content 'public.pub'
5
+ action :create
6
+ sensitive true
7
+ end
8
+
9
+ cookbook_file '/tmp/private.pem' do
10
+ content 'private.pem'
11
+ action :create
12
+ sensitive true
13
+ end
14
+
15
+ %w(chef automate compliance).each do |f|
16
+ %w(crt key).each do |ext|
17
+ cookbook_file "/tmp/#{f}.#{ext}" do
18
+ content "#{f}.#{ext}"
19
+ action :create
20
+ sensitive true
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,47 @@
1
+ # chef-server tests
2
+
3
+ describe command('hostname') do
4
+ its('stdout') { should eq "chef\n" }
5
+ end
6
+
7
+ describe file('/home/vagrant/.ssh/authorized_keys') do
8
+ its('content') { file("/tmp/public.pub").content }
9
+ end
10
+
11
+ describe package('chef-server-core') do
12
+ it { should be_installed }
13
+ its('version') { should match '12.8.0' }
14
+ end
15
+
16
+ describe package('chef-manage') do
17
+ it { should be_installed }
18
+ its('version') { should match '2.4.2' }
19
+ end
20
+
21
+ describe package('opscode-push-jobs-server') do
22
+ it { should be_installed }
23
+ its('version') { should match '2.1.0' }
24
+ end
25
+
26
+ describe command('chef-server-ctl org-list') do
27
+ its('stdout') { should eq "marsupials\n" }
28
+ end
29
+
30
+ describe command('chef-server-ctl user-list') do
31
+ its('stdout') { should match "workstation-1" }
32
+ its('stdout') { should match "automate" }
33
+ its('stdout') { should match "pivotal" }
34
+ end
35
+
36
+ %w(crt key).each do |ext|
37
+ describe file("/var/opt/opscode/nginx/ca/chef.animals.biz.#{ext}") do
38
+ its('content') { should eq file("/tmp/chef.#{ext}").content }
39
+ end
40
+ end
41
+
42
+ describe file('/etc/hosts') do
43
+ its('content') { should match /172.31.54.10\s.*chef.animals.biz chef/ }
44
+ its('content') { should match /172.31.54.11\s.*automate.animals.biz automate/ }
45
+ its('content') { should match /172.31.54.12\s.*compliance.animals.biz compliance/ }
46
+ its('content') { should match /172.31.54.51\s.*build-node-1.animals.biz build-node-1/ }
47
+ end
@@ -0,0 +1,16 @@
1
+ .vagrant
2
+ Berksfile.lock
3
+ *~
4
+ *#
5
+ .#*
6
+ \#*#
7
+ .*.sw[a-z]
8
+ *.un~
9
+
10
+ # Bundler
11
+ Gemfile.lock
12
+ bin/*
13
+ .bundle/*
14
+
15
+ .kitchen/
16
+ .kitchen.local.yml
@@ -0,0 +1,26 @@
1
+ ---
2
+ driver:
3
+ name: ec2
4
+ aws_ssh_key_id: <%= ENV["EC2_SSH_KEY_NAME"] %>
5
+ region: us-east-1
6
+ availability_zone: e
7
+ instance_type: m3.large
8
+
9
+ provisioner:
10
+ name: chef_zero
11
+
12
+ verifier:
13
+ name: inspec
14
+
15
+ platforms:
16
+ - name: ubuntu-1404
17
+ driver:
18
+ image_id: ami-8e0b9499
19
+ transport:
20
+ ssh_key: <%= ENV["EC2_SSH_KEY_PATH"] %>
21
+
22
+ suites:
23
+ - name: default
24
+ run_list:
25
+ - recipe[mock_data]
26
+ - recipe[compliance]
@@ -0,0 +1,24 @@
1
+ ---
2
+ driver:
3
+ name: vagrant
4
+ customize:
5
+ memory: 1024
6
+ cpus: 2
7
+
8
+ provisioner:
9
+ name: chef_zero
10
+
11
+ verifier:
12
+ name: inspec
13
+
14
+ platforms:
15
+ - name: ubuntu-14.04
16
+
17
+ suites:
18
+ - name: default
19
+ run_list:
20
+ - recipe[mock_data]
21
+ - recipe[compliance]
22
+ attributes:
23
+ demo:
24
+ admin-user: 'vagrant'
@@ -0,0 +1,7 @@
1
+ source 'https://supermarket.chef.io'
2
+
3
+ metadata
4
+
5
+ cookbook 'ccc', git: 'https://github.com/cheeseplus/ccc.git', branch: "updates"
6
+ cookbook 'wombat', path: '../wombat'
7
+ cookbook 'mock_data', path: 'test/fixtures/cookbooks/mock_data'
@@ -0,0 +1,4 @@
1
+ # compliance
2
+
3
+ This is an ultralight compliance cookbook that may or may not be replaced by existing
4
+ cookbooks in the future but is currently better than shell scripts