Skip to content

Commit aead5ff

Browse files
authored
Merge pull request #31 from meta-d/develop
Version 2.4.0
2 parents 43d6813 + 4a27f76 commit aead5ff

File tree

362 files changed

+16239
-11615
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

362 files changed

+16239
-11615
lines changed

.deploy/api/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ocap-server",
33
"author": "Metad",
4-
"version": "2.3.1",
4+
"version": "2.4.0",
55
"scripts": {
66
"start": "nx serve",
77
"build": "nx build",

.deploy/k8s/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Deploy to Aliyun
2+
3+
- `kubectl create namespace prod`
4+
- `kubectl apply -f ali-cnfs.yaml`
5+
- `kubectl apply -f ali-secret.yaml`
6+
- `kubectl apply -f ali-pv.yaml -n prod`
7+
- `kubectl apply -f ali-manifest.yaml -n prod`
8+
-

.deploy/k8s/ali-cnfs.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# 创建CNFS、StorageClass和Deployment、StatefulSet对象。
2+
apiVersion: storage.alibabacloud.com/v1beta1
3+
kind: ContainerNetworkFileSystem
4+
metadata:
5+
name: cnfs-nas-filesystem
6+
spec:
7+
description: "cnfs"
8+
type: nas
9+
reclaimPolicy: Retain # 只支持Retain策略,删除CNFS时并不会删除NAS文件系统。
10+
# parameters:
11+
# encryptType: SSE-KMS # 可选参数,不指定表示对文件不使用NAS托管加密,指定SSE-KMS表示开启此功能。
12+
# enableTrashCan: "true" # 可选参数,不指定表示不打开回收站功能,指定true表示开启此功能。

.deploy/k8s/manifest.prod.yaml renamed to .deploy/k8s/ali-manifest.yaml

Lines changed: 215 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: adminer
5+
namespace: prod
6+
annotations:
7+
# URL重定向。
8+
nginx.ingress.kubernetes.io/rewrite-target: /$2
9+
spec:
10+
rules:
11+
- host: adminer.mtda.cloud
12+
http:
13+
paths:
14+
# 在Ingress Controller的版本≥0.22.0之后,path中需要使用正则表达式定义路径,并在rewrite-target中结合捕获组一起使用。
15+
- path: /
16+
backend:
17+
service:
18+
name: db-adminer
19+
port:
20+
number: 8084
21+
pathType: ImplementationSpecific
22+
tls:
23+
- hosts:
24+
- adminer.mtda.cloud
25+
secretName: adminer-tls
26+
---
127
apiVersion: v1
228
kind: Service
329
metadata:
@@ -40,6 +66,20 @@ spec:
4066
port: 4200
4167
targetPort: 80
4268
---
69+
apiVersion: v1
70+
kind: Service
71+
metadata:
72+
name: metad-website-lb
73+
spec:
74+
type: ClusterIP
75+
selector:
76+
app: metad-prod-website
77+
ports:
78+
- name: http
79+
protocol: TCP
80+
port: 80
81+
targetPort: 80
82+
---
4383
apiVersion: apps/v1
4484
kind: Deployment
4585
metadata:
@@ -56,64 +96,64 @@ spec:
5696
spec:
5797
containers:
5898
- name: metad-prod-api
59-
image: registry.cn-hangzhou.aliyuncs.com/metad/ocap-api:2.3.0
99+
image: registry.cn-hangzhou.aliyuncs.com/metad/ocap-api:2.3.1
60100
imagePullPolicy: Always
61101
envFrom:
62102
- secretRef:
63-
name: db-secrets
103+
name: ocap-secrets
64104
env:
65105
- name: REDIS_PASSWORD
66106
valueFrom:
67107
secretKeyRef:
68-
name: db-secrets
108+
name: ocap-secrets
69109
key: REDIS_PASSWORD
70110
optional: false
71111
- name: JWT_SECRET
72112
valueFrom:
73113
secretKeyRef:
74-
name: db-secrets
114+
name: ocap-secrets
75115
key: JWT_SECRET
76116
optional: false
77117
- name: JWT_REFRESH_SECRET
78118
valueFrom:
79119
secretKeyRef:
80-
name: db-secrets
120+
name: ocap-secrets
81121
key: JWT_REFRESH_SECRET
82122
optional: false
83123
- name: GITHUB_CLIENT_ID
84124
valueFrom:
85125
secretKeyRef:
86-
name: db-secrets
126+
name: ocap-secrets
87127
key: GITHUB_CLIENT_ID
88128
optional: false
89129
- name: GITHUB_CLIENT_SECRET
90130
valueFrom:
91131
secretKeyRef:
92-
name: db-secrets
132+
name: ocap-secrets
93133
key: GITHUB_CLIENT_SECRET
94134
optional: false
95135
- name: DINGTALK_CLIENT_ID
96136
valueFrom:
97137
secretKeyRef:
98-
name: db-secrets
138+
name: ocap-secrets
99139
key: DINGTALK_CLIENT_ID
100140
optional: false
101141
- name: DINGTALK_CLIENT_SECRET
102142
valueFrom:
103143
secretKeyRef:
104-
name: db-secrets
144+
name: ocap-secrets
105145
key: DINGTALK_CLIENT_SECRET
106146
optional: false
107147
- name: FEISHU_CLIENT_ID
108148
valueFrom:
109149
secretKeyRef:
110-
name: db-secrets
150+
name: ocap-secrets
111151
key: FEISHU_CLIENT_ID
112152
optional: false
113153
- name: FEISHU_CLIENT_SECRET
114154
valueFrom:
115155
secretKeyRef:
116-
name: db-secrets
156+
name: ocap-secrets
117157
key: FEISHU_CLIENT_SECRET
118158
optional: false
119159
- name: API_BASE_URL
@@ -193,7 +233,7 @@ spec:
193233
spec:
194234
containers:
195235
- name: metad-prod-webapp
196-
image: registry.cn-hangzhou.aliyuncs.com/metad/ocap-webapp:2.3.0
236+
image: registry.cn-hangzhou.aliyuncs.com/metad/ocap-webapp:2.3.1
197237
imagePullPolicy: Always
198238
ports:
199239
- containerPort: 80
@@ -220,7 +260,7 @@ spec:
220260
spec:
221261
containers:
222262
- name: metad-prod-website
223-
image: registry.cn-hangzhou.aliyuncs.com/metad/website:2.3.0
263+
image: registry.cn-hangzhou.aliyuncs.com/metad/website:2.3.1
224264
ports:
225265
- containerPort: 80
226266
protocol: TCP
@@ -249,7 +289,7 @@ spec:
249289
- name: REDIS_PASSWORD
250290
valueFrom:
251291
secretKeyRef:
252-
name: db-secrets
292+
name: ocap-secrets
253293
key: REDIS_PASSWORD
254294
optional: false
255295
- name: REDIS_HOST
@@ -262,4 +302,164 @@ spec:
262302
initialDelaySeconds: 3
263303
periodSeconds: 60
264304
successThreshold: 1
265-
failureThreshold: 5
305+
failureThreshold: 5
306+
---
307+
apiVersion: v1
308+
kind: Service
309+
metadata:
310+
name: postgres
311+
spec:
312+
type: ClusterIP
313+
selector:
314+
app: postgres
315+
ports:
316+
- protocol: TCP
317+
port: 5432
318+
---
319+
apiVersion: v1
320+
kind: Service
321+
metadata:
322+
name: db-adminer
323+
spec:
324+
type: ClusterIP
325+
selector:
326+
app: db-adminer
327+
ports:
328+
- protocol: TCP
329+
port: 8084
330+
targetPort: 8080
331+
---
332+
apiVersion: v1
333+
kind: Service
334+
metadata:
335+
name: redis
336+
spec:
337+
type: ClusterIP
338+
selector:
339+
app: redis
340+
ports:
341+
- protocol: TCP
342+
name: redis
343+
port: 6379
344+
targetPort: 6379
345+
- protocol: TCP
346+
name: insight
347+
port: 8001
348+
targetPort: 8001
349+
---
350+
apiVersion: apps/v1
351+
kind: Deployment
352+
metadata:
353+
name: postgres
354+
spec:
355+
strategy:
356+
rollingUpdate:
357+
maxSurge: 1
358+
maxUnavailable: 1
359+
type: RollingUpdate
360+
replicas: 1
361+
selector:
362+
matchLabels:
363+
app: postgres
364+
template:
365+
metadata:
366+
labels:
367+
app: postgres
368+
spec:
369+
containers:
370+
- name: postgres
371+
image: registry.cn-hangzhou.aliyuncs.com/metad/pgvector:pg12
372+
imagePullPolicy: Always
373+
ports:
374+
- containerPort: 5432
375+
env:
376+
- name: POSTGRES_USER
377+
valueFrom:
378+
secretKeyRef:
379+
name: ocap-secrets
380+
key: DB_USER
381+
optional: false
382+
- name: POSTGRES_PASSWORD
383+
valueFrom:
384+
secretKeyRef:
385+
name: ocap-secrets
386+
key: DB_PASS
387+
optional: false
388+
- name: POSTGRES_DB
389+
valueFrom:
390+
secretKeyRef:
391+
name: ocap-secrets
392+
key: DB_NAME
393+
optional: false
394+
- name: PGDATA
395+
value: /var/lib/postgresql/data/pgdata
396+
volumeMounts:
397+
- mountPath: /var/lib/postgresql/data
398+
name: postgredb
399+
volumes:
400+
- name: postgredb
401+
persistentVolumeClaim:
402+
claimName: db-pvc
403+
---
404+
apiVersion: apps/v1
405+
kind: Deployment
406+
metadata:
407+
name: db-adminer
408+
spec:
409+
strategy:
410+
rollingUpdate:
411+
maxSurge: 1
412+
maxUnavailable: 1
413+
type: RollingUpdate
414+
replicas: 1
415+
selector:
416+
matchLabels:
417+
app: db-adminer
418+
template:
419+
metadata:
420+
labels:
421+
app: db-adminer
422+
spec:
423+
containers:
424+
- name: adminer
425+
image: adminer:latest
426+
ports:
427+
- containerPort: 8080
428+
---
429+
apiVersion: apps/v1
430+
kind: Deployment
431+
metadata:
432+
name: redis
433+
spec:
434+
strategy:
435+
rollingUpdate:
436+
maxSurge: 1
437+
maxUnavailable: 1
438+
type: RollingUpdate
439+
replicas: 1
440+
selector:
441+
matchLabels:
442+
app: redis
443+
template:
444+
metadata:
445+
labels:
446+
app: redis
447+
spec:
448+
containers:
449+
- name: redis
450+
image: registry.cn-hangzhou.aliyuncs.com/metad/redis-stack:6.2.6-v15-x86_64
451+
imagePullPolicy: Always
452+
ports:
453+
- containerPort: 6379
454+
- containerPort: 8001
455+
env:
456+
- name: REDIS_PASSWORD
457+
valueFrom:
458+
secretKeyRef:
459+
name: ocap-secrets
460+
key: REDIS_PASSWORD
461+
command:
462+
- redis-server
463+
args:
464+
- --requirepass
465+
- $(REDIS_PASSWORD)

.deploy/k8s/ali-pv.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
kind: PersistentVolumeClaim
2+
apiVersion: v1
3+
metadata:
4+
name: db-pvc
5+
spec:
6+
accessModes:
7+
- ReadWriteMany
8+
storageClassName: alibabacloud-cnfs-nas
9+
volumeName: prod-db-pv
10+
resources:
11+
requests:
12+
storage: 10Gi # 如果打开目录限额功能,则storage字段会生效,动态创建目录写入数据量最大为 10 GiB。
13+
---
14+
apiVersion: v1
15+
kind: PersistentVolume
16+
metadata:
17+
name: prod-db-pv
18+
labels:
19+
type: nas
20+
spec:
21+
storageClassName: alibabacloud-cnfs-nas
22+
capacity:
23+
storage: 10Gi
24+
accessModes:
25+
- ReadWriteMany
26+
hostPath:
27+
path: "/prod-db/"

0 commit comments

Comments
 (0)