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,41 @@
1
+ #
2
+ # Cookbook Name:: infranodes
3
+ # Recipe:: default
4
+ #
5
+ # Copyright (c) 2016 The Authors, All Rights Reserved.
6
+
7
+ chef_ingredient 'chef' do
8
+ channel node['demo']['versions']['chef'].split('-')[0].to_sym
9
+ version node['demo']['versions']['chef'].split('-')[1]
10
+ action :install
11
+ end
12
+
13
+ directory '/etc/chef'
14
+
15
+ template '/etc/chef/client.rb' do
16
+ source 'client.rb.erb'
17
+ variables({
18
+ :chef_server_url => node['demo']['chef_server_url'],
19
+ :name => node['demo']['node-name'],
20
+ :automate_fqdn => node['demo']['automate_fqdn']
21
+ })
22
+ end
23
+
24
+ file '/etc/chef/client.pem' do
25
+ content lazy { IO.read('/tmp/private.pem') }
26
+ end
27
+
28
+ ###todo: centralize this into the wombat cookbook
29
+ directory '/etc/chef/trusted_certs'
30
+
31
+ %w(chef automate compliance).each do |f|
32
+ file "/etc/chef/trusted_certs/#{node['demo']['domain_prefix']}#{f}_#{node['demo']['domain'].tr('.','_')}.crt" do
33
+ content lazy { IO.read("/tmp/#{f}.crt") }
34
+ end
35
+ end
36
+ ###
37
+ node.set['push_jobs']['chef']['chef_server_url'] = node['demo']['chef_server_url']
38
+ node.set['push_jobs']['chef']['node_name'] = node['demo']['node-name']
39
+ include_recipe 'wombat::authorized-keys'
40
+ include_recipe 'wombat::etc-hosts'
41
+ include_recipe 'push-jobs'
@@ -0,0 +1,2 @@
1
+ require 'chefspec'
2
+ require 'chefspec/berkshelf'
@@ -0,0 +1,20 @@
1
+ #
2
+ # Cookbook Name:: infranodes
3
+ # Spec:: default
4
+ #
5
+ # Copyright (c) 2016 The Authors, All Rights Reserved.
6
+
7
+ require 'spec_helper'
8
+
9
+ describe 'infranodes::default' do
10
+ context 'When all attributes are default, on an unspecified platform' do
11
+ let(:chef_run) do
12
+ runner = ChefSpec::ServerRunner.new
13
+ runner.converge(described_recipe)
14
+ end
15
+
16
+ it 'converges successfully' do
17
+ expect { chef_run }.to_not raise_error
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,5 @@
1
+ chef_server_url '<%= @chef_server_url %>'
2
+ client_key '/etc/chef/client.pem'
3
+ node_name '<%= @name %>'
4
+ data_collector.server_url "https://<%= @automate_fqdn %>/data-collector/v0/"
5
+ data_collector.token "93a49a4f2482c64126f7b6015e6b0f30284287ee4054ff8807fb63d9cbd1c506"
@@ -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,3 @@
1
+ name 'mock_data'
2
+ version '0.0.1'
3
+
@@ -0,0 +1,21 @@
1
+ # copy files into tmp for cookbook
2
+
3
+ cookbook_file '/tmp/public.pub' do
4
+ content 'public.pub'
5
+ action :create
6
+ end
7
+
8
+ cookbook_file '/tmp/private.pem' do
9
+ content 'private.pem'
10
+ action :create
11
+ end
12
+
13
+ %w(chef automate compliance).each do |f|
14
+ %w(crt key).each do |ext|
15
+ cookbook_file "/tmp/#{f}.#{ext}" do
16
+ content "#{f}.#{ext}"
17
+ action :create
18
+ sensitive true
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ # automate tests
2
+
3
+ describe file('/home/ubuntu/.ssh/authorized_keys') do
4
+ its('content') { file("/tmp/public.pub").content }
5
+ end
6
+
7
+ describe package('push-jobs-client') do
8
+ it { should be_installed }
9
+ end
10
+
11
+ describe file('/etc/hosts') do
12
+ its('content') { should match /172.31.54.10\s.*chef.animals.biz chef/ }
13
+ its('content') { should match /172.31.54.11\s.*automate.animals.biz automate/ }
14
+ its('content') { should match /172.31.54.12\s.*compliance.animals.biz compliance/ }
15
+ its('content') { should match /172.31.54.51\s.*build-node-1.animals.biz build-node-1/ }
16
+ its('content') { should match /172.31.54.201\s.*workstation-1.animals.biz workstation-1/ }
17
+ end
18
+
19
+ # add tests to verify users and passwords
20
+ # delivery-ctl list-users doesn't work
@@ -0,0 +1,8 @@
1
+ require 'serverspec'
2
+
3
+ if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM).nil?
4
+ set :backend, :exec
5
+ else
6
+ set :backend, :cmd
7
+ set :os, family: 'windows'
8
+ 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,43 @@
1
+ ---
2
+ driver:
3
+ name: vagrant
4
+ customize:
5
+ cpus: 2
6
+ memory: 2048
7
+ synced_folders:
8
+ - ["../../", "/tmp/wombat"]
9
+
10
+ provisioner:
11
+ name: chef_zero
12
+
13
+ # Uncomment the following verifier to leverage Inspec instead of Busser (the
14
+ # default verifier)
15
+ # verifier:
16
+ # name: inspec
17
+
18
+ platforms:
19
+ - name: ubuntu-14.04
20
+
21
+ suites:
22
+ - name: default
23
+ run_list:
24
+ - recipe[git::default]
25
+ - recipe[packman::default]
26
+ - recipe[wombat::default]
27
+ attributes:
28
+ demo:
29
+ build-nodes: 1
30
+ versions:
31
+ automate: current-0.4.553
32
+ chefdk: stable-0.16.28
33
+ wombat:
34
+ packer:
35
+ aws:
36
+ secret_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
37
+ access_key: <%= ENV['AWS_ACCESS_KEY_ID'] %>
38
+ keypair: andre
39
+ packman:
40
+ checksums:
41
+ 0.10.1: 7d51fc5db19d02bbf32278a8116830fae33a3f9bd4440a58d23ad7c863e92e28
42
+ version: 0.10.1
43
+
@@ -0,0 +1,6 @@
1
+ source 'https://supermarket.chef.io'
2
+
3
+ metadata
4
+
5
+ cookbook 'packman', git: 'https://github.com/chef-partners/packman'
6
+ cookbook 'git'
@@ -0,0 +1,4 @@
1
+ # wombat
2
+
3
+ TODO: Enter the cookbook description here.
4
+
@@ -0,0 +1,71 @@
1
+ default['demo']['domain_prefix'] = ''
2
+ default['demo']['domain'] = 'animals.biz'
3
+ default['demo']['enterprise'] = 'mammals'
4
+ default['demo']['org'] = 'marsupials'
5
+ default['demo']['build-nodes'] = 1
6
+ default['demo']['workstations'] = 1
7
+ default['demo']['infranodes'] = {}
8
+ default['demo']['admin-user'] = 'ubuntu'
9
+ default['demo']['versions'].tap do |pkg|
10
+ pkg['chef'] = 'stable-latest'
11
+ pkg['chefdk'] = 'stable-latest'
12
+ pkg['chef-server'] = 'stable-latest'
13
+ pkg['automate'] = 'stable-latest'
14
+ pkg['compliance'] = 'stable-latest'
15
+ end
16
+
17
+ default['demo']['hosts'] = {
18
+ 'chef' => '172.31.54.10',
19
+ 'automate' => '172.31.54.11',
20
+ 'compliance' => '172.31.54.12'
21
+ }
22
+
23
+ default['demo']['automate_fqdn'] = "#{node['demo']['domain_prefix']}automate.#{node['demo']['domain']}"
24
+ default['demo']['chef_fqdn'] = "#{node['demo']['domain_prefix']}chef.#{node['demo']['domain']}"
25
+ default['demo']['chef_server_url'] = "https://#{node['demo']['chef_fqdn']}/organizations/#{node['demo']['org']}"
26
+ default['demo']['compliance_fqdn'] = "#{node['demo']['domain_prefix']}compliance.#{node['demo']['domain']}"
27
+
28
+ default['demo']['pkgs'] = %w(
29
+ cmder
30
+ googlechrome
31
+ atom
32
+ git
33
+ hub
34
+ gitextensions
35
+ git-credential-manager-for-windows
36
+ )
37
+
38
+ default['demo']['tutorial_url'] = 'https://learn.chef.io/tutorials/#chef-automate'
39
+
40
+ default['demo']['users'] = {
41
+ "admin" => {
42
+ "first" => "admin",
43
+ "last" => "user",
44
+ "email" => "administrator@#{node['demo']['domain']}",
45
+ "password" => "eval4me!",
46
+ "roles" => ["admin"],
47
+ "ssh_key" => "/tmp/public.pub",
48
+ "pem" => "/tmp/private.pem"
49
+ },
50
+ "automate" => {
51
+ "first" => "automate",
52
+ "last" => "user",
53
+ "email" => "automate@#{node['demo']['domain']}",
54
+ "password" => "automate!",
55
+ "roles" => ["admin"],
56
+ "ssh_key" => "/tmp/public.pub",
57
+ "pem" => "/tmp/private.pem"
58
+ }
59
+ }
60
+
61
+ 1.upto(node['demo']['workstations'].to_i) do |i|
62
+ default['demo']['users']["workstation-#{i}"] = {
63
+ "first" => "workstation-#{i}",
64
+ "last" => "user",
65
+ "email" => "workstation-#{i}@#{node['demo']['domain']}",
66
+ "password" => "workstation!",
67
+ "roles" => ["admin"],
68
+ "ssh_key" => "/tmp/public.pub",
69
+ "pem" => "/tmp/private.pem"
70
+ }
71
+ end
@@ -0,0 +1,18 @@
1
+ default['wombat']['packer']['aws'].tap do |a|
2
+ a['region'] = "us-west-2"
3
+ a['secret_key'] = "xxxxx"
4
+ a['access_key'] = "xxxxx"
5
+ a['keypair'] = "xxxxx"
6
+ a['source_ami']['ubuntu'] = "ami-8c4cb0ec"
7
+ a['source_ami']['windows'] = "ami-87c037e7"
8
+ end
9
+
10
+ default['wombat']['packer']['azure'].tap do |az|
11
+ az['client_id'] = "xxxxx"
12
+ az['tenant_id'] = "xxxxx"
13
+ az['client_secret'] = "xxxxx"
14
+ az['subscription_id'] = "xxxxx"
15
+ az['storage_account'] = "xxxxx"
16
+ az['resource_group'] = "xxxxx"
17
+ end
18
+
@@ -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,11 @@
1
+ name 'wombat'
2
+ maintainer 'The Authors'
3
+ maintainer_email 'you@example.com'
4
+ license 'all_rights'
5
+ description 'Installs/Configures wombat'
6
+ long_description 'Installs/Configures wombat'
7
+ version '0.2.0'
8
+
9
+ depends 'hostsfile'
10
+ depends 'apt'
11
+ depends 'chef-ingredient'
@@ -0,0 +1,10 @@
1
+ #
2
+ # Cookbook Name:: wombat
3
+ # Recipe:: authorized-keys
4
+ #
5
+ # Copyright (c) 2016 The Authors, All Rights Reserved.
6
+
7
+ append_if_no_line "Add certificate to authorized_keys" do
8
+ path "/home/#{node['demo']['admin-user']}/.ssh/authorized_keys"
9
+ line lazy { IO.read('/tmp/public.pub') }
10
+ end