/
database.jinja
72 lines (64 loc) · 1.6 KB
/
database.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
{% set BASE_NAME = properties['baseName'] + '-' + env['name'] %}
{% set REGION = properties['zone'][:-2] %}
{% set TEAMCITY_DB = 'teamcitydb' %}
{% set TEAMCITY_USER = 'teamcity' %}
{% if properties['size'] == 'large' %}
{% set DB_TIER = 'db-n1-standard-2' %}
{% else %}
{% set DB_TIER = 'db-n1-standard-1' %}
{% endif %}
resources:
- name: {{ BASE_NAME }}
type: gcp-types/sqladmin-v1beta4:instances
properties:
region: {{ REGION }}
settings:
tier: {{ DB_TIER }}
backupConfiguration:
binaryLogEnabled: true
enabled: true
databaseFlags:
- name: long_query_time
value: 5
- name: slow_query_log
value: 1
- name: character_set_server
value: utf8
- name: max_allowed_packet
value: 16777216
- name: create-user
type: gcp-types/sqladmin-v1beta4:users
metadata:
dependsOn:
- {{ BASE_NAME }}
properties:
name: {{ TEAMCITY_USER }}
instance: $(ref.{{ BASE_NAME }}.name)
host: "cloudsqlproxy~%"
- name: create-database
type: gcp-types/sqladmin-v1beta4:databases
metadata:
dependsOn:
- create-user
properties:
name: {{ TEAMCITY_DB }}
instance: $(ref.{{ BASE_NAME }}.name)
charset: utf8
- name: delete-root-user
action: gcp-types/sqladmin-v1beta4:sql.users.delete
metadata:
runtimePolicy:
- CREATE
dependsOn:
- create-database
properties:
name: root
instance: $(ref.{{ BASE_NAME }}.name)
host: "%"
outputs:
- name: instance
value: $(ref.{{ BASE_NAME }}.name)
- name: name
value: $(ref.create-database.name)
- name: user
value: {{ TEAMCITY_USER }}