kite 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/CHANGELOG.md +18 -1
- data/Dockerfile +30 -9
- data/Makefile +21 -9
- data/README.md +9 -0
- data/bin/concourse/check +12 -0
- data/bin/concourse/in +12 -0
- data/bin/concourse/out +46 -0
- data/config/pipelines/review.yml +158 -0
- data/config/pipelines/tasks/create-pull-requests-tag.yml +13 -0
- data/config/pipelines/tasks/create-repository-tag.yml +13 -0
- data/config/pipelines/tasks/run-master-tests.yml +12 -0
- data/config/pipelines/tasks/run-pr-tests.yml +12 -0
- data/kite.gemspec +1 -1
- data/lib/kite/generate.rb +39 -0
- data/lib/kite/helpers/concourse.rb +36 -0
- data/lib/kite/render.rb +68 -2
- data/lib/kite/version.rb +1 -1
- data/tpl/aws/README.md +20 -0
- data/tpl/aws/bin/concourse-deploy.sh.tt +4 -1
- data/tpl/aws/bin/ingress-deploy.sh.tt +7 -0
- data/tpl/aws/bin/ingress-update.sh.tt +7 -0
- data/tpl/aws/bin/kops-delete.sh.erb +5 -0
- data/tpl/aws/bin/kops-deploy.sh.erb +11 -0
- data/tpl/aws/bin/oauth-deploy.sh.tt +17 -0
- data/tpl/aws/bin/prometheus-deploy.sh.tt +23 -0
- data/tpl/aws/bosh-vars.yml.erb +1 -0
- data/tpl/aws/config/oauth.yml +59 -0
- data/tpl/aws/deployments/bosh/cloud-config.yml.tt +17 -1
- data/tpl/aws/deployments/concourse/concourse.yml.tt +6 -0
- data/tpl/aws/deployments/ingress/ingress.yml.erb +78 -0
- data/tpl/aws/deployments/oauth/oauth.yml.tt +95 -0
- data/tpl/aws/deployments/prometheus/monitor-bosh.yml +518 -0
- data/tpl/aws/deployments/prometheus/monitor-kubernetes.yml +30 -0
- data/tpl/aws/deployments/prometheus/prometheus.yml.tt +184 -0
- data/tpl/aws/docs/concourse.md +2 -2
- data/tpl/aws/docs/ingress.md +14 -0
- data/tpl/aws/docs/kops.md +5 -8
- data/tpl/aws/docs/oauth.md +24 -0
- data/tpl/aws/docs/prometheus.md +31 -0
- data/tpl/aws/terraform/kite_bucket.tf +8 -0
- data/tpl/aws/terraform/network.tf.tt +27 -0
- data/tpl/aws/terraform/outputs.tf +4 -0
- data/tpl/aws/terraform/terraform.tfvars.tt +1 -0
- data/tpl/aws/terraform/variables.tf +4 -0
- data/tpl/gcp/README.md +19 -3
- data/tpl/gcp/bin/base/setup-tunnel.sh.tt +8 -3
- data/tpl/gcp/bin/bosh-install.sh.tt +4 -0
- data/tpl/gcp/bin/concourse-deploy.sh.tt +4 -1
- data/tpl/gcp/bin/ingress-deploy.sh.tt +7 -0
- data/tpl/gcp/bin/ingress-update.sh.tt +7 -0
- data/tpl/gcp/bin/oauth-deploy.sh.tt +19 -0
- data/tpl/gcp/bin/prometheus-deploy.sh.tt +23 -0
- data/tpl/gcp/bin/vault-deploy.sh.tt +1 -1
- data/tpl/gcp/bosh-vars.yml.erb +1 -0
- data/tpl/gcp/config/oauth.yml +59 -0
- data/tpl/gcp/deployments/bosh/cloud-config.yml.tt +17 -3
- data/tpl/gcp/deployments/concourse/concourse.yml.tt +15 -5
- data/tpl/gcp/deployments/ingress/ingress.yml.erb +111 -0
- data/tpl/gcp/deployments/oauth/oauth.yml.tt +95 -0
- data/tpl/gcp/deployments/prometheus/monitor-bosh.yml +518 -0
- data/tpl/gcp/deployments/prometheus/monitor-kubernetes.yml +30 -0
- data/tpl/gcp/deployments/prometheus/prometheus.yml +183 -0
- data/tpl/gcp/docs/bosh.md +5 -0
- data/tpl/gcp/docs/concourse.md +3 -3
- data/tpl/gcp/docs/ingress.md +12 -0
- data/tpl/gcp/docs/oauth.md +24 -0
- data/tpl/gcp/docs/prometheus.md +27 -0
- data/tpl/gcp/docs/vault.md +2 -1
- data/tpl/gcp/terraform/main.tf +6 -1
- data/tpl/gcp/terraform/outputs.tf +4 -0
- data/tpl/service/%output_path%/charts/%app_name%/Chart.yaml.tt +4 -0
- data/tpl/service/%output_path%/charts/%app_name%/templates/NOTES.txt.tt +19 -0
- data/tpl/service/%output_path%/charts/%app_name%/templates/_helpers.tpl +16 -0
- data/tpl/service/%output_path%/charts/%app_name%/templates/deployment.yaml +37 -0
- data/tpl/service/%output_path%/charts/%app_name%/templates/ingress.yaml +32 -0
- data/tpl/service/%output_path%/charts/%app_name%/templates/service.yaml +19 -0
- data/tpl/service/%output_path%/charts/%app_name%/values.yaml.tt +37 -0
- data/tpl/service/%output_path%/environments/.keep +0 -0
- data/tpl/service/%output_path%/pipelines/review.yml.tt +189 -0
- data/tpl/service/%output_path%/pipelines/tasks/create-pull-requests-tag.yml.tt +13 -0
- data/tpl/service/%output_path%/pipelines/tasks/create-repository-tag.yml.tt +13 -0
- data/tpl/service/%output_path%/pipelines/tasks/helm-deploy.yml.tt +22 -0
- data/tpl/service/%output_path%/pipelines/tasks/run-master-tests.yml.tt +12 -0
- data/tpl/service/%output_path%/pipelines/tasks/run-pr-tests.yml.tt +12 -0
- data/tpl/service/Dockerfile.tt +4 -0
- data/tpl/service/Makefile.tt +28 -0
- data/tpl/service/VERSION.tt +1 -0
- data/tpl/service/docs/pipeline.md.tt +58 -0
- data/tpl/skel/config/cloud.yml +30 -5
- metadata +58 -5
- 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
|
-
|
7
|
-
|
8
|
-
|
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
|
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,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
|
data/tpl/gcp/bosh-vars.yml.erb
CHANGED
@@ -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-
|
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-
|
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:
|
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:
|
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://<%= @
|
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:
|
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:
|
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'] %>"]
|