kite 0.1.0 → 0.2.0

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +18 -1
  4. data/Dockerfile +30 -9
  5. data/Makefile +21 -9
  6. data/README.md +9 -0
  7. data/bin/concourse/check +12 -0
  8. data/bin/concourse/in +12 -0
  9. data/bin/concourse/out +46 -0
  10. data/config/pipelines/review.yml +158 -0
  11. data/config/pipelines/tasks/create-pull-requests-tag.yml +13 -0
  12. data/config/pipelines/tasks/create-repository-tag.yml +13 -0
  13. data/config/pipelines/tasks/run-master-tests.yml +12 -0
  14. data/config/pipelines/tasks/run-pr-tests.yml +12 -0
  15. data/kite.gemspec +1 -1
  16. data/lib/kite/generate.rb +39 -0
  17. data/lib/kite/helpers/concourse.rb +36 -0
  18. data/lib/kite/render.rb +68 -2
  19. data/lib/kite/version.rb +1 -1
  20. data/tpl/aws/README.md +20 -0
  21. data/tpl/aws/bin/concourse-deploy.sh.tt +4 -1
  22. data/tpl/aws/bin/ingress-deploy.sh.tt +7 -0
  23. data/tpl/aws/bin/ingress-update.sh.tt +7 -0
  24. data/tpl/aws/bin/kops-delete.sh.erb +5 -0
  25. data/tpl/aws/bin/kops-deploy.sh.erb +11 -0
  26. data/tpl/aws/bin/oauth-deploy.sh.tt +17 -0
  27. data/tpl/aws/bin/prometheus-deploy.sh.tt +23 -0
  28. data/tpl/aws/bosh-vars.yml.erb +1 -0
  29. data/tpl/aws/config/oauth.yml +59 -0
  30. data/tpl/aws/deployments/bosh/cloud-config.yml.tt +17 -1
  31. data/tpl/aws/deployments/concourse/concourse.yml.tt +6 -0
  32. data/tpl/aws/deployments/ingress/ingress.yml.erb +78 -0
  33. data/tpl/aws/deployments/oauth/oauth.yml.tt +95 -0
  34. data/tpl/aws/deployments/prometheus/monitor-bosh.yml +518 -0
  35. data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +30 -0
  36. data/tpl/aws/deployments/prometheus/prometheus.yml.tt +184 -0
  37. data/tpl/aws/docs/concourse.md +2 -2
  38. data/tpl/aws/docs/ingress.md +14 -0
  39. data/tpl/aws/docs/kops.md +5 -8
  40. data/tpl/aws/docs/oauth.md +24 -0
  41. data/tpl/aws/docs/prometheus.md +31 -0
  42. data/tpl/aws/terraform/kite_bucket.tf +8 -0
  43. data/tpl/aws/terraform/network.tf.tt +27 -0
  44. data/tpl/aws/terraform/outputs.tf +4 -0
  45. data/tpl/aws/terraform/terraform.tfvars.tt +1 -0
  46. data/tpl/aws/terraform/variables.tf +4 -0
  47. data/tpl/gcp/README.md +19 -3
  48. data/tpl/gcp/bin/base/setup-tunnel.sh.tt +8 -3
  49. data/tpl/gcp/bin/bosh-install.sh.tt +4 -0
  50. data/tpl/gcp/bin/concourse-deploy.sh.tt +4 -1
  51. data/tpl/gcp/bin/ingress-deploy.sh.tt +7 -0
  52. data/tpl/gcp/bin/ingress-update.sh.tt +7 -0
  53. data/tpl/gcp/bin/oauth-deploy.sh.tt +19 -0
  54. data/tpl/gcp/bin/prometheus-deploy.sh.tt +23 -0
  55. data/tpl/gcp/bin/vault-deploy.sh.tt +1 -1
  56. data/tpl/gcp/bosh-vars.yml.erb +1 -0
  57. data/tpl/gcp/config/oauth.yml +59 -0
  58. data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +17 -3
  59. data/tpl/gcp/deployments/concourse/concourse.yml.tt +15 -5
  60. data/tpl/gcp/deployments/ingress/ingress.yml.erb +111 -0
  61. data/tpl/gcp/deployments/oauth/oauth.yml.tt +95 -0
  62. data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +518 -0
  63. data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +30 -0
  64. data/tpl/gcp/deployments/prometheus/prometheus.yml +183 -0
  65. data/tpl/gcp/docs/bosh.md +5 -0
  66. data/tpl/gcp/docs/concourse.md +3 -3
  67. data/tpl/gcp/docs/ingress.md +12 -0
  68. data/tpl/gcp/docs/oauth.md +24 -0
  69. data/tpl/gcp/docs/prometheus.md +27 -0
  70. data/tpl/gcp/docs/vault.md +2 -1
  71. data/tpl/gcp/terraform/main.tf +6 -1
  72. data/tpl/gcp/terraform/outputs.tf +4 -0
  73. data/tpl/service/%output_path%/charts/%app_name%/Chart.yaml.tt +4 -0
  74. data/tpl/service/%output_path%/charts/%app_name%/templates/NOTES.txt.tt +19 -0
  75. data/tpl/service/%output_path%/charts/%app_name%/templates/_helpers.tpl +16 -0
  76. data/tpl/service/%output_path%/charts/%app_name%/templates/deployment.yaml +37 -0
  77. data/tpl/service/%output_path%/charts/%app_name%/templates/ingress.yaml +32 -0
  78. data/tpl/service/%output_path%/charts/%app_name%/templates/service.yaml +19 -0
  79. data/tpl/service/%output_path%/charts/%app_name%/values.yaml.tt +37 -0
  80. data/tpl/service/%output_path%/environments/.keep +0 -0
  81. data/tpl/service/%output_path%/pipelines/review.yml.tt +189 -0
  82. data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +13 -0
  83. data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +13 -0
  84. data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +22 -0
  85. data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +12 -0
  86. data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +12 -0
  87. data/tpl/service/Dockerfile.tt +4 -0
  88. data/tpl/service/Makefile.tt +28 -0
  89. data/tpl/service/VERSION.tt +1 -0
  90. data/tpl/service/docs/pipeline.md.tt +58 -0
  91. data/tpl/skel/config/cloud.yml +30 -5
  92. metadata +58 -5
  93. data/tpl/gcp/deployments/nginx/nginx.yml.erb +0 -62
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: ingress
3
+
4
+ releases:
5
+ - name: nginx
6
+ version: latest
7
+
8
+ instance_groups:
9
+ - name: ingress
10
+ instances: 1
11
+ vm_type: ingress-default
12
+ azs: [z1]
13
+ stemcell: trusty
14
+ networks:
15
+ - name: platform_dmz
16
+ default: [dns, gateway]
17
+ - name: vip
18
+ static_ips: [<%= @values['ingress']['vip'] %>]
19
+
20
+ jobs:
21
+ - name: nginx
22
+ release: nginx
23
+ properties:
24
+ nginx_conf: |
25
+ worker_processes 1;
26
+ error_log /var/vcap/sys/log/nginx/error.log info;
27
+ events {
28
+ worker_connections 1024;
29
+ }
30
+
31
+ http {
32
+ include /var/vcap/packages/nginx/conf/mime.types;
33
+ default_type application/octet-stream;
34
+ sendfile on;
35
+ keepalive_timeout 65;
36
+ server_names_hash_bucket_size 64;
37
+
38
+ server {
39
+ listen 80;
40
+ }
41
+ <% ingress_db.each do |hostname, config| %>
42
+ <% upstream_name = hostname.gsub('.', '-') %>
43
+ upstream <%= upstream_name %> {
44
+ <%- config[:upstreams].each do |upstream| -%>
45
+ server <%= upstream %>:<%= config[:port] %>;
46
+ <%- end -%>
47
+ }
48
+ server {
49
+ listen 80;
50
+ server_name <%= hostname %>;
51
+
52
+ access_log /var/vcap/sys/log/nginx/<%= hostname %>-access.log;
53
+ error_log /var/vcap/sys/log/nginx/<%= hostname %>-error.log;
54
+
55
+ location / {
56
+ proxy_set_header Host $host;
57
+ proxy_set_header X-Real-IP $remote_addr;
58
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
59
+ proxy_set_header X-Forwarded-Proto $scheme;
60
+
61
+ proxy_pass <%= config[:protocol] %>://<%= upstream_name %>;
62
+ proxy_read_timeout 90;
63
+ }
64
+ }
65
+ <% end %>
66
+ }
67
+
68
+ stemcells:
69
+ - alias: trusty
70
+ os: ubuntu-trusty
71
+ version: latest
72
+
73
+ update:
74
+ canaries: 1
75
+ max_in_flight: 1
76
+ serial: false
77
+ canary_watch_time: 1000-60000
78
+ update_watch_time: 1000-60000
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: oauth
3
+
4
+ releases:
5
+ - name: uaa
6
+ version: latest
7
+
8
+ instance_groups:
9
+ - name: uaa
10
+ instances: 1
11
+ vm_type: default
12
+ persistent_disk_type: default
13
+ azs: [z1]
14
+ stemcell: trusty
15
+ networks:
16
+ - name: platform_net
17
+ static_ips: [<%= @static_ip_oauth %>]
18
+ default: [dns, gateway]
19
+ jobs:
20
+ - name: uaa_postgres
21
+ release: uaa
22
+ properties:
23
+ postgres:
24
+ port: 5524
25
+ roles:
26
+ - tag: admin
27
+ name: uaaadmin
28
+ password: ((uaa_db_password))
29
+ databases:
30
+ - tag: uaa
31
+ name: uaadb
32
+ citext: true
33
+ - name: uaa
34
+ release: uaa
35
+ properties:
36
+ login:
37
+ saml:
38
+ activeKeyId: key2
39
+ keys:
40
+ key2:
41
+ key: ((uaa_saml_certificate.private_key))
42
+ passphrase: ((uaa_saml_passphrase))
43
+ certificate: ((uaa_saml_certificate.certificate))
44
+ uaa:
45
+ url: "<%= @values['oauth']['url'] %>"
46
+ sslPrivateKey: ((uaa_ssl.private_key))
47
+ sslCertificate: ((uaa_ssl.certificate))
48
+ jwt:
49
+ policy:
50
+ active_key_id: key-1
51
+ keys:
52
+ key-1:
53
+ signingKey: ((uaa_saml_certificate.private_key))
54
+ uaadb:
55
+ uaadb:
56
+ address: 127.0.0.1
57
+ databases:
58
+ - name: uaadb
59
+ tag: uaa
60
+ db_scheme: postgresql
61
+ port: 5524
62
+ roles:
63
+ - name: uaaadmin
64
+ password: ((uaa_db_password))
65
+ tag: admin
66
+
67
+ update:
68
+ canaries: 1
69
+ max_in_flight: 1
70
+ serial: false
71
+ canary_watch_time: 1000-60000
72
+ update_watch_time: 1000-60000
73
+
74
+ stemcells:
75
+ - alias: trusty
76
+ name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent
77
+ version: latest
78
+
79
+ variables:
80
+ - name: uaa_db_password
81
+ type: password
82
+ - name: uaa_saml_passphrase
83
+ type: password
84
+ - name: uaa_ssl
85
+ type: certificate
86
+ options:
87
+ ca: default_ca
88
+ common_name: "<%= @values['oauth']['url'] %>"
89
+ alternative_names: ["<%= @values['oauth']['url'] %>"]
90
+ - name: uaa_saml_certificate
91
+ type: certificate
92
+ options:
93
+ ca: default_ca
94
+ common_name: "<%= @values['oauth']['url'] %>"
95
+ alternative_names: ["<%= @values['oauth']['url'] %>"]
@@ -0,0 +1,518 @@
1
+ # Exporter jobs
2
+ - type: replace
3
+ path: /instance_groups/name=prometheus/jobs/-
4
+ value:
5
+ name: bosh_exporter
6
+ release: prometheus
7
+ properties:
8
+ bosh_exporter:
9
+ bosh:
10
+ url: "((bosh_url))"
11
+ username: "((bosh_username))"
12
+ password: "((bosh_password))"
13
+ ca_cert: "((bosh_ca_cert))"
14
+ metrics:
15
+ environment: "((metrics_environment))"
16
+
17
+ # Prometheus Alerts
18
+ - type: replace
19
+ path: /instance_groups/name=prometheus/jobs/name=bosh_alerts?/release
20
+ value: prometheus
21
+
22
+ - type: replace
23
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/rule_files/-
24
+ value: /var/vcap/jobs/bosh_alerts/*.alerts
25
+
26
+ # Grafana Dashboards
27
+ - type: replace
28
+ path: /instance_groups/name=grafana/jobs/name=bosh_dashboards?/release
29
+ value: prometheus
30
+
31
+ - type: replace
32
+ path: /instance_groups/name=grafana/jobs/name=grafana/properties/grafana/prometheus/dashboard_files/-
33
+ value: /var/vcap/jobs/bosh_dashboards/*.json
34
+
35
+ # Prometheus Scrape Config
36
+ - type: replace
37
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
38
+ value:
39
+ job_name: bosh
40
+ scrape_interval: 2m
41
+ scrape_timeout: 1m
42
+ static_configs:
43
+ - targets:
44
+ - localhost:9190
45
+
46
+ # Service Discovery
47
+ - type: replace
48
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
49
+ value:
50
+ job_name: bosh_tsdb
51
+ file_sd_configs:
52
+ - files:
53
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
54
+ relabel_configs:
55
+ - source_labels:
56
+ - __meta_bosh_job_process_name
57
+ regex: bosh_tsdb_exporter
58
+ action: keep
59
+ - source_labels:
60
+ - __address__
61
+ regex: "(.*)"
62
+ target_label: __address__
63
+ replacement: "${1}:9194"
64
+
65
+ - type: replace
66
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
67
+ value:
68
+ job_name: cadvisor
69
+ file_sd_configs:
70
+ - files:
71
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
72
+ relabel_configs:
73
+ - source_labels:
74
+ - __meta_bosh_job_process_name
75
+ regex: cadvisor
76
+ action: keep
77
+ - source_labels:
78
+ - __address__
79
+ regex: "(.*)"
80
+ target_label: __address__
81
+ replacement: "${1}:8080"
82
+
83
+ - type: replace
84
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
85
+ value:
86
+ job_name: cf
87
+ scrape_interval: 4m
88
+ scrape_timeout: 2m
89
+ file_sd_configs:
90
+ - files:
91
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
92
+ relabel_configs:
93
+ - source_labels:
94
+ - __meta_bosh_job_process_name
95
+ regex: cf_exporter
96
+ action: keep
97
+ - source_labels:
98
+ - __address__
99
+ regex: "(.*)"
100
+ target_label: __address__
101
+ replacement: "${1}:9193"
102
+
103
+ - type: replace
104
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
105
+ value:
106
+ job_name: collectd
107
+ file_sd_configs:
108
+ - files:
109
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
110
+ relabel_configs:
111
+ - source_labels:
112
+ - __meta_bosh_job_process_name
113
+ regex: collectd_exporter
114
+ action: keep
115
+ - source_labels:
116
+ - __address__
117
+ regex: "(.*)"
118
+ target_label: __address__
119
+ replacement: "${1}:9103"
120
+
121
+ - type: replace
122
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
123
+ value:
124
+ job_name: consul
125
+ file_sd_configs:
126
+ - files:
127
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
128
+ relabel_configs:
129
+ - source_labels:
130
+ - __meta_bosh_job_process_name
131
+ regex: consul_exporter
132
+ action: keep
133
+ - source_labels:
134
+ - __address__
135
+ regex: "(.*)"
136
+ target_label: __address__
137
+ replacement: "${1}:9107"
138
+
139
+ - type: replace
140
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
141
+ value:
142
+ job_name: elasticsearch
143
+ file_sd_configs:
144
+ - files:
145
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
146
+ relabel_configs:
147
+ - source_labels:
148
+ - __meta_bosh_job_process_name
149
+ regex: elasticsearch_exporter
150
+ action: keep
151
+ - source_labels:
152
+ - __address__
153
+ regex: "(.*)"
154
+ target_label: __address__
155
+ replacement: "${1}:9114"
156
+
157
+ - type: replace
158
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
159
+ value:
160
+ job_name: firehose
161
+ file_sd_configs:
162
+ - files:
163
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
164
+ relabel_configs:
165
+ - source_labels:
166
+ - __meta_bosh_job_process_name
167
+ regex: firehose_exporter
168
+ action: keep
169
+ - source_labels:
170
+ - __address__
171
+ regex: "(.*)"
172
+ target_label: __address__
173
+ replacement: "${1}:9186"
174
+
175
+ - type: replace
176
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
177
+ value:
178
+ job_name: github
179
+ file_sd_configs:
180
+ - files:
181
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
182
+ relabel_configs:
183
+ - source_labels:
184
+ - __meta_bosh_job_process_name
185
+ regex: github_exporter
186
+ action: keep
187
+ - source_labels:
188
+ - __address__
189
+ regex: "(.*)"
190
+ target_label: __address__
191
+ replacement: "${1}:9171"
192
+
193
+ - type: replace
194
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
195
+ value:
196
+ job_name: grafana
197
+ file_sd_configs:
198
+ - files:
199
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
200
+ relabel_configs:
201
+ - source_labels:
202
+ - __meta_bosh_job_process_name
203
+ regex: grafana
204
+ action: keep
205
+ - source_labels:
206
+ - __address__
207
+ regex: "(.*)"
208
+ target_label: __address__
209
+ replacement: "${1}:3000"
210
+
211
+ - type: replace
212
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
213
+ value:
214
+ job_name: graphite
215
+ file_sd_configs:
216
+ - files:
217
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
218
+ relabel_configs:
219
+ - source_labels:
220
+ - __meta_bosh_job_process_name
221
+ regex: graphite_exporter
222
+ action: keep
223
+ - source_labels:
224
+ - __address__
225
+ regex: "(.*)"
226
+ target_label: __address__
227
+ replacement: "${1}:9108"
228
+
229
+ - type: replace
230
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
231
+ value:
232
+ job_name: haproxy
233
+ file_sd_configs:
234
+ - files:
235
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
236
+ relabel_configs:
237
+ - source_labels:
238
+ - __meta_bosh_job_process_name
239
+ regex: haproxy_exporter
240
+ action: keep
241
+ - source_labels:
242
+ - __address__
243
+ regex: "(.*)"
244
+ target_label: __address__
245
+ replacement: "${1}:9101"
246
+
247
+ - type: replace
248
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
249
+ value:
250
+ job_name: influxdb
251
+ file_sd_configs:
252
+ - files:
253
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
254
+ relabel_configs:
255
+ - source_labels:
256
+ - __meta_bosh_job_process_name
257
+ regex: influxdb_exporter
258
+ action: keep
259
+ - source_labels:
260
+ - __address__
261
+ regex: "(.*)"
262
+ target_label: __address__
263
+ replacement: "${1}:9122"
264
+
265
+ - type: replace
266
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
267
+ value:
268
+ job_name: kubernetes
269
+ file_sd_configs:
270
+ - files:
271
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
272
+ relabel_configs:
273
+ - source_labels:
274
+ - __meta_bosh_job_process_name
275
+ regex: kube_state_metrics_exporter
276
+ action: keep
277
+ - source_labels:
278
+ - __address__
279
+ regex: "(.*)"
280
+ target_label: __address__
281
+ replacement: "${1}:9188"
282
+
283
+ - type: replace
284
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
285
+ value:
286
+ job_name: memcached
287
+ file_sd_configs:
288
+ - files:
289
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
290
+ relabel_configs:
291
+ - source_labels:
292
+ - __meta_bosh_job_process_name
293
+ regex: memcached_exporter
294
+ action: keep
295
+ - source_labels:
296
+ - __address__
297
+ regex: "(.*)"
298
+ target_label: __address__
299
+ replacement: "${1}:9150"
300
+
301
+ - type: replace
302
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
303
+ value:
304
+ job_name: mongodb
305
+ file_sd_configs:
306
+ - files:
307
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
308
+ relabel_configs:
309
+ - source_labels:
310
+ - __meta_bosh_job_process_name
311
+ regex: mongodb_exporter
312
+ action: keep
313
+ - source_labels:
314
+ - __address__
315
+ regex: "(.*)"
316
+ target_label: __address__
317
+ replacement: "${1}:9001"
318
+
319
+ - type: replace
320
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
321
+ value:
322
+ job_name: mysql
323
+ file_sd_configs:
324
+ - files:
325
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
326
+ relabel_configs:
327
+ - source_labels:
328
+ - __meta_bosh_job_process_name
329
+ regex: mysqld_exporter
330
+ action: keep
331
+ - source_labels:
332
+ - __address__
333
+ regex: "(.*)"
334
+ target_label: __address__
335
+ replacement: "${1}:9104"
336
+
337
+ - type: replace
338
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
339
+ value:
340
+ job_name: nats
341
+ file_sd_configs:
342
+ - files:
343
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
344
+ relabel_configs:
345
+ - source_labels:
346
+ - __meta_bosh_job_process_name
347
+ regex: nats_exporter
348
+ action: keep
349
+ - source_labels:
350
+ - __address__
351
+ regex: "(.*)"
352
+ target_label: __address__
353
+ replacement: "${1}:9118"
354
+
355
+ - type: replace
356
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
357
+ value:
358
+ job_name: node
359
+ file_sd_configs:
360
+ - files:
361
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
362
+ relabel_configs:
363
+ - source_labels:
364
+ - __meta_bosh_job_process_name
365
+ regex: node_exporter
366
+ action: keep
367
+ - source_labels:
368
+ - __address__
369
+ regex: "(.*)"
370
+ target_label: __address__
371
+ replacement: "${1}:9100"
372
+
373
+ - type: replace
374
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
375
+ value:
376
+ job_name: postgres
377
+ file_sd_configs:
378
+ - files:
379
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
380
+ relabel_configs:
381
+ - source_labels:
382
+ - __meta_bosh_job_process_name
383
+ regex: postgres_exporter
384
+ action: keep
385
+ - source_labels:
386
+ - __address__
387
+ regex: "(.*)"
388
+ target_label: __address__
389
+ replacement: "${1}:9187"
390
+
391
+ - type: replace
392
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/job_name=prometheus
393
+ value:
394
+ job_name: prometheus
395
+ file_sd_configs:
396
+ - files:
397
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
398
+ relabel_configs:
399
+ - source_labels:
400
+ - __meta_bosh_job_process_name
401
+ regex: prometheus
402
+ action: keep
403
+ - source_labels:
404
+ - __address__
405
+ regex: "(.*)"
406
+ target_label: __address__
407
+ replacement: "${1}:9090"
408
+
409
+ - type: replace
410
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
411
+ value:
412
+ job_name: pushgateway
413
+ honor_labels: true
414
+ file_sd_configs:
415
+ - files:
416
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
417
+ relabel_configs:
418
+ - source_labels:
419
+ - __meta_bosh_job_process_name
420
+ regex: pushgateway
421
+ action: keep
422
+ - source_labels:
423
+ - __address__
424
+ regex: "(.*)"
425
+ target_label: __address__
426
+ replacement: "${1}:9091"
427
+
428
+ - type: replace
429
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
430
+ value:
431
+ job_name: rabbitmq
432
+ file_sd_configs:
433
+ - files:
434
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
435
+ relabel_configs:
436
+ - source_labels:
437
+ - __meta_bosh_job_process_name
438
+ regex: rabbitmq_exporter
439
+ action: keep
440
+ - source_labels:
441
+ - __address__
442
+ regex: "(.*)"
443
+ target_label: __address__
444
+ replacement: "${1}:9125"
445
+
446
+ - type: replace
447
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
448
+ value:
449
+ job_name: redis
450
+ file_sd_configs:
451
+ - files:
452
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
453
+ relabel_configs:
454
+ - source_labels:
455
+ - __meta_bosh_job_process_name
456
+ regex: redis_exporter
457
+ action: keep
458
+ - source_labels:
459
+ - __address__
460
+ regex: "(.*)"
461
+ target_label: __address__
462
+ replacement: "${1}:9121"
463
+
464
+ - type: replace
465
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
466
+ value:
467
+ job_name: shield
468
+ scrape_interval: 4m
469
+ scrape_timeout: 2m
470
+ file_sd_configs:
471
+ - files:
472
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
473
+ relabel_configs:
474
+ - source_labels:
475
+ - __meta_bosh_job_process_name
476
+ regex: shield_exporter
477
+ action: keep
478
+ - source_labels:
479
+ - __address__
480
+ regex: "(.*)"
481
+ target_label: __address__
482
+ replacement: "${1}:9179"
483
+
484
+ - type: replace
485
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
486
+ value:
487
+ job_name: stackdriver
488
+ file_sd_configs:
489
+ - files:
490
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
491
+ relabel_configs:
492
+ - source_labels:
493
+ - __meta_bosh_job_process_name
494
+ regex: stackdriver_exporter
495
+ action: keep
496
+ - source_labels:
497
+ - __address__
498
+ regex: "(.*)"
499
+ target_label: __address__
500
+ replacement: "${1}:9255"
501
+
502
+ - type: replace
503
+ path: /instance_groups/name=prometheus/jobs/name=prometheus/properties/prometheus/scrape_configs/-
504
+ value:
505
+ job_name: statsd
506
+ file_sd_configs:
507
+ - files:
508
+ - "/var/vcap/store/bosh_exporter/bosh_target_groups.json"
509
+ relabel_configs:
510
+ - source_labels:
511
+ - __meta_bosh_job_process_name
512
+ regex: statsd_exporter
513
+ action: keep
514
+ - source_labels:
515
+ - __address__
516
+ regex: "(.*)"
517
+ target_label: __address__
518
+ replacement: "${1}:9102"