wombat-cli 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/DESIGN.md +2 -1
  4. data/README.md +10 -32
  5. data/Rakefile +1 -52
  6. data/cookbooks/automate/.kitchen.ec2.yml +8 -1
  7. data/cookbooks/automate/.kitchen.yml +0 -1
  8. data/cookbooks/automate/metadata.rb +0 -2
  9. data/cookbooks/automate/recipes/default.rb +4 -3
  10. data/cookbooks/automate/test/integration/default/automate_spec.rb +3 -2
  11. data/cookbooks/build_node/.kitchen.ec2.yml +8 -1
  12. data/cookbooks/build_node/metadata.rb +0 -3
  13. data/cookbooks/build_node/recipes/default.rb +5 -2
  14. data/cookbooks/build_node/test/integration/default/build-node_spec.rb +3 -2
  15. data/cookbooks/chef_server/.kitchen.ec2.yml +8 -0
  16. data/cookbooks/chef_server/.kitchen.yml +0 -1
  17. data/cookbooks/chef_server/metadata.rb +0 -2
  18. data/cookbooks/chef_server/recipes/{cheffish.rb → bootstrap_users.rb} +1 -1
  19. data/cookbooks/chef_server/recipes/default.rb +30 -14
  20. data/cookbooks/chef_server/test/integration/default/chef_server_spec.rb +7 -4
  21. data/cookbooks/compliance/.kitchen.ec2.yml +8 -0
  22. data/cookbooks/compliance/metadata.rb +0 -1
  23. data/cookbooks/compliance/recipes/default.rb +5 -7
  24. data/cookbooks/compliance/test/integration/default/compliance.rb +3 -2
  25. data/cookbooks/infranodes/.kitchen.ec2.yml +23 -2
  26. data/cookbooks/infranodes/recipes/default.rb +25 -9
  27. data/cookbooks/infranodes/test/fixtures/cookbooks/mock_data/recipes/default.rb +9 -3
  28. data/cookbooks/infranodes/test/integration/default/infranodes_spec.rb +11 -9
  29. data/cookbooks/wombat/attributes/default.rb +2 -0
  30. data/cookbooks/wombat/metadata.rb +2 -0
  31. data/cookbooks/wombat/recipes/authorized-keys.rb +10 -0
  32. data/cookbooks/workstation/recipes/certs-keys.rb +2 -1
  33. data/cookbooks/workstation/templates/default/ssh_config.erb +2 -2
  34. data/lib/wombat/build.rb +138 -120
  35. data/lib/wombat/cli.rb +8 -0
  36. data/lib/wombat/common.rb +27 -12
  37. data/lib/wombat/deploy.rb +33 -26
  38. data/lib/wombat/version.rb +1 -1
  39. data/packer/automate.json +7 -5
  40. data/packer/build-node.json +6 -4
  41. data/packer/chef-server.json +11 -6
  42. data/packer/compliance.json +6 -5
  43. data/packer/infranodes-windows.json +100 -0
  44. data/packer/infranodes.json +6 -5
  45. data/packer/workstation.json +5 -4
  46. data/stacks/.gitkeep +0 -0
  47. data/templates/bootstrap-aws.erb +2 -2
  48. data/templates/cfn.json.erb +16 -15
  49. data/wombat.example.yml +45 -35
  50. metadata +5 -15
  51. data/packer/mock-data/.gitignore +0 -16
  52. data/packer/mock-data/.kitchen.yml +0 -21
  53. data/packer/mock-data/Berksfile +0 -3
  54. data/packer/mock-data/README.md +0 -4
  55. data/packer/mock-data/chefignore +0 -102
  56. data/packer/mock-data/metadata.rb +0 -7
  57. data/packer/mock-data/recipes/default.rb +0 -69
  58. data/packer/mock-data/spec/spec_helper.rb +0 -2
  59. data/packer/mock-data/spec/unit/recipes/default_spec.rb +0 -20
  60. data/packer/mock-data/test/integration/default/serverspec/default_spec.rb +0 -9
  61. data/packer/mock-data/test/integration/helpers/serverspec/spec_helper.rb +0 -8
@@ -1,102 +0,0 @@
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
@@ -1,7 +0,0 @@
1
- name 'mock-data'
2
- maintainer 'The Authors'
3
- maintainer_email 'you@example.com'
4
- license 'all_rights'
5
- description 'Installs/Configures mock-data'
6
- long_description 'Installs/Configures mock-data'
7
- version '0.1.0'
@@ -1,69 +0,0 @@
1
- #
2
- # Cookbook Name:: mock-data
3
- # Recipe:: default
4
- #
5
- # Copyright (c) 2016 The Authors, All Rights Reserved.
6
-
7
- require 'cheffish'
8
- Chef::Config.ssl_verify_mode :verify_none
9
-
10
- config = {
11
- :chef_server_url => 'https://chef',
12
- :options => {
13
- :client_name => 'pivotal',
14
- :signing_key_filename => '/etc/opscode/pivotal.pem'
15
- }
16
- }
17
-
18
- #taken from cheffish
19
- chef_user 'automate' do
20
- chef_server config
21
- admin true
22
- display_name 'automate'
23
- email 'chefeval@chef.io'
24
- password 'automate'
25
- source_key_path '/tmp/private.pem'
26
- end
27
-
28
- chef_user 'workstation' do
29
- chef_server config
30
- admin true
31
- display_name 'workstation'
32
- email 'workstation@chef.io'
33
- password 'workstation'
34
- source_key_path '/tmp/private.pem'
35
- end
36
-
37
- chef_organization "#{ENV['ORG']}" do
38
- members ['automate', 'workstation']
39
- chef_server config
40
- end
41
-
42
- conf_with_org = config.merge({
43
- :chef_server_url => "#{config[:chef_server_url]}/organizations/#{ENV['ORG']}"
44
- })
45
-
46
- build_nodes = []
47
- num = ENV['BUILD_NODES'].to_i
48
-
49
- 1.upto(num) do |i|
50
- build_nodes << "build-node-#{i}"
51
- end
52
-
53
- build_nodes.each do |node_name|
54
- chef_node node_name do
55
- tag 'delivery-build-node'
56
- chef_server conf_with_org
57
- end
58
-
59
- chef_client node_name do
60
- source_key_path '/tmp/private.pem'
61
- chef_server conf_with_org
62
- end
63
- end
64
-
65
- chef_acl "" do
66
- rights :all, users: %w(automate workstation), clients: build_nodes
67
- recursive true
68
- chef_server conf_with_org
69
- end
@@ -1,2 +0,0 @@
1
- require 'chefspec'
2
- require 'chefspec/berkshelf'
@@ -1,20 +0,0 @@
1
- #
2
- # Cookbook Name:: mock-data
3
- # Spec:: default
4
- #
5
- # Copyright (c) 2016 The Authors, All Rights Reserved.
6
-
7
- require 'spec_helper'
8
-
9
- describe 'mock-data::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
@@ -1,9 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'mock-data::default' do
4
- # Serverspec examples can be found at
5
- # http://serverspec.org/resource_types.html
6
- it 'does something' do
7
- skip 'Replace this with meaningful tests'
8
- end
9
- end
@@ -1,8 +0,0 @@
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