inception 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.chef/knife.rb +4 -0
- data/.gitignore +20 -0
- data/.kitchen.yml +42 -0
- data/.rspec +3 -0
- data/.travis.yml +23 -0
- data/Berksfile +8 -0
- data/Berksfile.lock +9 -0
- data/Gemfile +18 -0
- data/LICENSE.txt +22 -0
- data/README.md +139 -0
- data/Rakefile +66 -0
- data/TODO.md +26 -0
- data/bin/bosh-inception +8 -0
- data/config/ssh/kitchen-aws +23 -0
- data/cookbooks/bosh_inception/README.md +15 -0
- data/cookbooks/bosh_inception/attributes/default.rb +20 -0
- data/cookbooks/bosh_inception/files/default/Gemfile.cf +4 -0
- data/cookbooks/bosh_inception/files/default/Gemfile.micro +5 -0
- data/cookbooks/bosh_inception/metadata.rb +32 -0
- data/cookbooks/bosh_inception/recipes/default.rb +15 -0
- data/cookbooks/bosh_inception/recipes/install_bosh.rb +37 -0
- data/cookbooks/bosh_inception/recipes/install_ruby.rb +10 -0
- data/cookbooks/bosh_inception/recipes/mount_store_volume.rb +24 -0
- data/cookbooks/bosh_inception/recipes/packages.rb +23 -0
- data/cookbooks/bosh_inception/recipes/setup_git.rb +34 -0
- data/cookbooks/bosh_inception/recipes/useful_dirs.rb +13 -0
- data/inception.gemspec +42 -0
- data/lib/bosh/providers.rb +41 -0
- data/lib/bosh/providers/README.md +5 -0
- data/lib/bosh/providers/cli/aws_provider_cli.rb +58 -0
- data/lib/bosh/providers/cli/openstack_provider_cli.rb +47 -0
- data/lib/bosh/providers/cli/provider_cli.rb +17 -0
- data/lib/bosh/providers/clients/aws_provider_client.rb +168 -0
- data/lib/bosh/providers/clients/fog_provider_client.rb +161 -0
- data/lib/bosh/providers/clients/openstack_provider_client.rb +65 -0
- data/lib/bosh/providers/constants/aws_constants.rb +25 -0
- data/lib/bosh/providers/constants/openstack_constants.rb +12 -0
- data/lib/inception.rb +9 -0
- data/lib/inception/cli.rb +136 -0
- data/lib/inception/cli_helpers/display.rb +26 -0
- data/lib/inception/cli_helpers/infrastructure.rb +157 -0
- data/lib/inception/cli_helpers/interactions.rb +15 -0
- data/lib/inception/cli_helpers/prepare_deploy_settings.rb +89 -0
- data/lib/inception/cli_helpers/provider.rb +14 -0
- data/lib/inception/cli_helpers/settings.rb +47 -0
- data/lib/inception/inception_server.rb +305 -0
- data/lib/inception/inception_server_cookbook.rb +89 -0
- data/lib/inception/next_deploy_actions.rb +20 -0
- data/lib/inception/version.rb +3 -0
- data/nodes/.gitkeep +0 -0
- data/spec/assets/.gitkeep +0 -0
- data/spec/assets/gitconfig +5 -0
- data/spec/assets/settings/aws-before-server.yml +14 -0
- data/spec/assets/settings/aws-created-server.yml +31 -0
- data/spec/integration/.gitkeep +0 -0
- data/spec/integration/aws/aws_basic_spec.rb +39 -0
- data/spec/spec_helper.rb +50 -0
- data/spec/support/aws/aws_helpers.rb +73 -0
- data/spec/support/settings_helper.rb +20 -0
- data/spec/support/stdout_capture.rb +17 -0
- data/spec/unit/.gitkeep +0 -0
- data/spec/unit/bosh/providers/aws_spec.rb +199 -0
- data/spec/unit/cli_delete_spec.rb +39 -0
- data/spec/unit/cli_deploy_aws_spec.rb +84 -0
- data/spec/unit/cli_ssh_spec.rb +82 -0
- data/spec/unit/inception_server_cookbook_spec.rb +61 -0
- data/spec/unit/inception_server_spec.rb +58 -0
- data/test/integration/default/bats/discover_user.bash +2 -0
- data/test/integration/default/bats/install_ruby.bats +8 -0
- data/test/integration/default/bats/useful_dirs.bats +8 -0
- data/test/integration/default/bats/user.bats +9 -0
- data/test/integration/default/bats/verify_bosh.bats +13 -0
- data/test/integration/default/bats/verify_git.bats +18 -0
- metadata +342 -0
data/.chef/knife.rb
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
.kitchen/
|
19
|
+
.kitchen.local.yml
|
20
|
+
nodes/*.json
|
data/.kitchen.yml
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
driver_plugin: <%= ENV['AWS_ACCESS_KEY_ID'] ? "ec2" : "vagrant" %>
|
3
|
+
|
4
|
+
platforms:
|
5
|
+
<% if ENV['AWS_ACCESS_KEY_ID'] %>
|
6
|
+
- name: precise64_ec2
|
7
|
+
driver_plugin: ec2
|
8
|
+
driver_config:
|
9
|
+
aws_access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
|
10
|
+
aws_secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
|
11
|
+
# Default keypair is in Stark & Wayne AWS account for kitchen CI testing
|
12
|
+
aws_ssh_key_id: <%= ENV['AWS_SSH_KEY_NAME'] || 'kitchen' %> # name of the AWS keypair to use
|
13
|
+
ssh_key: <%= ENV['AWS_SSH_KEY_PATH'] || File.expand_path("../config/ssh/kitchen-aws", __FILE__) %> # private key such as ~/.ssh/id_rsa that matches the AWS keypair
|
14
|
+
region: us-east-1
|
15
|
+
availability_zone: us-east-1b
|
16
|
+
flavor_id: m1.medium
|
17
|
+
image_id: ami-856f02ec # us-east-1 12.04 amd64
|
18
|
+
username: ubuntu
|
19
|
+
groups:
|
20
|
+
- default
|
21
|
+
- ssh
|
22
|
+
require_chef_omnibus: true
|
23
|
+
<% else %>
|
24
|
+
- name: precise64_virtualbox
|
25
|
+
driver_config:
|
26
|
+
provider: virtualbox
|
27
|
+
box: precise64
|
28
|
+
box_url: http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box
|
29
|
+
require_chef_omnibus: true
|
30
|
+
- name: precise64_vmware_fusion
|
31
|
+
driver_config:
|
32
|
+
provider: vmware_fusion
|
33
|
+
box: precise64
|
34
|
+
box_url: https://s3.amazonaws.com/gsc-vagrant-boxes/ubuntu-12.04.2-server-amd64.box
|
35
|
+
require_chef_omnibus: true
|
36
|
+
<% end %>
|
37
|
+
|
38
|
+
suites:
|
39
|
+
- name: default
|
40
|
+
run_list:
|
41
|
+
- recipe[bosh_inception]
|
42
|
+
attributes: {}
|
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
language: ruby
|
2
|
+
script: bundle exec rake spec:$SUITE
|
3
|
+
bundler_args: "--without=vagrant"
|
4
|
+
rvm:
|
5
|
+
- ruby-1.9.3
|
6
|
+
# - rbx-19mode
|
7
|
+
# - ruby-2.0.0 - generates "Cannot find Syck parser for YAML"
|
8
|
+
notifications:
|
9
|
+
email:
|
10
|
+
recipients:
|
11
|
+
- drnicwilliams@gmail.com
|
12
|
+
on_success: change
|
13
|
+
on_failure: always
|
14
|
+
env:
|
15
|
+
matrix:
|
16
|
+
- SUITE=unit
|
17
|
+
# - SUITE=cookbooks
|
18
|
+
- SUITE=integration:aws:basic
|
19
|
+
global:
|
20
|
+
- secure: "XRBq8CKIbRvwBTpyecFFtQFXgD0dhH4+p7knMQn/o4xnv79/feEPRccQycmk\nsFuWeVxTOW06p+PseQMQuU2UgjIDM6RE7jE5iM5kJh6hS/zFHAzlXWQAvEGz\nimnmzEMza60RXgihvT4WWVy5KJZtailUd2ywV9j5BxYHExKeABo="
|
21
|
+
# matrix:
|
22
|
+
# allow_failures:
|
23
|
+
# - env: SUITE=integration:aws:basic
|
data/Berksfile
ADDED
data/Berksfile.lock
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
cookbook 'bosh_inception', :path => '/Users/drnic/Projects/ruby/gems/inception/cookbooks/bosh_inception'
|
2
|
+
cookbook 'apt', :locked_version => '1.9.2'
|
3
|
+
cookbook 'user', :locked_version => '0.3.0'
|
4
|
+
cookbook 'sudo', :locked_version => '2.1.0'
|
5
|
+
cookbook 'rvm', :git => 'git://github.com/fnichol/chef-rvm.git', :ref => '7038fb8c518d0d7785767de215b1ae463f237973'
|
6
|
+
cookbook 'java', :locked_version => '1.10.2'
|
7
|
+
cookbook 'windows', :locked_version => '1.8.10'
|
8
|
+
cookbook 'chef_handler', :locked_version => '1.1.4'
|
9
|
+
cookbook 'chef_gem', :locked_version => '0.1.0'
|
data/Gemfile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in inception.gemspec
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
gem "settingslogic", github: "drnic/settingslogic", branch: "integration"
|
7
|
+
|
8
|
+
# gem 'knife-solo', github: 'matschaffer/knife-solo'
|
9
|
+
gem 'knife-solo', github: 'drnic/knife-solo', branch: 'continue_connecting'
|
10
|
+
|
11
|
+
group :integration do
|
12
|
+
# gem 'test-kitchen', github: 'opscode/test-kitchen', branch: '1.0'
|
13
|
+
gem 'kitchen-ec2'
|
14
|
+
end
|
15
|
+
|
16
|
+
group :vagrant do
|
17
|
+
gem 'kitchen-vagrant', '~> 0.10.0'
|
18
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Dr Nic Williams, Stark & Wayne, LLC
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
# Bosh Inception
|
2
|
+
|
3
|
+
Create an inception server for Bosh.
|
4
|
+
|
5
|
+
Includes a CLI for creating and preparing an inception server for deploying/developing a Bosh universe. The created or targeted VM is upgraded into an inception server via a Chef cookbook.
|
6
|
+
|
7
|
+
[![Build Status](https://travis-ci.org/drnic/inception.png?branch=master)](https://travis-ci.org/drnic/inception)
|
8
|
+
[![Code Climate](https://codeclimate.com/github/drnic/inception.png)](https://codeclimate.com/github/drnic/inception)
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Currently, install and use the tool via this Git repo (due to its dependency on other unreleased RubyGems).
|
13
|
+
|
14
|
+
```
|
15
|
+
git clone https://github.com/drnic/inception.git
|
16
|
+
cd inception
|
17
|
+
bundle
|
18
|
+
bundle exec bin/inception deploy
|
19
|
+
```
|
20
|
+
|
21
|
+
Waiting on the following projects to ship a new gem:
|
22
|
+
|
23
|
+
* https://github.com/matschaffer/knife-solo/issues/243
|
24
|
+
|
25
|
+
In future, this tool will be distributed as a RubyGem. It requires Ruby 1.9+.
|
26
|
+
|
27
|
+
```
|
28
|
+
gem install inception
|
29
|
+
```
|
30
|
+
|
31
|
+
## Usage
|
32
|
+
|
33
|
+
This project includes both a standalone CLI to create an inception server or transform an existing VM into an inception server; and the internal Chef cookbooks that can be used outside of the CLI.
|
34
|
+
|
35
|
+
### CLI usage - create a remote inception server
|
36
|
+
|
37
|
+
To create a remote inception server, normally in the IaaS/region that you will be working with BOSH:
|
38
|
+
|
39
|
+
```
|
40
|
+
$ inception deploy
|
41
|
+
|
42
|
+
Found infrastructure API credentials at ~/.fog (override with $FOG)
|
43
|
+
1. AWS (default)
|
44
|
+
2. AWS (starkandwayne)
|
45
|
+
3. Alternate credentials
|
46
|
+
Choose infrastructure: 3
|
47
|
+
|
48
|
+
1. AWS
|
49
|
+
2. OpenStack
|
50
|
+
Choose infrastructure: 1
|
51
|
+
|
52
|
+
|
53
|
+
Using provider aws:
|
54
|
+
|
55
|
+
1. *US East (Northern Virginia) Region (us-east-1)
|
56
|
+
2. US West (Oregon) Region (us-west-2)
|
57
|
+
3. US West (Northern California) Region (us-west-1)
|
58
|
+
4. EU (Ireland) Region (eu-west-1)
|
59
|
+
5. Asia Pacific (Singapore) Region (ap-southeast-1)
|
60
|
+
6. Asia Pacific (Sydney) Region (ap-southeast-2)
|
61
|
+
7. Asia Pacific (Tokyo) Region (ap-northeast-1)
|
62
|
+
8. South America (Sao Paulo) Region (sa-east-1)
|
63
|
+
Choose AWS region: 2
|
64
|
+
|
65
|
+
Access key: KEYGOESHERE
|
66
|
+
Secret key: SECRETGOESHERE
|
67
|
+
|
68
|
+
Confirming: Using aws/us-west-2
|
69
|
+
|
70
|
+
Preparing deployment settings
|
71
|
+
|
72
|
+
Using your git user.name (Dr Nic Williams)
|
73
|
+
Acquiring a public IP address... 54.245.246.122
|
74
|
+
|
75
|
+
Provision inception server
|
76
|
+
|
77
|
+
Created security group ssh
|
78
|
+
-> opened ssh ports TCP 22..22 from IP range 0.0.0.0/0
|
79
|
+
Booting m1.small Inception VM...
|
80
|
+
Provisioning 16Gb persistent disk for inception VM...
|
81
|
+
|
82
|
+
Prepare inception VM
|
83
|
+
|
84
|
+
knife solo bootstrap ubuntu@ec2-54-214-66-166.us-west-2.compute.amazonaws.com [...]
|
85
|
+
Bootstrapping Chef...
|
86
|
+
... lots of chef output...
|
87
|
+
|
88
|
+
```
|
89
|
+
|
90
|
+
### CLI usage - upgrade existing remote inception server
|
91
|
+
|
92
|
+
You can upgrade your remote inception server at any time by re-running the `deploy` command.
|
93
|
+
|
94
|
+
```
|
95
|
+
$ inception deploy
|
96
|
+
... lots of chef output ...
|
97
|
+
```
|
98
|
+
|
99
|
+
|
100
|
+
### Chef cookbook usage - remote VM
|
101
|
+
|
102
|
+
This project includes a `bosh_inception` Chef cookbook.
|
103
|
+
|
104
|
+
You can apply the cookbook to a preexisting remote VM using [knife solo](http://matschaffer.github.io/knife-solo/ "knife-solo"):
|
105
|
+
|
106
|
+
```
|
107
|
+
$ bundle
|
108
|
+
$ bundle exec knife solo bootstrap ubuntu@HOST -r 'bosh_inception'
|
109
|
+
$ bundle exec knife solo bootstrap ubuntu@HOST -j '{"disk": {"mounted": true, "device": "/dev/xvdf"}}' -r 'bosh_inception'
|
110
|
+
|
111
|
+
# for more help information:
|
112
|
+
$ knife solo bootstrap -h
|
113
|
+
```
|
114
|
+
|
115
|
+
See `cookbooks/bosh_inception/attributes/default.rb` for available JSON overrides.
|
116
|
+
|
117
|
+
### Chef cookbook usage - local VM
|
118
|
+
|
119
|
+
You can also apply the cookbooks to the local VM (or a remote VM that you've shelled into) using your favourite Chef toolchain.
|
120
|
+
|
121
|
+
See `cookbooks/bosh_inception/attributes/default.rb` for available JSON overrides.
|
122
|
+
|
123
|
+
## Development
|
124
|
+
|
125
|
+
One half of the functionality is in a Chef cookbook `bosh_inception`. To load this cookbook into a Vagrant VM and run a series of integration tests (via `test-kitchen`):
|
126
|
+
|
127
|
+
```
|
128
|
+
$ bundle
|
129
|
+
$ kitchen test virtualbox
|
130
|
+
$ kitchen test vmware # if you have vagrant vmware plugin
|
131
|
+
```
|
132
|
+
|
133
|
+
## Contributing
|
134
|
+
|
135
|
+
1. Fork it
|
136
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
137
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
138
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
139
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __FILE__)
|
2
|
+
|
3
|
+
require "rubygems"
|
4
|
+
require "bundler"
|
5
|
+
Bundler.setup(:default, :test, :development, :integration)
|
6
|
+
|
7
|
+
require "bundler/gem_tasks"
|
8
|
+
|
9
|
+
require "rake/dsl_definition"
|
10
|
+
require "rake"
|
11
|
+
require "rspec/core/rake_task"
|
12
|
+
|
13
|
+
|
14
|
+
begin
|
15
|
+
require 'kitchen/rake_tasks'
|
16
|
+
Kitchen::RakeTasks.new
|
17
|
+
rescue LoadError
|
18
|
+
puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
if defined?(RSpec)
|
23
|
+
namespace :spec do
|
24
|
+
desc "Run Unit Tests"
|
25
|
+
unit_rspec_task = RSpec::Core::RakeTask.new(:unit) do |t|
|
26
|
+
t.pattern = "spec/unit/**/*_spec.rb"
|
27
|
+
t.rspec_opts = %w(--format progress --color)
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Run cookbook tests (only if $AWS_ACCESS_KEY_ID is set)"
|
31
|
+
task :cookbooks do
|
32
|
+
if ENV['AWS_ACCESS_KEY_ID']
|
33
|
+
sh "kitchen test ec2"
|
34
|
+
else
|
35
|
+
puts "Skipping spec:cookbooks. Please provide $AWS_ACCESS_KEY_ID & $AWS_SECRET_ACCESS_KEY_ID"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
namespace :integration do
|
40
|
+
namespace :aws do
|
41
|
+
jobs = Dir["spec/integration/aws/*_spec.rb"].map {|f| File.basename(f).gsub(/aws_(.*)_spec.rb/, '\1')}
|
42
|
+
jobs.each do |job|
|
43
|
+
desc "Run AWS '#{job}' Integration Test"
|
44
|
+
RSpec::Core::RakeTask.new(job.to_sym) do |t|
|
45
|
+
t.pattern = "spec/integration/aws/aws_#{job}_spec.rb"
|
46
|
+
t.rspec_opts = %w(--format progress --color)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
desc "Run AWS Integration Tests"
|
52
|
+
RSpec::Core::RakeTask.new(:aws) do |t|
|
53
|
+
t.pattern = "spec/integration/aws/*_spec.rb"
|
54
|
+
t.rspec_opts = %w(--format progress --color)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
desc "Run all Integration Tests"
|
59
|
+
task :integration => %w[spec:integration:aws]
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "Install dependencies and run tests"
|
63
|
+
task :spec => %w(spec:unit spec:integration)
|
64
|
+
end
|
65
|
+
|
66
|
+
task :default => ["spec:unit"]
|
data/TODO.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
## CLI
|
2
|
+
|
3
|
+
* do not install Chef each time; run `knife solo prepare`, then only run `knife solo cook` after that
|
4
|
+
* rename to inception => inception
|
5
|
+
* --no-converge flag do not run chef on deploy
|
6
|
+
* next_deploy_actions - deleted from settings after deploy completes
|
7
|
+
* integration test - OpenStack - create VM, use busser (?) to run remote SSH bats tests, destroy VM
|
8
|
+
* observe InstanceServer#create stages and run save_settings! after each one (idempotence)
|
9
|
+
* observe InstanceServer#create stages and display STDOUT as it goes along
|
10
|
+
* interactive delete
|
11
|
+
|
12
|
+
## Cookbooks
|
13
|
+
|
14
|
+
* echo "export TMPDIR=/var/vcap/store/tmp" >> /home/#{node.user.username}/.bashrc
|
15
|
+
* echo "export EDITOR=vim" >> /home/#{node.user.username}/.bashrc
|
16
|
+
* move bosh-micro & bosh-cf installation into separate cookbooks
|
17
|
+
* place ~ubuntu/.fog for the selected provider credentials
|
18
|
+
* stuff that will go onto AMI must be installed into root volume, not /var/vcap/store
|
19
|
+
* where does btrfs need to be installed? should /var/vcap/store be btrfs instead of ext4?
|
20
|
+
|
21
|
+
|
22
|
+
## AMIs
|
23
|
+
|
24
|
+
* export an AMI in us-east-1
|
25
|
+
* copy the AMI to other regions
|
26
|
+
* use the AMIs instead of 13.04 base AMIs
|
data/bin/bosh-inception
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIEowIBAAKCAQEAuUUa2QOpW4qb5shjxUa+ktUdNVcdsi3h1eqE+jDvH1wgxPGkRQyetiAZ+92/
|
3
|
+
aL7975lHX95x1T8f5LeLlH5t3PYpsfU8bXk5FVjCasCzBkCO4+QNPMP1pCAlbuDNKfoI530ShcRv
|
4
|
+
Znu5D4SEGGHsZzBKHBlpi3DytyPkIuPxUlnp/IMG0MGywvHENxf2gL6xODBbXDjn7kdn59cluztw
|
5
|
+
p2HFm+m06lt/VxJ0GvShMKqTLradneqw3551Vs7d6j9R75ofsl6BA50CLZoYDJhDH96nUOxzrC+m
|
6
|
+
zgr/v+Y2eS6oIeuuAytPYc8JEpUSlCXYR6MzIRzDGN5/9aOHJpVb8QIDAQABAoIBAAX8EnryIFVh
|
7
|
+
q9mPnZFw0JUjpzbi4oWv77yeP79pN0A3FKPn/ltwpevSK6S0LAuxJ7jGpcSWBe1ShbA4sZyRXPEn
|
8
|
+
Tn9+IX6TzOFApb8XDHFmQndgFYFh/xxXIX5sapQxjHoV0zRY/RQ9aOP0buPuvdkzeSFhPMSRWHXM
|
9
|
+
BgGOhWwYh0/41cvEIwFzGkIk5JsQWIKqigHPDTQD1SO6gxnVFgP7MtlvZoK7NE4190XvgCK3xFd4
|
10
|
+
aSK2diCGgZ4CBx7RIlHtn4H9KR3KCzG5xm+4K0L1RE2peRggo82Fc6TAQ/md+xk+Cq/Xl2UdTAkn
|
11
|
+
pCDNF64IwJFHUA0W4y6zmOQh7rECgYEA8F0DgfFFDWhR9YYLBOkeQXOL/faN7oGgb3ccnfz8rWn7
|
12
|
+
w5xccNg06AgM3cPBMkoo2lKUfHfvSzq7p+fpEvDJRiVtz1kKp6TsfWeMfePTR7CocKP0vDzqFpWm
|
13
|
+
32WMaEpgHtAvvd/LDEpCI3VT9rXUa9KtvsxzCMjwgZFI9DsR0d0CgYEAxVKSSmSiZwGcGBBSYqnF
|
14
|
+
fctJd9Z8Dbte4UaRUK4jsZOXupNLAU3NOO+zDqx7IjT/1y7/WboLQfj5RwW8Lcol+gGQY0KiMkGl
|
15
|
+
4RFkxSYoJMaTx0/Cx87V1hiOjSljB2Ubmbz6dxr/nRitC4fEw0wXkB1bM4LADydOVreyxzFPMyUC
|
16
|
+
gYAdCzA0UGIGp7dXkpXcRwrn371nt5YY3sLzFRJ5KKujjK3mSguFeyqRav+bAF9k4z8iel4E2D0q
|
17
|
+
+vLX7Bbmuf+oITeumVTHQw9sa8m3IINUI02HJtiYskea6QRb9BpOM8Z/kqpiKBuR5ZsuS6wUoI4F
|
18
|
+
ZVSnPG8d/aHKFjMZh9W0ZQKBgQCjNaP40nodlxBEOyPZpbDLVpzi+U5MkWFuFc9WG2M8muaSFQii
|
19
|
+
AHcxk9nX1kRWy92dX6snzSFIpSWSYCUA/sYgnrCN2WyNAw2wNpHSG7hyiqlq3wct+1+VoWQvUD8v
|
20
|
+
u6pzpALLB1LL3sAq3FacbtDCi/WGiqxPHGTIh1LhPWDT3QKBgEliTq4yzfkrCyaZ62SJDouyKr8F
|
21
|
+
RlaVV6mLQnuu6UXw2XMPEJjrjXu/2e8BM9tenNlHJSCWmgDQeqVBSw8m2HJJ28zs6UAR86BApR6H
|
22
|
+
BPHX1m0kRiABubxqWPCm9kciwqbiVMtlyrzFmN3kDescd9EAhexRI/CwnnkHh+iH2jUu
|
23
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Cookbook for inception
|
2
|
+
|
3
|
+
Chef cookbook to convert a VM into an inception server to deploy/develop Bosh and bosh releases.
|
4
|
+
|
5
|
+
## Development
|
6
|
+
|
7
|
+
To clone the repo containing this cookbook and run the cookbook tests:
|
8
|
+
|
9
|
+
```
|
10
|
+
git clone git@github.com:drnic/inception.git
|
11
|
+
cd inception
|
12
|
+
bundle
|
13
|
+
kitchen test virtualbox
|
14
|
+
kitchen test vmware # if you have the plugin installed
|
15
|
+
```
|