bosh-deployer 0.0.2 → 0.0.3

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.
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