Skip to content

Commit 94749ef

Browse files
authored
Merge pull request #1 from geek-fun/feat/db-docs
feat: add content for databases
2 parents 5ff4a05 + a472981 commit 94749ef

File tree

3 files changed

+123
-17
lines changed

3 files changed

+123
-17
lines changed

docs/reference.md

+117-11
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ ServerlessInsight的YAML配置文件是一个描述Serverless应用的资源的
1010
1111
```yaml
1212
version: 0.1
13-
provider: aliyun
13+
provider:
14+
name: aliyun
15+
region: cn-chengdu
1416

1517
vars:
1618
region: cn-hangzhou
@@ -64,11 +66,20 @@ version: 0.1
6466
6567
## provider
6668
67-
`provider`字段指定了ServerlessInsight的提供商,包括`aliyun`、`huawei`、`tencent`等,目前只支持`aliyun`,其他提供商的支持正在开发中。
6869
70+
`provider`字段指定了ServerlessInsight的提供商信息。
6971
```yaml
70-
provider: aliyun
72+
provider:
73+
name: aliyun
74+
region: cn-chengdu
7175
```
76+
`provider`支持的字段有:
77+
- **name**: 云提供商的名称,包括`aliyun`、`huawei`、`tencent`等,目前只支持`aliyun`,其他提供商的支持正在开发中
78+
> 支持的云提供商的名称: aliyun, huawei, tencent
79+
> required: true
80+
- **region**: 云提供商服务部署目标地域
81+
> 支持的运行时: 请参考云厂商所支持的地域
82+
> required: true
7283

7384
## vars
7485

@@ -125,26 +136,31 @@ service: insight-poc-${stage}
125136

126137
## functions
127138

128-
`functions`字段是一个对象,用于定义serverless方法。functions下的每一个子项都是一个方法的定义。function支持的字段有:
139+
`functions`字段是一个对象,用于定义serverless函数。functions下的每一个子项都是一个方法的定义。function支持的字段有:
129140

130-
- **name**: serverless方法的名称
141+
- **name**: serverless函数的名称
131142
> 支持的字符集为`a-zA-Z0-9-_`,长度为1-64个字符
132143
> required: true
133-
- **runtime**: serverless方法的运行时
144+
- **runtime**: serverless函数的运行时
134145
> 支持的运行时:
135146
nodejs20,nodejs18,nodejs16,nodejs14,nodejs12,nodejs10,nodejs8,python3.10,python3.9,python3,PHP7.2,Java11,.NETCore3.1,Go1.x
136-
- **handler**: serverless方法的处理程序
147+
- **handler**: serverless函数的处理程序
137148
> required: true
138-
- **code**: serverless方法的代码包相对项根目录的路径
149+
- **code**: serverless函数的代码包相对项根目录的路径
139150
> 当前仅支持zip格式的代码包
140151
> required: true
141-
- **timeout**: serverless方法的超时时间
152+
- **timeout**: serverless函数的超时时间
142153
> 默认值: 15分钟
143-
- **memory**: serverless方法的内存大小
154+
- **memory**: serverless函数的内存大小
144155
> 默认值: 128MB
145-
- **environment**: serverless方法的环境变量
156+
- **environment**: serverless函数的环境变量
146157
> 支持的字符集为`a-zA-Z0-9-_`,长度为1-64个字符
147158
> required: false
159+
- **log**: serverless函数是否开启日志
160+
> required: false
161+
> default: false
162+
> 注意: 由于阿里sls创建延迟问题,无法在创建时开启日志,需要stack第一次创建时关闭,等待1~2分钟后开启日志并重新部署。
163+
148164

149165
## events
150166

@@ -176,3 +192,93 @@ service: insight-poc-${stage}
176192
- **certificate_body**: 证书内容
177193
> required: true
178194

195+
196+
## databases
197+
`databases`字段是一个对象,用于定义数据库。`databases`下的每一个子项都是一个数据库资源的定义。
198+
199+
```yaml
200+
version: 0.0.1
201+
202+
provider:
203+
name: aliyun
204+
region: cn-chengdu
205+
206+
service: insight-es-poc
207+
208+
tags:
209+
owner: geek-fun
210+
211+
databases:
212+
insight_es_db:
213+
name: insight-poc-es
214+
type: ELASTICSEARCH_SERVERLESS
215+
version: ES_SEARCH_7.10
216+
cu:
217+
min: 1
218+
max: 6
219+
storage:
220+
min: 20
221+
security:
222+
basic_auth:
223+
master_user: 'test-username'
224+
password: 'U34I6InQ8elseTgqTWT2t2oFXpoqFg'
225+
226+
```
227+
228+
database支持的字段有:
229+
230+
- **name**: 数据库的名称
231+
> 类型: `string`
232+
> required: true
233+
234+
- **type**: 数据库的类型
235+
> 类型: `string`
236+
> 支持的类型: `ELASTICSEARCH_SERVERLESS`, `RDS_MYSQL_SERVERLESS`, `RDS_PGSQL_SERVERLESS`, `RDS_MSSQL_SERVERLESS`
237+
> required: true
238+
239+
- **version**: 数据库的版本
240+
> 类型: `string`
241+
> 支持的版本: `MYSQL_5.7`, `MYSQL_8.0`, `MYSQL_HA_5.7`, `MYSQL_HA_8.0`, `PGSQL_14`, `PGSQL_15`, `PGSQL_16`, `PGSQL_HA_14`, `PGSQL_HA_15`, `PGSQL_HA_16`, `MSSQL_HA_2016`, `MSSQL_HA_2017`, `MSSQL_HA_2019`, `ES_SEARCH_7.10`, `ES_TIME_SERIES_7.10`
242+
> required: true
243+
244+
- **cu**: 计算单元配置
245+
> 类型: `object`
246+
- **min**: 最小计算单元
247+
> 类型: `integer`
248+
> 最小值: 0
249+
> 最大值: 32
250+
- **max**: 最大计算单元
251+
> 类型: `integer`
252+
> 最小值: 1
253+
> 最大值: 32
254+
255+
- **storage**: 存储配置
256+
> 类型: `object`
257+
- **min**: 最小存储空间
258+
> 类型: `integer`
259+
> 最小值: 20
260+
> required: true
261+
262+
- **security**: 安全配置
263+
> 类型: `object`
264+
> required: true
265+
- **basic_auth**: 基本认证
266+
- **master_user**: 主用户
267+
> 类型: `string`
268+
> required: true
269+
- **password**: 密码
270+
> 类型: `string`
271+
> required: true
272+
273+
- **network**: 网络配置
274+
> 类型: `object`
275+
- **type**: 网络类型
276+
> 类型: `string`
277+
> 支持的类型: `PUBLIC`, `PRIVATE`
278+
- **ingress_rules**: 入站规则
279+
> 类型: `array`
280+
> 项目类型: `string`
281+
- **public**: 是否公开
282+
> 类型: `boolean`
283+
284+
每个数据库定义必须包含`name`、`type`、`version`和`security`字段。

package-lock.json

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "hostsless-site",
3-
"version": "0.1.0",
2+
"name": "serverlessinsight-site",
3+
"version": "0.2.0",
44
"description": "",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)