bosh-deployer 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eadb9f4dcfb25be44c96f555c1ac0e6084bc8a3b
4
- data.tar.gz: 878293e1af97b8592a803153e38db7a6259ef186
3
+ metadata.gz: 0f23d785521e58b46f24e09480694af1e7cc5a72
4
+ data.tar.gz: 1b8d153523965f11c94e44ea3815a19a9039f6e4
5
5
  SHA512:
6
- metadata.gz: 0115808b031dbc765b7c9726fab1d10030f3a57643032fce3a1b2f74af93ace1acf8547efcc86525c4ae1d74de6b9bc7ee59db44297ce362f37c16cfdec8cbe8
7
- data.tar.gz: f8e0d8448928dc04a493c9cbe5c2f8a5b03499591b12b36351d08eee823d5d1ae4277655d92be5552f1a9a2201f5659b9e3707746a15b4413af5b8915ae29894
6
+ metadata.gz: 74c62b59ad4d1e12d69738c0456bca66cae516ceda3157e017960ea4a69705f256059b1b64930f481e2931b5a7eebbc318babe30819230e87acba19b775c60c8
7
+ data.tar.gz: 808c6c521726d44c7f61658f54cab64fbcfd2ab35850cadb79a9147319b83fcdc7f1d51c1c0898a52f4a623c41d7312e2aacf211c55460384fdae5584dd9bd5f
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  pkg
2
2
  bin
3
+ tmp
data/Gemfile CHANGED
@@ -2,4 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'bosh_cli'
5
+ gem 'cancun', path: '../cancun'
6
+
7
+
8
+
data/Gemfile.lock CHANGED
@@ -1,74 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bosh-deployer (0.0.1)
4
+ bosh-deployer (0.2.2)
5
+ readwritesettings
5
6
  redcard
6
7
  thor (~> 0.18)
7
8
 
9
+ PATH
10
+ remote: ../cancun
11
+ specs:
12
+ cancun (0.2.1)
13
+ highline
14
+ highline-color
15
+ sourcify
16
+
8
17
  GEM
9
18
  remote: https://rubygems.org/
10
19
  specs:
11
- aws-sdk (1.44.0)
12
- json (~> 1.4)
13
- nokogiri (>= 1.4.4)
14
- blobstore_client (1.2707.0)
15
- aws-sdk (= 1.44.0)
16
- bosh_common (~> 1.2707.0)
17
- fog (~> 1.14.0)
18
- httpclient (= 2.4.0)
19
- multi_json (~> 1.1)
20
- ruby-atmos-pure (~> 1.0.5)
21
- bosh-template (1.2707.0)
22
- semi_semantic (~> 1.1.0)
23
- bosh_cli (1.2707.0)
24
- blobstore_client (~> 1.2707.0)
25
- bosh-template (~> 1.2707.0)
26
- bosh_common (~> 1.2707.0)
27
- highline (~> 1.6.2)
28
- httpclient (= 2.4.0)
29
- json_pure (~> 1.7)
30
- minitar (~> 0.5.4)
31
- net-scp (~> 1.1.0)
32
- net-ssh (>= 2.2.1)
33
- net-ssh-gateway (~> 1.2.0)
34
- netaddr (~> 1.5.0)
35
- progressbar (~> 0.9.0)
36
- terminal-table (~> 1.4.3)
37
- bosh_common (1.2707.0)
38
- semi_semantic (~> 1.1.0)
39
- builder (3.2.2)
40
20
  diff-lcs (1.2.5)
41
- excon (0.25.3)
42
- fog (1.14.0)
43
- builder
44
- excon (~> 0.25.0)
45
- formatador (~> 0.2.0)
46
- mime-types
47
- multi_json (~> 1.0)
48
- net-scp (~> 1.1)
49
- net-ssh (>= 2.1.3)
50
- nokogiri (~> 1.5)
51
- ruby-hmac
52
- formatador (0.2.5)
21
+ file-tail (1.0.12)
22
+ tins (~> 0.5)
53
23
  highline (1.6.21)
54
- httpclient (2.4.0)
55
- json (1.8.1)
56
- json_pure (1.8.1)
57
- log4r (1.1.10)
58
- mime-types (2.3)
59
- mini_portile (0.6.0)
60
- minitar (0.5.4)
61
- multi_json (1.10.1)
62
- net-scp (1.1.2)
63
- net-ssh (>= 2.6.5)
64
- net-ssh (2.9.1)
65
- net-ssh-gateway (1.2.0)
66
- net-ssh (>= 2.6.5)
67
- netaddr (1.5.0)
68
- nokogiri (1.6.3.1)
69
- mini_portile (= 0.6.0)
70
- progressbar (0.9.2)
24
+ highline-color (0.0.2)
71
25
  rake (10.3.2)
26
+ readwritesettings (3.0.1)
72
27
  redcard (1.1.0)
73
28
  rspec (3.0.0)
74
29
  rspec-core (~> 3.0.0)
@@ -82,19 +37,25 @@ GEM
82
37
  rspec-mocks (3.0.4)
83
38
  rspec-support (~> 3.0.0)
84
39
  rspec-support (3.0.4)
85
- ruby-atmos-pure (1.0.5)
86
- log4r (>= 1.1.9)
87
- ruby-hmac (>= 0.4.0)
88
- ruby-hmac (0.4.0)
89
- semi_semantic (1.1.0)
90
- terminal-table (1.4.5)
40
+ ruby2ruby (2.1.2)
41
+ ruby_parser (~> 3.1)
42
+ sexp_processor (~> 4.0)
43
+ ruby_parser (3.6.2)
44
+ sexp_processor (~> 4.1)
45
+ sexp_processor (4.4.4)
46
+ sourcify (0.5.0)
47
+ file-tail (>= 1.0.5)
48
+ ruby2ruby (>= 1.2.5)
49
+ ruby_parser (>= 2.0.5)
50
+ sexp_processor (>= 3.0.5)
91
51
  thor (0.19.1)
52
+ tins (0.13.2)
92
53
 
93
54
  PLATFORMS
94
55
  ruby
95
56
 
96
57
  DEPENDENCIES
97
58
  bosh-deployer!
98
- bosh_cli
59
+ cancun!
99
60
  rake
100
61
  rspec
@@ -27,6 +27,8 @@ Gem::Specification.new do |gem|
27
27
 
28
28
  gem.add_dependency "thor", "~> 0.18"
29
29
  gem.add_dependency "redcard"
30
+ gem.add_dependency 'readwritesettings'
30
31
  gem.add_development_dependency "rake"
32
+ gem.add_development_dependency "cancun"
31
33
  gem.add_development_dependency "rspec"
32
34
  end
data/lib/bosh-deployer.rb CHANGED
@@ -9,6 +9,7 @@ end
9
9
 
10
10
  require "bosh-deployer/version"
11
11
  require "bosh-deployer/stemcell"
12
+ require "bosh-deployer/bosh_stub"
12
13
 
13
14
  # require "bosh-bootstrap/network"
14
15
  # require "bosh-bootstrap/key_pair"
@@ -0,0 +1,105 @@
1
+ require 'erb'
2
+ require 'cancun/highline'
3
+ require 'readwritesettings'
4
+
5
+ module Bosh; module Deployer; end ;end
6
+
7
+ class Bosh::Deployer::BoshStub
8
+ include ::Cancun::Highline
9
+ attr_reader :filename
10
+
11
+ def initialize(path = '~/.bosh-deployer/stubs')
12
+ path = path[0..-2] if path[-1] == '/'
13
+ @filename = "#{path}/bosh.yml"
14
+ end
15
+
16
+ def generate
17
+ say_bold 'Provide the following information for your bosh configuration:'
18
+ stub = template.result(binding)
19
+ say "Saving stub at #{filename}"
20
+ File.open(filename, 'w') { |f| f.write(stub) }
21
+ end
22
+
23
+ def static_ip_from
24
+ @static_ip_from ||= ask 'Intial available static ip for deploying bosh:'
25
+ end
26
+
27
+ def static_ip_to
28
+ @static_ip_to ||= ask 'Last available static ip for deploying bosh:'
29
+ end
30
+
31
+
32
+ def openstack_auth_url
33
+ @openstack_auth_url ||= ask('Openstack auth url:') do |q|
34
+ q.default = microbosh.provider.credentials.openstack_auth_url.gsub('/tokens', '') if microbosh
35
+ end
36
+ end
37
+
38
+ def openstack_username
39
+ @openstack_username ||= ask('Openstack username:') do |q|
40
+ q.default = microbosh.provider.credentials.openstack_username if microbosh
41
+ end
42
+ end
43
+
44
+ def openstack_api_key
45
+ @openstack_api_key ||= ask('Openstack api key:') do |q|
46
+ q.default = microbosh.provider.credentials.openstack_api_key if microbosh
47
+ end
48
+ end
49
+
50
+ def openstack_tenant
51
+ @openstack_tenant ||= ask('Openstack tenant:') do |q|
52
+ q.default = microbosh.provider.credentials.openstack_tenant if microbosh
53
+ end
54
+ end
55
+
56
+ def recursor_ip
57
+ @recursor_ip ||= ask('Recursor ip or host:') do |q|
58
+ q.default = microbosh.address.ip if microbosh
59
+ end
60
+ end
61
+
62
+ def subnet_id
63
+ @subnet_id ||= ask('Subnet ID where bosh will be deployed:') do |q|
64
+ q.default = microbosh.address.subnet_id if microbosh
65
+ end
66
+ end
67
+
68
+ def gateway
69
+ @gateway ||= ask('Gateway IP for bosh:') do |q|
70
+ #UGLY REPLACE ME WITH A REGEX
71
+ q.default = (static_ip_from.split('.')[0..-2] + ['1']).join('.')
72
+ end
73
+ end
74
+
75
+ def range
76
+ @range ||= ask('Gateway IP for bosh:') do |q|
77
+ #UGLY REPLACE ME WITH A REGEX
78
+ q.default = (static_ip_from.split('.')[0..-2] + ['0']).join('.') + '/24'
79
+ end
80
+ end
81
+
82
+ def default_key_name
83
+ @default_key_name ||= ask('Key name:') do |q|
84
+ q.default = 'firstbosh'
85
+ end
86
+ end
87
+
88
+ def private_key
89
+ @private_key ||= ask('Private key:') do |q|
90
+ q.default = '~/.microbosh/ssh/firstbosh.pem'
91
+ end
92
+ end
93
+
94
+ protected
95
+
96
+ def template
97
+ @template ||= ERB.new( File.read(File.expand_path('../../../stubs/bosh.yml.erb', __FILE__)))
98
+ end
99
+
100
+ def microbosh
101
+ if File.exists?('~/.bootstrap/settings.yml')
102
+ @microbosh ||= ReadWriteSettings.new('~/.bootstrap/settings.yml')
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,20 @@
1
+
2
+ module Bosh; module Deployer; module Cli; module Commands; end; end; end; end
3
+
4
+ class Bosh::Deployer::Cli::Commands::GenerateStub
5
+ attr_reader :name, :path
6
+
7
+ def initialize(name, path=nil)
8
+ @name = name
9
+ @path = path
10
+ end
11
+
12
+ def perform
13
+ stub.generate
14
+ end
15
+
16
+ protected
17
+ def stub
18
+ Bosh::Deployer::BoshStub.new(path) if name == 'bosh'
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Deployer
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
@@ -0,0 +1,23 @@
1
+ require "bosh-deployer"
2
+
3
+ module Bosh::Cli::Command
4
+ class Deployer < Base
5
+ usage "deployer"
6
+ desc "show deployer sub-commands"
7
+ def help
8
+ say("bosh deployer sub-commands:")
9
+ nl
10
+ cmds = Bosh::Cli::Config.commands.values.find_all {|c|
11
+ c.usage =~ /^deployer/
12
+ }
13
+ Bosh::Cli::Command::Help.list_commands(cmds)
14
+ end
15
+
16
+ usage "deployer provision stemcells"
17
+ desc "finds and uploads the required stemcell point out in your manifest to bosh"
18
+ def provision_stemcells
19
+ require "bosh-deployer/cli/commands/provision_stemcells"
20
+ Bosh::Deployer::Cli::Commands::ProvisionStemcells.new.perform
21
+ end
22
+ end
23
+ end
@@ -19,5 +19,12 @@ module Bosh::Cli::Command
19
19
  require "bosh-deployer/cli/commands/provision_stemcells"
20
20
  Bosh::Deployer::Cli::Commands::ProvisionStemcells.new.perform
21
21
  end
22
+
23
+ usage "generate stubs for bosh or cf"
24
+ desc "Creates stub file"
25
+ def generate_stub(name, path=nil)
26
+ require "bosh-deployer/cli/commands/generate_stub"
27
+ Bosh::Deployer::Cli::Commands::GenerateStub.new(name,path).perform
28
+ end
22
29
  end
23
30
  end
@@ -0,0 +1,96 @@
1
+ require 'cancun'
2
+ require 'bosh-deployer/bosh_stub'
3
+ require 'yaml'
4
+
5
+ class Hash
6
+ def sort_by_key(recursive = false, &block)
7
+ self.keys.sort(&block).reduce({}) do |seed, key|
8
+ seed[key] = self[key]
9
+ if recursive && seed[key].is_a?(Hash)
10
+ seed[key] = seed[key].sort_by_key(true, &block)
11
+ end
12
+ seed
13
+ end
14
+ end
15
+ end
16
+
17
+ def equal_yaml(expected_file, actual_file)
18
+ @expected_content = File.read(expected_file)
19
+ @actual_content = File.read(actual_file)
20
+
21
+ expected = YAML.load(@expected_content).sort_by_key(true).to_a
22
+ actual = YAML.load(@actual_content).sort_by_key(true).to_a
23
+
24
+ expect(expected).to eq(actual)
25
+ end
26
+
27
+ describe Bosh::Deployer::BoshStub do
28
+ include ::Cancun::Test
29
+ before{ init_cancun_test }
30
+
31
+ let(:path){ 'tmp/'}
32
+ let(:bosh_stub){ described_class.new(path) }
33
+
34
+ describe '#new' do
35
+ describe 'when path is given' do
36
+ it 'sets the filename to PATH/stubs' do
37
+ expect(bosh_stub.filename).to eq('tmp/bosh.yml')
38
+ end
39
+ end
40
+
41
+ describe 'when path is not given' do
42
+ let(:bosh_stub){ described_class.new }
43
+
44
+ it 'sets the filename to ~/.bosh-deployer/stubs' do
45
+ expect(bosh_stub.filename).to eq('~/.bosh-deployer/stubs/bosh.yml')
46
+ end
47
+ end
48
+ end
49
+
50
+ describe '#generate' do
51
+ let(:settings_file) do
52
+ File.new('spec/fixtures/bosh-bootstrap/settings.yml')
53
+ end
54
+
55
+ let(:args) do
56
+ [ '', '', '10.10.10.10', '11.11.11.11', '','','', '', '', '', '', '' ]
57
+ end
58
+
59
+ describe 'when .bootstrap/settings.yml exist' do
60
+ before do
61
+ `rm -rf tmp ; mkdir tmp`
62
+ allow_any_instance_of(ReadWriteSettings)
63
+ .to receive(:open).and_call_original
64
+ allow_any_instance_of(ReadWriteSettings)
65
+ .to receive(:open).with('~/.bootstrap/settings.yml')
66
+ .and_return(settings_file)
67
+ end
68
+
69
+
70
+ it 'should generate the stub correctly' do
71
+ execute do
72
+ bosh_stub.generate
73
+ end.and_type *args
74
+
75
+ equal_yaml('spec/fixtures/stubs/bosh.yml', 'tmp/bosh.yml')
76
+ end
77
+ end
78
+
79
+ describe 'when .bootstrap/settings.yml does not exist' do
80
+ let(:args) do
81
+ [ 'IP', 'SUBNET_ID', '10.10.10.10', '11.11.11.11',
82
+ '10.10.10.0/24', '10.10.10.1','https://example.com:5000/v2.0',
83
+ 'admin', 'admin', 'dev', '', '', '' ]
84
+ end
85
+ before { `rm -rf tmp ; mkdir tmp` }
86
+
87
+ it 'should generate the stub correctly' do
88
+ execute do
89
+ bosh_stub.generate
90
+ end.and_type *args
91
+
92
+ equal_yaml('spec/fixtures/stubs/bosh.yml', 'tmp/bosh.yml')
93
+ end
94
+ end
95
+ end
96
+ end
@@ -1,17 +1,32 @@
1
1
  require 'cli'
2
2
  require 'bosh/cli/commands/deployer' # "bosh bootstrap COMMAND" commands added to bosh CLI
3
3
  require 'bosh-deployer/cli/commands/provision_stemcells'
4
+ require 'bosh-deployer/cli/commands/generate_stub'
4
5
 
5
6
  describe Bosh::Cli::Command::Deployer do
6
7
  let(:cli) do
7
8
  described_class.new(nil)
8
9
  end
9
- let(:cmd){ double(Bosh::Deployer::Cli::Commands::ProvisionStemcells) }
10
10
 
11
- it 'runs upload stemcell command' do
12
- allow(cmd).to receive(:perform)
13
- expect(Bosh::Deployer::Cli::Commands::ProvisionStemcells)
11
+ describe 'provision stemcells' do
12
+ let(:cmd){ double(Bosh::Deployer::Cli::Commands::ProvisionStemcells) }
13
+
14
+ it 'should runs upload stemcell command' do
15
+ allow(cmd).to receive(:perform)
16
+ expect(Bosh::Deployer::Cli::Commands::ProvisionStemcells)
14
17
  .to receive(:new).and_return(cmd)
15
18
  cli.provision_stemcells
19
+ end
20
+ end
21
+
22
+ describe 'generate stubs' do
23
+ let(:cmd){ double(Bosh::Deployer::Cli::Commands::GenerateStub) }
24
+
25
+ it 'should generate stub' do
26
+ allow(cmd).to receive(:perform)
27
+ expect(Bosh::Deployer::Cli::Commands::GenerateStub)
28
+ .to receive(:new).and_return(cmd)
29
+ cli.generate_stub('name', 'path')
30
+ end
16
31
  end
17
32
  end
@@ -0,0 +1,29 @@
1
+ require "bosh-deployer/cli/commands/generate_stub"
2
+ require "bosh-deployer/bosh_stub"
3
+
4
+ describe Bosh::Deployer::Cli::Commands::GenerateStub do
5
+ let(:cmd) { described_class.new(*args) }
6
+
7
+ let(:bosh_stub) { double.as_null_object }
8
+ let(:path) { 'tmp/' }
9
+
10
+ before do
11
+ allow(Bosh::Deployer::BoshStub).to receive(:new)
12
+ .and_return(bosh_stub)
13
+ end
14
+
15
+ describe 'when creating bosh stub' do
16
+ let(:args){ %w{bosh} }
17
+
18
+ describe '#perform' do
19
+ let(:generate_stub){ cmd.perform }
20
+
21
+ describe 'when no stub exists' do
22
+ it 'generates the stub' do
23
+ expect(bosh_stub).to receive(:generate)
24
+ generate_stub
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -66,6 +66,7 @@ describe Bosh::Deployer::Cli::Commands::ProvisionStemcells do
66
66
  end
67
67
 
68
68
  it 'should raise error with missing arguments' do
69
+
69
70
  end
70
71
  end
71
72
  end
@@ -0,0 +1,12 @@
1
+ ---
2
+ provider:
3
+ name: openstack
4
+ credentials:
5
+ openstack_username: admin
6
+ openstack_api_key: admin
7
+ openstack_tenant: dev
8
+ openstack_auth_url: 'https://example.com:5000/v2.0/tokens'
9
+ openstack_region: ''
10
+ address:
11
+ ip: IP
12
+ subnet_id: SUBNET_ID
@@ -0,0 +1,25 @@
1
+ ---
2
+ meta:
3
+ recursor: IP
4
+ networks:
5
+ cloud_properties:
6
+ net_id: SUBNET_ID
7
+ security_groups:
8
+ - ssh
9
+ - bosh
10
+ manual:
11
+ static:
12
+ - 10.10.10.10 - 11.11.11.11
13
+ range: 10.10.10.0/24
14
+ gateway: 10.10.10.1
15
+ properties:
16
+ openstack:
17
+ auth_url: https://example.com:5000/v2.0
18
+ username: admin
19
+ api_key: admin
20
+ tenant: dev
21
+ default_security_groups:
22
+ - ssh
23
+ - bosh
24
+ default_key_name: firstbosh
25
+ private_key: ~/.microbosh/ssh/firstbosh.pem
@@ -0,0 +1,145 @@
1
+ ---
2
+ director_uuid: DELETE_ME
3
+ meta:
4
+ bosh-network:
5
+ cidr: 10.0.0.0/8
6
+ floating_static_ips:
7
+ - 1.2.3.4
8
+ openstack:
9
+ stemcell:
10
+ name: bosh-openstack-kvm-ubuntu-lucid-go_agent
11
+ version: latest
12
+ environment: cf
13
+ jobs:
14
+ ha_proxy_z1:
15
+ instances: 1
16
+ networks:
17
+ cf1:
18
+ default:
19
+ - dns
20
+ - gateway
21
+ properties:
22
+ ha_proxy:
23
+ ssl_pem: ! 'KEY
24
+
25
+ CERTIFICATE'
26
+ etcd_z1:
27
+ instances: 1
28
+ login_z2:
29
+ instances: 0
30
+ networks:
31
+ - type: vip
32
+ cloud_properties:
33
+ net_id: MICROBOSH_SUBNET_ID
34
+ name: floating
35
+ - subnets:
36
+ - name: default_unused
37
+ range: 10.0.0.0/8
38
+ gateway: 1.1.1.1
39
+ reserved:
40
+ - 1.1.1.1 - 2.2.2.2
41
+ static:
42
+ - 2.2.2.2 - 3.3.3.3
43
+ cloud_properties:
44
+ net_id: MICROBOSH_SUBNET_ID
45
+ security_groups:
46
+ - cf-public
47
+ - cf-private
48
+ - ssh
49
+ name: cf1
50
+ - cloud_properties:
51
+ net_id: MICROBOSH_SUBNET_ID
52
+ security_groups:
53
+ - cf-public
54
+ - cf-private
55
+ - ssh
56
+ range: 10.0.0.0/8
57
+ type: dynamic
58
+ name: cf-dynamic
59
+ - type: manual
60
+ subnets:
61
+ - name: default_unused
62
+ range: 10.0.0.0/23
63
+ gateway: 10.0.0.1
64
+ reserved: []
65
+ static:
66
+ - 10.0.0.2 - 10.0.0.250
67
+ cloud_properties:
68
+ net_id: MICROBOSH_SUBNET_ID
69
+ security_groups:
70
+ - cf-public
71
+ - cf-private
72
+ - ssh
73
+ name: cf2
74
+ properties:
75
+ login:
76
+ protocol: http
77
+ ssl:
78
+ skip_cert_verify: true
79
+ domain: (( meta.floating_static_ips.[0] "xip.io" ))
80
+ loggregator_endpoint:
81
+ shared_secret: 1p@ss4cf
82
+ cc:
83
+ bulk_api_password: 1p@ss4cf
84
+ db_encryption_key: 1p@ss4cf
85
+ staging_upload_password: upload-password
86
+ staging_upload_user: upload-user
87
+ databases:
88
+ roles:
89
+ - name: ccadmin
90
+ password: ccadmin
91
+ tag: admin
92
+ - name: uaaadmin
93
+ password: uaaadmin
94
+ tag: admin
95
+ ccdb:
96
+ roles:
97
+ - name: ccadmin
98
+ password: ccadmin
99
+ uaadb:
100
+ roles:
101
+ - name: uaaadmin
102
+ password: uaaadmin
103
+ uaa:
104
+ admin:
105
+ client_secret: 1p@ss4cf
106
+ batch:
107
+ password: 1p@ss4cf
108
+ username: batch
109
+ cc:
110
+ client_secret: 1p@ss4cf
111
+ clients:
112
+ app-direct:
113
+ secret: 1p@ss4cf
114
+ developer_console:
115
+ secret: 1p@ss4cf
116
+ login:
117
+ secret: 1p@ss4cf
118
+ servicesmgmt:
119
+ secret: 1p@ss4cf
120
+ space-mail:
121
+ secret: 1p@ss4cf
122
+ support-services:
123
+ secret: 1p@ss4cf
124
+ jwt:
125
+ signing_key: ! 'KEY
126
+
127
+ KEY'
128
+ verification_key: ! 'KEY
129
+
130
+ KEY'
131
+ scim:
132
+ userids_enabled: false
133
+ users:
134
+ - admin|admin|scim.write,scim.read,openid,cloud_controller.admin,uaa.admin,password.write
135
+ - services|1p@ss4cf|scim.write,scim.read,openid,cloud_controller.admin
136
+ nats:
137
+ password: nats
138
+ user: nats
139
+ dea_next:
140
+ disk_mb: 10000
141
+ memory_mb: 1024
142
+ router:
143
+ status:
144
+ password: router
145
+ user: router
@@ -0,0 +1,25 @@
1
+ ---
2
+ meta:
3
+ recursor: <%= recursor_ip %>
4
+ networks:
5
+ cloud_properties:
6
+ net_id: <%= subnet_id %>
7
+ security_groups:
8
+ - ssh
9
+ - bosh
10
+ manual:
11
+ static:
12
+ - <%= static_ip_from %> - <%= static_ip_to %>
13
+ range: <%= range %>
14
+ gateway: <%= gateway %>
15
+ properties:
16
+ openstack:
17
+ auth_url: <%= openstack_auth_url %>
18
+ username: <%= openstack_username %>
19
+ api_key: <%= openstack_api_key %>
20
+ tenant: <%= openstack_tenant %>
21
+ default_security_groups:
22
+ - ssh
23
+ - bosh
24
+ default_key_name: <%= default_key_name %>
25
+ private_key: <%= private_key %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alan Moran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-08 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: readwritesettings
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: cancun
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rspec
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -84,16 +112,25 @@ files:
84
112
  - bin/bosh-deployer
85
113
  - bosh-deployer.gemspec
86
114
  - lib/bosh-deployer.rb
115
+ - lib/bosh-deployer/bosh_stub.rb
116
+ - lib/bosh-deployer/cli/commands/generate_stub.rb
87
117
  - lib/bosh-deployer/cli/commands/provision_stemcells.rb
88
118
  - lib/bosh-deployer/stemcell.rb
89
119
  - lib/bosh-deployer/thor_cli.rb
90
120
  - lib/bosh-deployer/version.rb
121
+ - lib/bosh/cli/commands/bosh_deployer.rb
91
122
  - lib/bosh/cli/commands/deployer.rb
123
+ - spec/bosh_stub_spec.rb
92
124
  - spec/cli/deployer_spec.rb
125
+ - spec/commands/generate_stub_spec.rb
93
126
  - spec/commands/provision_stemcells_spec.rb
127
+ - spec/fixtures/bosh-bootstrap/settings.yml
94
128
  - spec/fixtures/manifests/bosh.yml
95
129
  - spec/fixtures/manifests/cf.yml
130
+ - spec/fixtures/stubs/bosh.yml
131
+ - spec/fixtures/stubs/cloudfoundry.stub.yml
96
132
  - spec/stemcell_spec.rb
133
+ - stubs/bosh.yml.erb
97
134
  homepage: https://github.com/bonzofenix/bosh-deployer
98
135
  licenses: []
99
136
  metadata: {}
@@ -119,8 +156,13 @@ specification_version: 4
119
156
  summary: 'bosh-deployer can: - downloads and upload stemcells specifies on a manifest
120
157
  pending: - deploy Bosh - deploy CF'
121
158
  test_files:
159
+ - spec/bosh_stub_spec.rb
122
160
  - spec/cli/deployer_spec.rb
161
+ - spec/commands/generate_stub_spec.rb
123
162
  - spec/commands/provision_stemcells_spec.rb
163
+ - spec/fixtures/bosh-bootstrap/settings.yml
124
164
  - spec/fixtures/manifests/bosh.yml
125
165
  - spec/fixtures/manifests/cf.yml
166
+ - spec/fixtures/stubs/bosh.yml
167
+ - spec/fixtures/stubs/cloudfoundry.stub.yml
126
168
  - spec/stemcell_spec.rb