forked from JetBrains/teamcity-google-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
database.jinja
85 lines (76 loc) · 2.15 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
73
74
75
76
77
78
79
80
81
82
83
84
85
{#
Copyright 2000-2018 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
{% 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 }}