-
Notifications
You must be signed in to change notification settings - Fork 0
/
massdriver.yaml
154 lines (148 loc) · 3.67 KB
/
massdriver.yaml
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# This file will be used to generate all of the schema-*.json files in a bundle
schema: draft-07
name: "scaleway-rdb-mysql"
description: "Scaleway RDB MySQL"
source_url: github.com/container-labs/scaleway-rdb-mysql
access: "public"
type: infrastructure
# schema-params.json
# JSON Schema sans-fields above
params:
examples:
- __name: Development
node_type: DB-DEV-S
cluster_mode: standalone
- __name: Production
node_type: DB-GP-XS
cluster_mode: highly-available
required:
- mysql_version
- node_type
- cluster_mode
- backups
properties:
mysql_version:
type: string
title: Version
description: ""
default: MySQL-8
oneOf:
- const: MySQL-8
title: "MySQL 8"
node_type:
type: string
title: Node Type
description: ""
default: DB-DEV-S
oneOf:
- const: DB-DEV-S
title: "2 vCPUs, 2 GB RAM"
- const: DB-DEV-M
title: "3 vCPUs, 4 GB RAM"
- const: DB-DEV-L
title: "4 vCPUs, 8 GB RAM"
- const: DB-DEV-XL
title: "4 vCPUs, 12 GB RAM"
- const: DB-GP-XS
title: "4 vCPUs, 16 GB RAM"
- const: DB-GP-S
title: "8 vCPUs, 32 GB RAM"
- const: DB-GP-M
title: "16 vCPUs, 64 GB RAM"
- const: DB-GP-L
title: "32 vCPUs, 128 GB RAM"
- const: DB-GP-XL
title: "48 vCPUs, 256 GB RAM"
cluster_mode:
type: string
title: Cluster Mode
description: ""
default: standalone
oneOf:
- const: standalone
title: "Standalone"
- const: highly-available
title: "Highly Available"
backups:
type: object
properties:
enabled:
type: boolean
title: Enabled
description: "Enable backups for this Database Instance."
default: false
dependencies:
oneOf:
- properties:
enabled:
const: true
frequency_hours:
type: integer
title: Frequency
default: 24
# TODO: check
minimum: 1
maximum: 100
retention_days:
type: integer
title: Retention Days
description: "Number of days to keep backups for."
default: 7
# TODO: check
minimum: 1
maximum: 30
required:
- frequency_hours
- retention_days
- properties:
enabled:
const: false
read_replicas:
type: integer
title: Read Replicas
description: ""
default: 0
minimum: 0
maximum: 3
region:
title: Region
type: string
$md.immutable: true
default: fr-par
oneOf:
- const: fr-par
title: France - Paris
- const: nl-ams
title: The Netherlands - Amsterdam
- const: pl-waw
title: Poland - Warsaw
connections:
required:
- scw_authentication
- network
properties:
# TODO: add artifact for scw-api-key
# scw_authentication:
# $ref: massdriver/scw-api-key
scw_authentication:
$ref: massdriver/gcp-service-account
# TODO: add artifact for scw-vpc
# network:
# $ref: massdriver/scw-vpc
network:
$ref: massdriver/gcp-global-network
# schema-artifacts.json
artifacts:
required:
- authentication
properties:
authentication:
$ref: massdriver/mysql-authentication
# schema-ui.json
ui:
ui:order:
- mysql_version
- node_type
- cluster_mode
- backups
- "*"