kite 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,8 +1,13 @@
1
1
  #!/usr/bin/env bash
2
+
2
3
  pushd terraform
3
4
  BASTION_IP="$(terraform output bastion_ip)"
4
5
  popd
5
6
 
6
- ssh -D 5000 -fNC kite@$BASTION_IP -i <%= @values['kite']['private_key_path'] %>
7
-
8
- export BOSH_ALL_PROXY=socks5://localhost:5000
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
@@ -16,3 +16,7 @@ bosh alias-env <%= @values['bosh']['name'] %> -e <%= @values['bosh']['static_ip'
16
16
 
17
17
  echo "Please run"
18
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
@@ -8,4 +8,7 @@ bosh -e <%= @values['bosh']['name'] %> upload-release https://github.com/concour
8
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
9
 
10
10
  # Deploy Concourse
11
- bosh -e <%= @values['bosh']['name'] %> -d concourse deploy deployments/concourse/concourse.yml -v auth_password=$1 -v db_password=$2 -v vault_token=$3
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
@@ -0,0 +1,7 @@
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
@@ -0,0 +1,7 @@
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
@@ -0,0 +1,19 @@
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
+
@@ -0,0 +1,23 @@
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
@@ -7,4 +7,4 @@ bosh -e <%= @values['bosh']['name'] %> upload-stemcell https://s3.amazonaws.com/
7
7
  bosh -e <%= @values['bosh']['name'] %> upload-release https://bosh.io/d/github.com/cloudfoundry-community/vault-boshrelease
8
8
 
9
9
  # Deploy Concourse
10
- bosh -e <%= @values['bosh']['name'] %> -d vault deploy deployments/vault/vault.yml
10
+ bosh -e <%= @values['bosh']['name'] %> -d vault deploy deployments/vault/vault.yml && ./bin/ingress-update.sh
@@ -6,3 +6,4 @@ project_id: <%= @values['gcp']['project'] %>
6
6
  zone: <%= @values['gcp']['zone'] %>
7
7
  network: <%= @values['gcp']['vpc_name'] %>
8
8
  subnetwork: <%= @values['gcp']['subnet_name'] %>
9
+ kubernetes_apiserver: <%= @values['k8s']['api_server_address'] %>
@@ -0,0 +1,59 @@
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
@@ -9,12 +9,25 @@ vm_types:
9
9
  machine_type: n1-standard-2
10
10
  root_disk_size_gb: 20
11
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
12
23
 
13
24
  - name: worker
14
25
  cloud_properties:
15
- machine_type: n1-standard-4
26
+ machine_type: n1-standard-2
16
27
  root_disk_size_gb: 100
17
28
  root_disk_type: pd-ssd
29
+ tags:
30
+ - no-ip
18
31
 
19
32
  # vm_extensions:
20
33
  # - name: concourse-lb
@@ -27,10 +40,12 @@ compilation:
27
40
  reuse_compilation_vms: true
28
41
  az: z1
29
42
  cloud_properties:
30
- machine_type: n1-standard-4
43
+ machine_type: n1-standard-2
31
44
  root_disk_size_gb: 100
32
45
  root_disk_type: pd-ssd
33
46
  preemptible: true
47
+ tags:
48
+ - no-ip
34
49
 
35
50
  networks:
36
51
  - name: public
@@ -46,7 +61,6 @@ networks:
46
61
  subnetwork_name: <%= @values['gcp']['subnet_name'] %>
47
62
  ephemeral_external_ip: false
48
63
  tags:
49
- - no-ip
50
64
  - platform-internal
51
65
  - concourse-public
52
66
  - concourse-internal
@@ -15,14 +15,14 @@ instance_groups:
15
15
  stemcell: trusty
16
16
  networks:
17
17
  - name: public
18
- static_ips: [<%= @private_subnet[12] %>]
18
+ static_ips: <%= @static_ips_concourse %>
19
19
  default: [dns, gateway]
20
20
 
21
21
  jobs:
22
22
  - name: atc
23
23
  release: concourse
24
24
  properties:
25
- bind_port: 80
25
+ bind_port: 8080
26
26
  external_url: <%= @values['concourse']['url'] %>
27
27
  basic_auth_username: <%= @values['concourse']['auth_username'] %>
28
28
  basic_auth_password: ((auth_password))
@@ -33,7 +33,7 @@ instance_groups:
33
33
  backend: token
34
34
  client_token: ((vault_token))
35
35
  path_prefix: /concourse
36
- url: "http://<%= @private_subnet[11] %>:8200" # expecting Vault to be deployed first
36
+ url: "http://<%= @static_ip_vault %>:8200" # expecting Vault to be deployed first
37
37
 
38
38
  postgresql_database: &atc_db atc
39
39
 
@@ -47,7 +47,9 @@ instance_groups:
47
47
  azs: [z1]
48
48
  stemcell: trusty
49
49
  persistent_disk_type: database
50
- networks: [{name: public}]
50
+ networks:
51
+ - name: public
52
+ default: [dns, gateway]
51
53
  jobs:
52
54
  - name: postgresql
53
55
  release: concourse
@@ -62,7 +64,9 @@ instance_groups:
62
64
  vm_type: worker
63
65
  azs: [z1]
64
66
  stemcell: trusty
65
- networks: [{name: public}]
67
+ networks:
68
+ - name: public
69
+ default: [dns, gateway]
66
70
  jobs:
67
71
  - name: groundcrew
68
72
  release: concourse
@@ -92,3 +96,9 @@ stemcells:
92
96
  - alias: trusty
93
97
  os: ubuntu-trusty
94
98
  version: latest
99
+
100
+ variables:
101
+ - name: db_password
102
+ type: password
103
+ - name: auth_password
104
+ type: password
@@ -0,0 +1,111 @@
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-tiny
12
+ azs: [z1]
13
+ stemcell: trusty
14
+ networks:
15
+ - name: public
16
+ static_ips: [<%= @private_subnet[13] %>]
17
+ default: [dns, gateway]
18
+
19
+ - name: vip
20
+ static_ips: [<%= @values['ingress']['vip'] %>]
21
+
22
+ jobs:
23
+ - name: nginx
24
+ release: nginx
25
+ properties:
26
+ nginx_conf: |
27
+ worker_processes 1;
28
+ error_log /var/vcap/sys/log/nginx/error.log info;
29
+ events {
30
+ worker_connections 1024;
31
+ }
32
+
33
+ http {
34
+ include /var/vcap/packages/nginx/conf/mime.types;
35
+ default_type application/octet-stream;
36
+ sendfile on;
37
+ keepalive_timeout 65;
38
+ server_names_hash_bucket_size 64;
39
+
40
+ server {
41
+ listen 80;
42
+ return 301 https://$host$request_uri;
43
+ }
44
+ <% ingress_db.each do |hostname, config| %>
45
+ <% upstream_name = hostname.gsub('.', '-') %>
46
+ upstream <%= upstream_name %> {
47
+ <%- config[:upstreams].each do |upstream| -%>
48
+ server <%= upstream %>:<%= config[:port] %>;
49
+ <%- end -%>
50
+ }
51
+ server {
52
+ listen 443 ssl http2;
53
+ server_name <%= hostname %>;
54
+ ssl_certificate_key /var/vcap/jobs/nginx/etc/<%= hostname %>/key.pem;
55
+ ssl_certificate /var/vcap/jobs/nginx/etc/<%= hostname %>/cert.pem;
56
+ ssl on;
57
+ ssl_session_cache builtin:1000 shared:SSL:10m;
58
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
59
+ ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
60
+ ssl_prefer_server_ciphers on;
61
+
62
+ access_log /var/vcap/sys/log/nginx/<%= hostname %>-access.log;
63
+ error_log /var/vcap/sys/log/nginx/<%= hostname %>-error.log;
64
+
65
+ location / {
66
+ proxy_http_version 1.1;
67
+
68
+ proxy_set_header Host $host;
69
+ proxy_set_header X-Real-IP $remote_addr;
70
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
71
+ proxy_set_header X-Forwarded-Proto $scheme;
72
+ proxy_set_header Upgrade $http_upgrade;
73
+ proxy_set_header Connection "upgrade";
74
+
75
+ proxy_pass <%= config[:protocol] %>://<%= upstream_name%>;
76
+ proxy_read_timeout 90;
77
+ }
78
+ }
79
+ <% end %>
80
+ }
81
+
82
+ pre_start: |
83
+ #!/bin/bash
84
+ set -x
85
+ source /etc/profile
86
+ export HOME=/root
87
+ export USER=root
88
+ echo "Running pre_start script as ${USER} with ${SHELL} with home ${HOME}"
89
+ if [[ ! -f ${HOME}/.acme.sh/acme.sh.env ]]; then
90
+ curl -s https://get.acme.sh | sh
91
+ fi
92
+ source ${HOME}/.acme.sh/acme.sh.env
93
+ <% ingress_db.each do |hostname, config| -%>
94
+ mkdir -p /var/vcap/jobs/nginx/etc/<%= hostname %>/
95
+ ${HOME}/.acme.sh/acme.sh --issue --tls -d <%= hostname %>
96
+ ${HOME}/.acme.sh/acme.sh --install-cert -d <%= hostname %> \
97
+ --key-file /var/vcap/jobs/nginx/etc/<%= hostname %>/key.pem \
98
+ --fullchain-file /var/vcap/jobs/nginx/etc/<%= hostname %>/cert.pem
99
+ <%- end -%>
100
+
101
+ stemcells:
102
+ - alias: trusty
103
+ os: ubuntu-trusty
104
+ version: latest
105
+
106
+ update:
107
+ canaries: 1
108
+ max_in_flight: 1
109
+ serial: false
110
+ canary_watch_time: 1000-60000
111
+ 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: common
12
+ persistent_disk_type: database
13
+ azs: [z1]
14
+ stemcell: trusty
15
+ networks:
16
+ - name: public
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-google-kvm-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'] %>"]