-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathteamcity.jinja
89 lines (79 loc) · 2.14 KB
/
teamcity.jinja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{% set BASE_NAME = env['deployment'][:40] %}
{%- if not properties['domainName'] %}
{%- set ENABLE_HTTPS = false %}
{%- else %}
{%- set ENABLE_HTTPS = true %}
{%- endif %}
resources:
- name: database
type: database.jinja
properties:
baseName: {{ BASE_NAME }}
zone: {{ properties['zone'] }}
size: {{ properties['installationSize'] }}
{%- if not properties['network'] %}
- name: network
type: network.jinja
properties:
baseName: {{ BASE_NAME }}
enableHttps: {{ ENABLE_HTTPS }}
{%- endif %}
{%- if not properties['serviceAccount'] %}
- name: service-account
type: service-account.jinja
properties:
baseName: {{ BASE_NAME }}
{%- endif %}
{%- if properties['createStorageBucket'] %}
- name: storage
type: storage.jinja
properties:
baseName: {{ BASE_NAME }}
zone: {{ properties['zone'] }}
{%- endif %}
- name: vm
type: virtual-machine.jinja
properties:
baseName: {{ BASE_NAME }}
zone: {{ properties['zone'] }}
teamcityVersion: {{ properties['version'] }}
ipAddress: {{ properties['ipAddress'] }}
enableHttps: {{ ENABLE_HTTPS }}
{%- if ENABLE_HTTPS %}
domainName: {{ properties['domainName'] }}
domainOwnerEmail: {{ properties['domainOwnerEmail'] }}
{%- endif %}
{%- if properties['network'] %}
network: {{ properties['network'] }}
{%- else %}
network: $(ref.network.name)
{%- endif %}
subnetwork: {{ properties['subnetwork'] }}
size: {{ properties['installationSize'] }}
{%- if properties['serviceAccount'] %}
serviceAccount: {{ properties['serviceAccount'] }}
{%- else %}
serviceAccount: $(ref.service-account.email)
{%- endif %}
database:
instance: $(ref.database.instance)
name: $(ref.database.name)
user: $(ref.database.user)
waiter:
name: $(ref.waiter.name)
config: $(ref.waiter.config)
- name: waiter
type: waiter.jinja
properties:
baseName: {{ BASE_NAME }}
ipAddress: $(ref.vm.ip)
enableHttps: {{ ENABLE_HTTPS }}
outputs:
- name: teamcityUrl
{%- if ENABLE_HTTPS %}
value: https://{{ properties['domainName'] }}
{%- else %}
value: http://$(ref.vm.ip)
{%- endif %}
- name: teamcityIpAddress
value: $(ref.vm.ip)