kite 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 +4 -4
- data/README.md +2 -0
- data/bin/kite +7 -0
- data/bin/{setup → kite-config} +0 -0
- data/bin/{console → kite-console} +0 -0
- data/kite.gemspec +2 -2
- data/lib/kite.rb +6 -4
- data/lib/kite/commands.rb +46 -0
- data/lib/kite/helpers.rb +2 -0
- data/lib/kite/version.rb +1 -1
- data/tpl/aws/README.md +103 -0
- data/tpl/aws/bin/make_cloud_config.sh +104 -0
- data/tpl/aws/bin/make_manifest_bosh-init.sh +164 -0
- data/tpl/aws/bin/make_manifest_concourse-cluster.sh +96 -0
- data/tpl/aws/bootstrap.sh +24 -0
- data/tpl/aws/env.example.erb +12 -0
- data/tpl/aws/terraform/aws-concourse.tf +127 -0
- data/tpl/aws/terraform/aws-vault.tf +26 -0
- data/tpl/aws/terraform/bosh-aws-base.tf +118 -0
- data/tpl/aws/terraform/outputs.tf +15 -0
- data/tpl/aws/terraform/terraform.tfvars.erb +7 -0
- data/tpl/aws/terraform/variables.tf +26 -0
- data/tpl/gcp/INSTALL.md +25 -0
- data/tpl/gcp/README.md +377 -0
- data/tpl/gcp/cloud-config.yml.erb +66 -0
- data/tpl/gcp/concourse.tf +62 -0
- data/tpl/gcp/concourse.yml.erb +101 -0
- data/tpl/gcp/env.example.erb +7 -0
- data/tpl/gcp/main.tf +107 -0
- data/tpl/gcp/manifest.yml.erb +173 -0
- data/tpl/gcp/scripts/01_create_infrastructure.sh +24 -0
- data/tpl/gcp/scripts/02_deploy_director.sh +35 -0
- data/tpl/gcp/scripts/03_deploy_concourse.sh +29 -0
- data/tpl/gcp/scripts/04_delete_director.sh +6 -0
- data/tpl/gcp/scripts/05_delete_infrastructure.sh +23 -0
- data/tpl/gcp/scripts/bootstrap.sh +22 -0
- data/tpl/gcp/scripts/delete.sh +16 -0
- metadata +38 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90bb5e8944368e0fe0576c0c954ccc1a80c72e0d
|
4
|
+
data.tar.gz: 174dfc7e5123c6ee0eadef4ff11db6dfce68fd07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70e301d6a0bcdbf445a29542e7c4142c0cada31588b8d1191dc15828a5c30d27064816c87066ca1046c725b36b14f9a698888569e28c44e9609087a5211bc08d
|
7
|
+
data.tar.gz: 81638c0f37000c26497ea98b8a8fe0e7f67f497b9b098b57f2e1d8536e0ae84638176f660b0e656d6bb5eb12dbc29160bb025d383dd39f1bd6727ef18b59d639
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Kite
|
2
2
|
|
3
|
+
[](https://travis-ci.org/helios-technologies/kite)
|
4
|
+
|
3
5
|
Kite is a CLI for scaffolding and managing devops modules
|
4
6
|
The main purpose is templating of various tools for devops around terraform, bosh, ansible
|
5
7
|
|
data/bin/kite
ADDED
data/bin/{setup → kite-config}
RENAMED
File without changes
|
File without changes
|
data/kite.gemspec
CHANGED
@@ -16,8 +16,8 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
17
|
f.match(%r{^(test|spec|features)/})
|
18
18
|
end
|
19
|
-
spec.bindir = "
|
20
|
-
spec.executables = spec.files.grep(%r{^
|
19
|
+
spec.bindir = "bin"
|
20
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
spec.add_dependency "thor"
|
data/lib/kite.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
class Kite::Commands < Thor
|
2
|
+
include Thor::Actions
|
3
|
+
include Kite::Helpers
|
4
|
+
|
5
|
+
def self.source_root
|
6
|
+
File.expand_path(File.join(File.dirname(__FILE__), "../.."))
|
7
|
+
end
|
8
|
+
|
9
|
+
method_option :values, type: :string, default: "defaults.yml", required: true
|
10
|
+
method_option :cloud, type: :string, desc: "Cloud supplier", enum: %w{aws gcp}, required: true
|
11
|
+
desc "new CLOUDNAME", "Generate Cloud IaC from configuration"
|
12
|
+
def new(cloud_name)
|
13
|
+
say "Generating Cloud #{ cloud_name } IaC", :green
|
14
|
+
@values = YAML.load(File.read(options[:values]))
|
15
|
+
|
16
|
+
case options[:cloud]
|
17
|
+
when "aws"
|
18
|
+
copy_file("tpl/aws/bin/make_cloud_config.sh", "#{cloud_name}/bin/make_cloud_config.sh")
|
19
|
+
copy_file("tpl/aws/bin/make_manifest_bosh-init.sh", "#{cloud_name}/bin/make_manifest_bosh-init.sh")
|
20
|
+
copy_file("tpl/aws/bin/make_manifest_concourse-cluster.sh", "#{cloud_name}/bin/make_manifest_concourse-cluster.sh")
|
21
|
+
|
22
|
+
copy_file("tpl/aws/terraform/aws-concourse.tf", "#{cloud_name}/terraform/aws-concourse.tf")
|
23
|
+
copy_file("tpl/aws/terraform/aws-vault.tf", "#{cloud_name}/terraform/aws-vault.tf")
|
24
|
+
copy_file("tpl/aws/terraform/bosh-aws-base.tf", "#{cloud_name}/terraform/bosh-aws-base.tf")
|
25
|
+
copy_file("tpl/aws/terraform/outputs.tf", "#{cloud_name}/terraform/outputs.tf")
|
26
|
+
template("tpl/aws/terraform/terraform.tfvars.erb", "#{cloud_name}/terraform/terraform.tfvars")
|
27
|
+
copy_file("tpl/aws/terraform/variables.tf", "#{cloud_name}/terraform/variables.tf")
|
28
|
+
copy_file("tpl/aws/terraform/variables.tf", "#{cloud_name}/terraform/variables.tf")
|
29
|
+
|
30
|
+
template("tpl/aws/env.example.erb", "#{cloud_name}/.env")
|
31
|
+
copy_file("tpl/aws/README.md", "#{cloud_name}/README.md")
|
32
|
+
copy_file("tpl/aws/bootstrap.sh", "#{cloud_name}/bootstrap.sh")
|
33
|
+
|
34
|
+
when "gcp"
|
35
|
+
template("tpl/gcp/manifest.yml.erb", "#{cloud_name}/manifest.yml")
|
36
|
+
template("tpl/gcp/cloud-config.yml.erb", "#{cloud_name}/cloud-config.yml")
|
37
|
+
copy_file("tpl/gcp/concourse.yml.erb", "#{cloud_name}/concourse.yml")
|
38
|
+
copy_file("tpl/gcp/README.md", "#{cloud_name}/README.md")
|
39
|
+
directory("tpl/gcp/scripts", "#{cloud_name}/scripts")
|
40
|
+
copy_file("tpl/gcp/INSTALL.md", "#{cloud_name}/INSTALL.md")
|
41
|
+
template("tpl/gcp/env.example.erb", "#{cloud_name}/.env")
|
42
|
+
copy_file("tpl/gcp/main.tf", "#{cloud_name}/main.tf")
|
43
|
+
copy_file("tpl/gcp/concourse.tf", "#{cloud_name}/concourse.tf")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/kite/helpers.rb
ADDED
data/lib/kite/version.rb
CHANGED
data/tpl/aws/README.md
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
BOSH Director & Concourse Bootstrap
|
2
|
+
===================================
|
3
|
+
|
4
|
+
This project achieves the following:
|
5
|
+
|
6
|
+
- Preparation of an AWS environment for BOSH & Concourse
|
7
|
+
- Deployment of a new BOSH Director using bosh-init
|
8
|
+
- Deployment of a new Concourse cluster, or standalone server
|
9
|
+
|
10
|
+
Terraform is used to setup the base network and security infrastructure, including an ELB for Concourse.
|
11
|
+
|
12
|
+
Requirements
|
13
|
+
-----
|
14
|
+
|
15
|
+
- Install [terraform](https://www.terraform.io/intro/getting-started/install.html)
|
16
|
+
- Install [bosh-init](https://bosh.io/docs/install-bosh-init.html)
|
17
|
+
- Install the [bosh_cli](https://bosh.io/docs/bosh-cli.html)
|
18
|
+
|
19
|
+
Ensure you have created a `terraform/terraform.tfvars` file with your variables, or set suitable [environment variables](https://www.terraform.io/docs/configuration/variables.html). An example tfvars file can be found in `terraform/terraform.tfvars.example`
|
20
|
+
|
21
|
+
Assumptions
|
22
|
+
-----
|
23
|
+
|
24
|
+
You already have:
|
25
|
+
|
26
|
+
- A Route53 Zone in AWS.
|
27
|
+
- An EC2 SSH keypair
|
28
|
+
- An SSL certificate in AWS for your Concourse ELB
|
29
|
+
|
30
|
+
Usage
|
31
|
+
-----
|
32
|
+
|
33
|
+
Set your desired AWS region in `terrform/variables.tf`. Ensure terraform is in your path, then apply the configuration to prepare the IaaS for BOSH and Concourse:
|
34
|
+
|
35
|
+
```
|
36
|
+
cd terraform/
|
37
|
+
terraform apply
|
38
|
+
```
|
39
|
+
Set the following environment variables:
|
40
|
+
|
41
|
+
```
|
42
|
+
$AWS_ACCESS_KEY_ID
|
43
|
+
$AWS_SECRET_ACCESS_KEY
|
44
|
+
$AWS_REGION
|
45
|
+
$AWS_AZ
|
46
|
+
$BOSH_PASSWORD
|
47
|
+
$AWS_KEYPAIR_KEY_NAME
|
48
|
+
$PRIVATE_KEY_PATH
|
49
|
+
```
|
50
|
+
|
51
|
+
Then create the `bosh-director.yml` manifest:
|
52
|
+
```
|
53
|
+
./bin/make_manifest_bosh-init.sh
|
54
|
+
```
|
55
|
+
|
56
|
+
You are ready to deploy the BOSH Director
|
57
|
+
```
|
58
|
+
bosh-init deploy bosh-director.yml
|
59
|
+
```
|
60
|
+
|
61
|
+
Go and make a cup of tea.
|
62
|
+
|
63
|
+
Once the director is deployed, target it and apply your cloud-config for AWS.
|
64
|
+
Remember to set your chosen AZ and the subnet-id output by terraform in `aws-cloud.yml`.
|
65
|
+
|
66
|
+
```
|
67
|
+
bosh target <your EIP address>
|
68
|
+
bosh update cloud-config aws-cloud.yml
|
69
|
+
```
|
70
|
+
|
71
|
+
Set a database password and external URL for your deployment in these environment variables:
|
72
|
+
|
73
|
+
```
|
74
|
+
$DB_PASSWORD
|
75
|
+
$CONCOURSE_URL
|
76
|
+
```
|
77
|
+
Create a new OAuth application in GitHub as described [here](http://concourse.ci/authentication.html). The manifest assumes the existance of a 'CI' team that contains your authorised users, so create that too. Then set the following environment variables:
|
78
|
+
|
79
|
+
```
|
80
|
+
$GITHUB_ORG
|
81
|
+
$GITHUB_CLIENT_ID
|
82
|
+
$GITHUB_CLIENT_SECRET
|
83
|
+
```
|
84
|
+
|
85
|
+
Then create a concourse manifest for a single server deployment:
|
86
|
+
```
|
87
|
+
./bin/make_manifest_concourse.sh
|
88
|
+
```
|
89
|
+
Or, create a concourse manifest for small cluster:
|
90
|
+
```
|
91
|
+
./bin/make_manifest_concourse-cluster.sh
|
92
|
+
```
|
93
|
+
|
94
|
+
Upload the necessary stemcell & releases, then deploy concourse:
|
95
|
+
```
|
96
|
+
bosh upload stemcell https://bosh.io/d/stemcells/bosh-aws-xen-hvm-ubuntu-trusty-go_agent
|
97
|
+
bosh upload release https://bosh.io/d/github.com/concourse/concourse
|
98
|
+
bosh upload release https://bosh.io/d/github.com/cloudfoundry-incubator/garden-runc-release
|
99
|
+
bosh deployment concourse.yml
|
100
|
+
bosh deploy
|
101
|
+
```
|
102
|
+
|
103
|
+
Congratulations, you should now be able to see your new CI server at https://your-concourse-url.
|
@@ -0,0 +1,104 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# Please set the following environment variables:
|
4
|
+
# $AWS_AZ
|
5
|
+
|
6
|
+
|
7
|
+
function getvars() {
|
8
|
+
cd terraform/
|
9
|
+
DEFAULT_SUBNET=$(terraform output default_subnet_id)
|
10
|
+
OPS_SUBNET=$(terraform output ops_services_subnet_id)
|
11
|
+
cd ../
|
12
|
+
}
|
13
|
+
|
14
|
+
getvars
|
15
|
+
|
16
|
+
echo "Default Subnet = $DEFAULT_SUBNET"
|
17
|
+
echo "Ops Services Subnet = $OPS_SUBNET"
|
18
|
+
echo "AWS AZ" = $AWS_AZ
|
19
|
+
|
20
|
+
|
21
|
+
cat >aws-cloud.yml <<YAML
|
22
|
+
---
|
23
|
+
azs:
|
24
|
+
- name: z1
|
25
|
+
cloud_properties: {availability_zone: $AWS_AZ}
|
26
|
+
|
27
|
+
vm_types:
|
28
|
+
- name: concourse_standalone
|
29
|
+
cloud_properties:
|
30
|
+
instance_type: m3.large
|
31
|
+
ephemeral_disk: {size: 5000, type: gp2}
|
32
|
+
elbs: [concourse-elb]
|
33
|
+
security_groups: [concourse-sg, boshdefault]
|
34
|
+
- name: concourse_web
|
35
|
+
cloud_properties:
|
36
|
+
instance_type: m3.medium
|
37
|
+
ephemeral_disk: {size: 3000, type: gp2}
|
38
|
+
elbs: [concourse-elb]
|
39
|
+
security_groups: [concourse-sg, boshdefault]
|
40
|
+
- name: concourse_db
|
41
|
+
cloud_properties:
|
42
|
+
instance_type: m3.medium
|
43
|
+
ephemeral_disk: {size: 3000, type: gp2}
|
44
|
+
security_groups: [boshdefault]
|
45
|
+
- name: concourse_worker
|
46
|
+
cloud_properties:
|
47
|
+
instance_type: m3.large
|
48
|
+
ephemeral_disk: {size: 30000, type: gp2}
|
49
|
+
security_groups: [boshdefault]
|
50
|
+
- name: default
|
51
|
+
cloud_properties:
|
52
|
+
instance_type: t2.micro
|
53
|
+
ephemeral_disk: {size: 3000, type: gp2}
|
54
|
+
security_groups: [boshdefault]
|
55
|
+
- name: large
|
56
|
+
cloud_properties:
|
57
|
+
instance_type: m3.large
|
58
|
+
ephemeral_disk: {size: 5000, type: gp2}
|
59
|
+
security_groups: [boshdefault]
|
60
|
+
- name: vault-default
|
61
|
+
cloud_properties:
|
62
|
+
instance_type: t2.micro
|
63
|
+
ephemeral_disk: {size: 3000, type: gp2}
|
64
|
+
security_groups: [vault-sg, boshdefault]
|
65
|
+
|
66
|
+
disk_types:
|
67
|
+
- name: default
|
68
|
+
disk_size: 3000
|
69
|
+
cloud_properties: {type: gp2}
|
70
|
+
- name: large
|
71
|
+
disk_size: 50_000
|
72
|
+
cloud_properties: {type: gp2}
|
73
|
+
|
74
|
+
networks:
|
75
|
+
- name: default
|
76
|
+
type: manual
|
77
|
+
subnets:
|
78
|
+
- range: 10.0.0.0/24
|
79
|
+
gateway: 10.0.0.1
|
80
|
+
az: z1
|
81
|
+
static: [10.0.0.6]
|
82
|
+
reserved: [10.0.0.1-10.0.0.5]
|
83
|
+
dns: [10.0.0.2]
|
84
|
+
cloud_properties: {subnet: $DEFAULT_SUBNET}
|
85
|
+
- name: ops_services
|
86
|
+
type: manual
|
87
|
+
subnets:
|
88
|
+
- range: 10.0.10.0/24
|
89
|
+
gateway: 10.0.10.1
|
90
|
+
az: z1
|
91
|
+
reserved: [10.0.10.1-10.0.10.5]
|
92
|
+
dns: [10.0.0.2]
|
93
|
+
cloud_properties: {subnet: $OPS_SUBNET}
|
94
|
+
- name: vip
|
95
|
+
type: vip
|
96
|
+
|
97
|
+
compilation:
|
98
|
+
workers: 5
|
99
|
+
reuse_compilation_vms: true
|
100
|
+
az: z1
|
101
|
+
vm_type: large
|
102
|
+
network: default
|
103
|
+
|
104
|
+
YAML
|
@@ -0,0 +1,164 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# Please set the following environment variables:
|
4
|
+
# $AWS_ACCESS_KEY_ID
|
5
|
+
# $AWS_SECRET_ACCESS_KEY
|
6
|
+
# $AWS_REGION
|
7
|
+
# $AWS_AZ
|
8
|
+
# $BOSH_PASSWORD
|
9
|
+
# $AWS_KEYPAIR_KEY_NAME
|
10
|
+
# $PRIVATE_KEY_PATH
|
11
|
+
|
12
|
+
function getvars() {
|
13
|
+
cd terraform/
|
14
|
+
EIP=$(terraform output eip)
|
15
|
+
SUBNET=$(terraform output default_subnet_id)
|
16
|
+
SECURITY_GROUP=$(terraform output security_group_id)
|
17
|
+
cd ../
|
18
|
+
}
|
19
|
+
|
20
|
+
getvars
|
21
|
+
|
22
|
+
echo "Subnet = $SUBNET"
|
23
|
+
echo "Security Group = $SECURITY_GROUP"
|
24
|
+
echo "EIP = $EIP"
|
25
|
+
echo "AWS REGION = $AWS_REGION"
|
26
|
+
echo "AWS AZ = $AWS_AZ"
|
27
|
+
|
28
|
+
cat >bosh-director.yml <<YAML
|
29
|
+
---
|
30
|
+
name: bosh
|
31
|
+
|
32
|
+
releases:
|
33
|
+
- name: bosh
|
34
|
+
url: https://bosh.io/d/github.com/cloudfoundry/bosh?v=256.2
|
35
|
+
sha1: ff2f4e16e02f66b31c595196052a809100cfd5a8
|
36
|
+
- name: bosh-aws-cpi
|
37
|
+
url: https://bosh.io/d/github.com/cloudfoundry-incubator/bosh-aws-cpi-release?v=52
|
38
|
+
sha1: dc4a0cca3b33dce291e4fbeb9e9948b6a7be3324
|
39
|
+
|
40
|
+
resource_pools:
|
41
|
+
- name: vms
|
42
|
+
network: private
|
43
|
+
stemcell:
|
44
|
+
url: https://bosh.io/d/stemcells/bosh-aws-xen-hvm-ubuntu-trusty-go_agent?v=3232.3
|
45
|
+
sha1: 1fe87c0146ad1f3b55eeed5a80ce35c01b4eb6d9
|
46
|
+
cloud_properties:
|
47
|
+
instance_type: m3.large
|
48
|
+
ephemeral_disk: {size: 25_000, type: gp2}
|
49
|
+
availability_zone: $AWS_AZ
|
50
|
+
|
51
|
+
disk_pools:
|
52
|
+
- name: disks
|
53
|
+
disk_size: 20_000
|
54
|
+
cloud_properties: {type: gp2}
|
55
|
+
|
56
|
+
networks:
|
57
|
+
- name: private
|
58
|
+
type: manual
|
59
|
+
subnets:
|
60
|
+
- range: 10.0.0.0/24
|
61
|
+
gateway: 10.0.0.1
|
62
|
+
dns: [10.0.0.2]
|
63
|
+
cloud_properties: {subnet: $SUBNET}
|
64
|
+
- name: public
|
65
|
+
type: vip
|
66
|
+
|
67
|
+
jobs:
|
68
|
+
- name: bosh
|
69
|
+
instances: 1
|
70
|
+
|
71
|
+
templates:
|
72
|
+
- {name: nats, release: bosh}
|
73
|
+
- {name: postgres, release: bosh}
|
74
|
+
- {name: blobstore, release: bosh}
|
75
|
+
- {name: director, release: bosh}
|
76
|
+
- {name: health_monitor, release: bosh}
|
77
|
+
- {name: registry, release: bosh}
|
78
|
+
- {name: aws_cpi, release: bosh-aws-cpi}
|
79
|
+
|
80
|
+
resource_pool: vms
|
81
|
+
persistent_disk_pool: disks
|
82
|
+
|
83
|
+
networks:
|
84
|
+
- name: private
|
85
|
+
static_ips: [10.0.0.6]
|
86
|
+
default: [dns, gateway]
|
87
|
+
- name: public
|
88
|
+
static_ips: [$EIP]
|
89
|
+
|
90
|
+
properties:
|
91
|
+
nats:
|
92
|
+
address: 127.0.0.1
|
93
|
+
user: nats
|
94
|
+
password: $BOSH_PASSWORD
|
95
|
+
|
96
|
+
postgres: &db
|
97
|
+
listen_address: 127.0.0.1
|
98
|
+
host: 127.0.0.1
|
99
|
+
user: postgres
|
100
|
+
password: $BOSH_PASSWORD
|
101
|
+
database: bosh
|
102
|
+
adapter: postgres
|
103
|
+
|
104
|
+
registry:
|
105
|
+
address: 10.0.0.6
|
106
|
+
host: 10.0.0.6
|
107
|
+
db: *db
|
108
|
+
http: {user: admin, password: $BOSH_PASSWORD, port: 25777}
|
109
|
+
username: admin
|
110
|
+
password: $BOSH_PASSWORD
|
111
|
+
port: 25777
|
112
|
+
|
113
|
+
blobstore:
|
114
|
+
address: 10.0.0.6
|
115
|
+
port: 25250
|
116
|
+
provider: dav
|
117
|
+
director: {user: director, password: $BOSH_PASSWORD}
|
118
|
+
agent: {user: agent, password: $BOSH_PASSWORD}
|
119
|
+
|
120
|
+
director:
|
121
|
+
address: 127.0.0.1
|
122
|
+
name: eb-bosh
|
123
|
+
db: *db
|
124
|
+
cpi_job: aws_cpi
|
125
|
+
max_threads: 10
|
126
|
+
user_management:
|
127
|
+
provider: local
|
128
|
+
local:
|
129
|
+
users:
|
130
|
+
- {name: admin, password: $BOSH_PASSWORD}
|
131
|
+
- {name: hm, password: $BOSH_PASSWORD}
|
132
|
+
|
133
|
+
hm:
|
134
|
+
director_account: {user: hm, password: $BOSH_PASSWORD}
|
135
|
+
resurrector_enabled: true
|
136
|
+
|
137
|
+
aws: &aws
|
138
|
+
access_key_id: $AWS_ACCESS_KEY_ID
|
139
|
+
secret_access_key: $AWS_SECRET_ACCESS_KEY
|
140
|
+
default_key_name: $AWS_KEYPAIR_KEY_NAME
|
141
|
+
default_security_groups: [$SECURITY_GROUP]
|
142
|
+
region: $AWS_REGION
|
143
|
+
|
144
|
+
agent: {mbus: "nats://nats:$BOSH_PASSWORD@10.0.0.6:4222"}
|
145
|
+
|
146
|
+
ntp: &ntp [0.pool.ntp.org, 1.pool.ntp.org]
|
147
|
+
|
148
|
+
cloud_provider:
|
149
|
+
template: {name: aws_cpi, release: bosh-aws-cpi}
|
150
|
+
|
151
|
+
ssh_tunnel:
|
152
|
+
host: $EIP # <--- Replace with your Elastic IP address
|
153
|
+
port: 22
|
154
|
+
user: vcap
|
155
|
+
private_key: $PRIVATE_KEY_PATH # Path relative to this manifest file
|
156
|
+
|
157
|
+
mbus: "https://mbus:$BOSH_PASSWORD@$EIP:6868" # <--- Replace with Elastic IP
|
158
|
+
|
159
|
+
properties:
|
160
|
+
aws: *aws
|
161
|
+
agent: {mbus: "https://mbus:$BOSH_PASSWORD@0.0.0.0:6868"}
|
162
|
+
blobstore: {provider: local, path: /var/vcap/micro_bosh/data/cache}
|
163
|
+
ntp: *ntp
|
164
|
+
YAML
|