kite 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +130 -66
  3. data/LICENSE.md +202 -0
  4. data/README.md +35 -11
  5. data/bin/concourse/out +16 -20
  6. data/docs/kite-concourse-resource.md +45 -0
  7. data/kite.gemspec +1 -0
  8. data/lib/kite.rb +3 -1
  9. data/lib/kite/cloud.rb +1 -0
  10. data/lib/kite/core.rb +8 -2
  11. data/lib/kite/generate.rb +12 -46
  12. data/lib/kite/helpers.rb +0 -72
  13. data/lib/kite/helpers/concourse.rb +3 -2
  14. data/lib/kite/module.rb +76 -0
  15. data/lib/kite/terraform.rb +45 -0
  16. data/lib/kite/version.rb +1 -1
  17. data/tpl/aws/environment/main.tf.tt +5 -0
  18. data/tpl/aws/environment/s3.tf.tt +13 -0
  19. data/tpl/gcp/environment/gcs.tf.tt +18 -0
  20. data/tpl/gcp/environment/main.tf.tt +5 -0
  21. data/tpl/gcp/environment/outputs.tf.tt +5 -0
  22. data/tpl/service/%output_path%/pipelines/review.yml.tt +55 -37
  23. data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +1 -1
  24. data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +1 -1
  25. data/tpl/service/%output_path%/pipelines/tasks/run-unit.yml.tt +7 -0
  26. data/tpl/service/Makefile.tt +11 -7
  27. data/tpl/service/docs/getting-started.md +73 -0
  28. data/tpl/service/docs/service.md +101 -0
  29. data/tpl/skel/Gemfile.tt +0 -9
  30. data/tpl/skel/config/cloud.yml +11 -66
  31. metadata +29 -88
  32. data/lib/kite/render.rb +0 -116
  33. data/tpl/aws/README.md +0 -52
  34. data/tpl/aws/bin/base/bootstrap.sh +0 -35
  35. data/tpl/aws/bin/base/cleanup.sh.tt +0 -19
  36. data/tpl/aws/bin/base/set-env.sh.tt +0 -7
  37. data/tpl/aws/bin/base/setup-tunnel.sh.tt +0 -4
  38. data/tpl/aws/bin/bosh-install.sh.tt +0 -23
  39. data/tpl/aws/bin/concourse-deploy.sh.tt +0 -14
  40. data/tpl/aws/bin/ingress-deploy.sh.tt +0 -7
  41. data/tpl/aws/bin/ingress-update.sh.tt +0 -7
  42. data/tpl/aws/bin/kops-delete.sh.erb +0 -5
  43. data/tpl/aws/bin/kops-deploy.sh.erb +0 -11
  44. data/tpl/aws/bin/oauth-deploy.sh.tt +0 -17
  45. data/tpl/aws/bin/prometheus-deploy.sh.tt +0 -23
  46. data/tpl/aws/bin/vault-deploy.sh.tt +0 -10
  47. data/tpl/aws/bosh-vars.yml.erb +0 -12
  48. data/tpl/aws/config/oauth.yml +0 -59
  49. data/tpl/aws/deployments/bosh/bosh.yml +0 -144
  50. data/tpl/aws/deployments/bosh/cloud-config.yml.tt +0 -86
  51. data/tpl/aws/deployments/bosh/cpi.yml +0 -98
  52. data/tpl/aws/deployments/bosh/jumpbox-user.yml +0 -27
  53. data/tpl/aws/deployments/concourse/concourse.yml.tt +0 -98
  54. data/tpl/aws/deployments/ingress/ingress.yml.erb +0 -78
  55. data/tpl/aws/deployments/oauth/oauth.yml.tt +0 -95
  56. data/tpl/aws/deployments/prometheus/monitor-bosh.yml +0 -518
  57. data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +0 -30
  58. data/tpl/aws/deployments/prometheus/prometheus.yml.tt +0 -184
  59. data/tpl/aws/deployments/vault/vault.yml.erb +0 -38
  60. data/tpl/aws/docs/bosh.md +0 -31
  61. data/tpl/aws/docs/concourse.md +0 -41
  62. data/tpl/aws/docs/ingress.md +0 -14
  63. data/tpl/aws/docs/kops.md +0 -35
  64. data/tpl/aws/docs/oauth.md +0 -24
  65. data/tpl/aws/docs/prometheus.md +0 -31
  66. data/tpl/aws/docs/vault.md +0 -35
  67. data/tpl/aws/terraform/kite_bucket.tf +0 -8
  68. data/tpl/aws/terraform/main.tf.tt +0 -36
  69. data/tpl/aws/terraform/network.tf.tt +0 -252
  70. data/tpl/aws/terraform/outputs.tf +0 -19
  71. data/tpl/aws/terraform/terraform.tfvars.tt +0 -21
  72. data/tpl/aws/terraform/variables.tf +0 -73
  73. data/tpl/gcp/README.md +0 -54
  74. data/tpl/gcp/bin/base/bootstrap.sh +0 -35
  75. data/tpl/gcp/bin/base/cleanup.sh.tt +0 -20
  76. data/tpl/gcp/bin/base/set-env.sh.tt +0 -10
  77. data/tpl/gcp/bin/base/setup-tunnel.sh.tt +0 -13
  78. data/tpl/gcp/bin/bosh-install.sh.tt +0 -22
  79. data/tpl/gcp/bin/concourse-deploy.sh.tt +0 -14
  80. data/tpl/gcp/bin/ingress-deploy.sh.tt +0 -7
  81. data/tpl/gcp/bin/ingress-update.sh.tt +0 -7
  82. data/tpl/gcp/bin/oauth-deploy.sh.tt +0 -19
  83. data/tpl/gcp/bin/prometheus-deploy.sh.tt +0 -23
  84. data/tpl/gcp/bin/vault-deploy.sh.tt +0 -10
  85. data/tpl/gcp/bosh-vars.yml.erb +0 -9
  86. data/tpl/gcp/config/oauth.yml +0 -59
  87. data/tpl/gcp/deployments/bosh/bosh.yml +0 -144
  88. data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +0 -73
  89. data/tpl/gcp/deployments/bosh/cpi.yml +0 -69
  90. data/tpl/gcp/deployments/bosh/jumpbox-user.yml +0 -27
  91. data/tpl/gcp/deployments/concourse/concourse.yml.tt +0 -104
  92. data/tpl/gcp/deployments/concourse/test/test-credentials.yml +0 -3
  93. data/tpl/gcp/deployments/concourse/test/test-pipeline.yml +0 -24
  94. data/tpl/gcp/deployments/ingress/ingress.yml.erb +0 -111
  95. data/tpl/gcp/deployments/oauth/oauth.yml.tt +0 -95
  96. data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +0 -518
  97. data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +0 -30
  98. data/tpl/gcp/deployments/prometheus/prometheus.yml +0 -183
  99. data/tpl/gcp/deployments/vault/vault.yml.erb +0 -37
  100. data/tpl/gcp/docs/bosh.md +0 -36
  101. data/tpl/gcp/docs/concourse.md +0 -41
  102. data/tpl/gcp/docs/ingress.md +0 -12
  103. data/tpl/gcp/docs/oauth.md +0 -24
  104. data/tpl/gcp/docs/prometheus.md +0 -27
  105. data/tpl/gcp/docs/vault.md +0 -36
  106. data/tpl/gcp/terraform/gcs.tf.tt +0 -18
  107. data/tpl/gcp/terraform/main.tf +0 -70
  108. data/tpl/gcp/terraform/network.tf +0 -52
  109. data/tpl/gcp/terraform/outputs.tf +0 -7
  110. data/tpl/gcp/terraform/terraform.tfvars.tt +0 -15
  111. data/tpl/gcp/terraform/variables.tf +0 -37
  112. data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +0 -22
  113. data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +0 -12
  114. data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +0 -12
  115. data/tpl/skel/docs/index.md.tt +0 -0
  116. data/tpl/skel/docs/quickstart.md.tt +0 -0
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Apply Terraform IaC
6
- pushd terraform
7
-
8
- terraform init
9
- terraform apply
10
-
11
- popd
12
-
13
- # Set up an SSH tunnel to Bastion
14
- . bin/setup-tunnel.sh
15
-
16
- # Render BOSH manifest and related files
17
- kite render manifest bosh --cloud gcp
18
-
19
- # Deploy BOSH Director
20
- ./bin/bosh-install.sh
21
-
22
- # Set the needed environment variables
23
- . bin/set-env.sh
24
-
25
- # Render Vault manifest and related files
26
- kite render manifest vault --cloud gcp
27
-
28
- # Deploy Vault
29
- ./bin/vault-deploy.sh
30
-
31
- # Render Concourse manifest
32
- kite render manifest concourse --cloud gcp
33
-
34
- # Deploy Concourse
35
- ./bin/concourse-deploy.sh
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Remove existing BOSH deployments
4
- bosh -e <%= @values['bosh']['name'] %> -d vault deld
5
-
6
- # Destroy BOSH director
7
- bosh delete-env deployments/bosh/bosh.yml \
8
- --state=config/state.json \
9
- --vars-store=config/creds.yml \
10
- --vars-file=config/bosh-vars.yml \
11
- --var-file gcp_credentials_json=<%= @values['gcp']['service_account'] %> \
12
- -v tags='[platform-internal, no-ip]' \
13
- -o deployments/bosh/cpi.yml \
14
- -o deployments/bosh/jumpbox-user.yml
15
-
16
- # Destroy Terraform-generated infrastructure
17
- pushd terraform && terraform destroy && popd
18
-
19
- # Remove files generated by kite
20
- rm -rf terraform deployments docs config/{creds.yml,bosh_vars.yml,jumpbox.key} bin/*.sh
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- pushd terraform
4
- BASTION_IP="$(terraform output bastion_ip)"
5
- popd
6
-
7
- export BASTION_IP
8
- export BOSH_ALL_PROXY=socks5://localhost:5000
9
- export BOSH_CLIENT=admin
10
- export BOSH_CLIENT_SECRET=`bosh int ./config/creds.yml --path /admin_password`
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- pushd terraform
4
- BASTION_IP="$(terraform output bastion_ip)"
5
- popd
6
-
7
- if [[ -z "${BASTION_IP}" ]]; then
8
- echo "Something goes wrong, please check terraform environement" 1>&2
9
- false
10
- else
11
- ssh -D 5000 -fNC kite@${BASTION_IP} -i <%= @values['kite']['private_key_path'] %>
12
- export BOSH_ALL_PROXY=socks5://localhost:5000
13
- fi
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- bosh create-env deployments/bosh/bosh.yml \
6
- --state=config/state.json \
7
- --vars-store=config/creds.yml \
8
- --vars-file=config/bosh-vars.yml \
9
- --var-file gcp_credentials_json=<%= @values['gcp']['service_account'] %> \
10
- -v tags='[platform-internal, no-ip]' \
11
- -o deployments/bosh/cpi.yml \
12
- -o deployments/bosh/jumpbox-user.yml
13
-
14
- bosh alias-env <%= @values['bosh']['name'] %> -e <%= @values['bosh']['static_ip'] %> --ca-cert \
15
- <(bosh int ./config/creds.yml --path /director_ssl/ca)
16
-
17
- echo "Please run"
18
- echo bosh -e <%= @values['bosh']['name'] %> ucc deployments/bosh/cloud-config.yml
19
-
20
- # Get jumpbox user key
21
- bosh int config/creds.yml --path /jumpbox_ssh/private_key > config/jumpbox.key
22
- chmod 600 config/jumpbox.key
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Upload necessary stemcells and releases
6
- bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://bosh.io/d/stemcells/bosh-google-kvm-ubuntu-trusty-go_agent
7
- bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/concourse/concourse/releases/download/v3.4.1/concourse-3.4.1.tgz
8
- bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/concourse/concourse/releases/download/v3.4.1/garden-runc-1.6.0.tgz
9
-
10
- # Deploy Concourse
11
- bosh -e <%= @values['bosh']['name'] %> -d concourse \
12
- deploy deployments/concourse/concourse.yml \
13
- -v vault_token=$1 \
14
- --vars-store config/creds.yml && ./bin/ingress-update.sh
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/cloudfoundry-community/nginx-release/releases/download/v1.12.1/nginx-1.12.1.tgz
6
-
7
- bosh -e <%= @values['bosh']['name'] %> -d ingress deploy deployments/ingress/ingress.yml
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- kite render manifest ingress --cloud gcp
6
-
7
- bosh -e <%= @values['bosh']['name'] %> -d ingress deploy deployments/ingress/ingress.yml
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Upload necessary stemcells and releases
6
- bosh -e <%= @values['bosh']['name'] %> upload-stemcell \
7
- https://bosh.io/d/stemcells/bosh-google-kvm-ubuntu-trusty-go_agent \
8
- --skip-if-exists
9
-
10
- bosh -e <%= @values['bosh']['name'] %> upload-release \
11
- https://bosh.io/d/github.com/cloudfoundry/uaa-release
12
-
13
- # Deploy Concourse
14
- bosh -e <%= @values['bosh']['name'] %> -d oauth deploy \
15
- deployments/oauth/oauth.yml \
16
- --vars-store config/creds.yml \
17
- -o config/oauth.yml \
18
- && ./bin/ingress-update.sh
19
-
@@ -1,23 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Upload necessary stemcells and releases
6
- bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/google/bosh-stemcell-3445.7-google-kvm-ubuntu-trusty-go_agent.tgz
7
-
8
- # Extract BOSH Director's SSL certificate
9
- bosh int ./config/creds.yml --path /director_ssl/certificate > bosh.ca
10
-
11
- # Deploy Prometheus
12
- bosh -e <%= @values['bosh']['name'] %> -d prometheus \
13
- deploy deployments/prometheus/prometheus.yml \
14
- --vars-store config/creds.yml \
15
- -o deployments/prometheus/monitor-kubernetes.yml \
16
- --vars-file config/bosh-vars.yml \
17
- --var-file kubernetes_kubeconfig=<%= @values['k8s']['config_path'] %> \
18
- -o deployments/prometheus/monitor-bosh.yml \
19
- -v bosh_url=<%= @values['bosh']['static_ip'] %> \
20
- -v bosh_username=admin \
21
- -v bosh_password=`bosh int ./config/creds.yml --path /admin_password` \
22
- --var-file bosh_ca_cert=bosh.ca \
23
- -v metrics_environment=kite && ingress-update.sh
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -xe
4
-
5
- # Upload necessary stemcells and releases
6
- bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/google/bosh-stemcell-3445.7-google-kvm-ubuntu-trusty-go_agent.tgz
7
- bosh -e <%= @values['bosh']['name'] %> upload-release https://bosh.io/d/github.com/cloudfoundry-community/vault-boshrelease
8
-
9
- # Deploy Concourse
10
- bosh -e <%= @values['bosh']['name'] %> -d vault deploy deployments/vault/vault.yml && ./bin/ingress-update.sh
@@ -1,9 +0,0 @@
1
- director_name: <%= @values['bosh']['name'] %>
2
- internal_cidr: <%= @values['gcp']['subnet_cidr'] %>
3
- internal_gw: <%= @values['gcp']['internal_gw'] %>
4
- internal_ip: <%= @values['bosh']['static_ip'] %>
5
- project_id: <%= @values['gcp']['project'] %>
6
- zone: <%= @values['gcp']['zone'] %>
7
- network: <%= @values['gcp']['vpc_name'] %>
8
- subnetwork: <%= @values['gcp']['subnet_name'] %>
9
- kubernetes_apiserver: <%= @values['k8s']['api_server_address'] %>
@@ -1,59 +0,0 @@
1
- # Groups
2
- - type: replace
3
- path: /instance_groups/name=uaa/jobs/name=uaa/properties/uaa/scim?/groups?
4
- value: { }
5
- # sysops: For automation stuff
6
-
7
- # Users
8
- - type: replace
9
- path: /instance_groups/name=uaa/jobs/name=uaa/properties/uaa/scim?/users?
10
- value: [ ]
11
- # - email: sysops@example.com
12
- # password: changeme
13
- # name: sysops
14
- # firstName: Sys
15
- # lastName: Ops
16
- # origin: uaa
17
- # groups:
18
- # - sysops
19
-
20
- # OAuth clients
21
- - type: replace
22
- path: /instance_groups/name=uaa/jobs/name=uaa/properties/uaa/clients?
23
- value: { }
24
- # some-app:
25
- # app-icon: 0000000000000000000000000000000000000000000000000000000000000000
26
- # app-launch-url: http://myapppage.com
27
- # authorities: test_resource.test_action
28
- # authorized-grant-types: authorization_code,client_credentials,refresh_token
29
- # autoapprove:
30
- # - test_resource.test_action
31
- # - test_resource.other_action
32
- # id: app
33
- # override: true
34
- # redirect-uri: http://login.example.com
35
- # scope: test_resource.test_action,test_resource.other_action
36
- # secret: app-secret
37
- # show-on-homepage: true
38
-
39
- # UAA theming
40
- - type: replace
41
- path: /instance_groups/name=uaa/jobs/name=uaa/properties/login/branding?
42
- value: { }
43
- # banner:
44
- # backgroundColor: "#eeeeee"
45
- # link: "https://example.com/logo.png"
46
- # text: "Hello!"
47
- # textColor: "#333333"
48
- # company_name: "Company Name"
49
- # footer_legal_text: "© 2017. Company Name. All right reserved."
50
-
51
- # Email notifications
52
- - type: replace
53
- path: /instance_groups/name=uaa/jobs/name=uaa/properties/login/smtp?
54
- value: { }
55
- # auth: false
56
- # from_address: hello@example.com
57
- # host: localhost
58
- # port: 2525
59
- # starttls: false
@@ -1,144 +0,0 @@
1
- ---
2
- name: bosh
3
-
4
- releases:
5
- - name: bosh
6
- version: "263"
7
- url: https://s3.amazonaws.com/bosh-compiled-release-tarballs/bosh-263-ubuntu-trusty-3445.7-20170901-012146-902840377-20170901012153.tgz?versionId=89a.ZxB3Jc_gl6s4YESlL41xNOfoJKrO
8
- sha1: cc71c2ee6992071b1e1f6ae9f2119c03a42521c5
9
-
10
- resource_pools:
11
- - name: vms
12
- network: default
13
- env:
14
- bosh:
15
- password: '*'
16
- mbus:
17
- cert: ((mbus_bootstrap_ssl))
18
-
19
- disk_pools:
20
- - name: disks
21
- disk_size: 32_768
22
-
23
- networks:
24
- - name: default
25
- type: manual
26
- subnets:
27
- - range: ((internal_cidr))
28
- gateway: ((internal_gw))
29
- static: [((internal_ip))]
30
- dns: [8.8.8.8]
31
-
32
- instance_groups:
33
- - name: bosh
34
- instances: 1
35
- jobs:
36
- - {name: nats, release: bosh}
37
- - {name: postgres-9.4, release: bosh}
38
- - {name: blobstore, release: bosh}
39
- - {name: director, release: bosh}
40
- - {name: health_monitor, release: bosh}
41
- resource_pool: vms
42
- persistent_disk_pool: disks
43
- networks:
44
- - name: default
45
- static_ips: [((internal_ip))]
46
- properties:
47
- nats:
48
- address: 127.0.0.1
49
- user: nats
50
- password: ((nats_password))
51
- postgres: &db
52
- listen_address: 127.0.0.1
53
- host: 127.0.0.1
54
- user: postgres
55
- password: ((postgres_password))
56
- database: bosh
57
- adapter: postgres
58
- blobstore:
59
- address: ((internal_ip))
60
- port: 25250
61
- provider: dav
62
- director:
63
- user: director
64
- password: ((blobstore_director_password))
65
- agent:
66
- user: agent
67
- password: ((blobstore_agent_password))
68
- director:
69
- address: 127.0.0.1
70
- name: ((director_name))
71
- db: *db
72
- flush_arp: true
73
- enable_post_deploy: true
74
- generate_vm_passwords: true
75
- enable_dedicated_status_worker: true
76
- enable_nats_delivered_templates: true
77
- workers: 4
78
- events:
79
- record_events: true
80
- ssl:
81
- key: ((director_ssl.private_key))
82
- cert: ((director_ssl.certificate))
83
- user_management:
84
- provider: local
85
- local:
86
- users:
87
- - name: admin
88
- password: ((admin_password))
89
- - name: hm
90
- password: ((hm_password))
91
- hm:
92
- director_account:
93
- user: hm
94
- password: ((hm_password))
95
- ca_cert: ((director_ssl.ca))
96
- resurrector_enabled: true
97
- ntp: &ntp
98
- - time1.google.com
99
- - time2.google.com
100
- - time3.google.com
101
- - time4.google.com
102
- agent:
103
- mbus: nats://nats:((nats_password))@((internal_ip)):4222
104
-
105
- cloud_provider:
106
- mbus: https://mbus:((mbus_bootstrap_password))@((internal_ip)):6868
107
- cert: ((mbus_bootstrap_ssl))
108
- properties:
109
- agent: {mbus: "https://mbus:((mbus_bootstrap_password))@0.0.0.0:6868"}
110
- blobstore: {provider: local, path: /var/vcap/micro_bosh/data/cache}
111
- ntp: *ntp
112
-
113
- variables:
114
- - name: admin_password
115
- type: password
116
- - name: blobstore_director_password
117
- type: password
118
- - name: blobstore_agent_password
119
- type: password
120
- - name: hm_password
121
- type: password
122
- - name: mbus_bootstrap_password
123
- type: password
124
- - name: nats_password
125
- type: password
126
- - name: postgres_password
127
- type: password
128
- - name: default_ca
129
- type: certificate
130
- options:
131
- is_ca: true
132
- common_name: ca
133
- - name: mbus_bootstrap_ssl
134
- type: certificate
135
- options:
136
- ca: default_ca
137
- common_name: ((internal_ip))
138
- alternative_names: [((internal_ip))]
139
- - name: director_ssl
140
- type: certificate
141
- options:
142
- ca: default_ca
143
- common_name: ((internal_ip))
144
- alternative_names: [((internal_ip))]
@@ -1,73 +0,0 @@
1
- azs:
2
- - name: z1
3
- cloud_properties:
4
- zone: <%= @values['gcp']['zone'] %>
5
-
6
- vm_types:
7
- - name: common
8
- cloud_properties:
9
- machine_type: n1-standard-2
10
- root_disk_size_gb: 20
11
- root_disk_type: pd-ssd
12
- tags:
13
- - no-ip
14
-
15
- - name: ingress-tiny
16
- cloud_properties:
17
- machine_type: g1-small
18
- root_disk_size_gb: 20
19
- root_disk_type: pd-ssd
20
- tags:
21
- - http-server
22
- - https-server
23
-
24
- - name: worker
25
- cloud_properties:
26
- machine_type: n1-standard-2
27
- root_disk_size_gb: 100
28
- root_disk_type: pd-ssd
29
- tags:
30
- - no-ip
31
-
32
- # vm_extensions:
33
- # - name: concourse-lb
34
- # cloud_properties:
35
- # target_pool: concourse-target-pool
36
-
37
- compilation:
38
- workers: 2
39
- network: public
40
- reuse_compilation_vms: true
41
- az: z1
42
- cloud_properties:
43
- machine_type: n1-standard-2
44
- root_disk_size_gb: 100
45
- root_disk_type: pd-ssd
46
- preemptible: true
47
- tags:
48
- - no-ip
49
-
50
- networks:
51
- - name: public
52
- type: manual
53
- subnets:
54
- - az: z1
55
- range: <%= @values['gcp']['subnet_cidr'] %>
56
- gateway: <%= @values['gcp']['internal_gw'] %>
57
- reserved: [<%= ip_range(@private_subnet, (1..10)) %>] # Reserved range for the gateway, BOSH Director etc
58
- static: [<%= ip_range(@private_subnet, (11..13)) %>] # Static IP range for Vault, Concourse web panel, nginx etc
59
- cloud_properties:
60
- network_name: <%= @values['gcp']['vpc_name'] %>
61
- subnetwork_name: <%= @values['gcp']['subnet_name'] %>
62
- ephemeral_external_ip: false
63
- tags:
64
- - platform-internal
65
- - concourse-public
66
- - concourse-internal
67
-
68
- - name: vip
69
- type: vip
70
-
71
- disk_types:
72
- - name: database
73
- disk_size: 10240