-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvalues.yaml
193 lines (184 loc) · 4.58 KB
/
values.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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
ingress:
ingressClassName: ingress-nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/ssl-redirect: true
hosts:
- host: web.cozy-todo.click
service:
name: frontend
port: 81
- host: api.cozy-todo.click
service:
name: backend
port: 3001
tls:
secretName: tls-certificate
wildcardDomain: "*.cozy-todo.click"
certManager:
issuerName: letsencrypt-prod
email: thangphan.onthego@gmail.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretName: letsencrypt-prod-issuer
dnsSolver:
dnsZones:
- cozy-todo.click
provider: route53
region: ap-southeast-1
hostedZoneID: Z05835622XT8SM6G0VX1B
secretServiceAccountName: app-secrets
secretProvider:
name: aws-secrets
provider: aws
region: ap-southeast-1
usePodIdentity: true
objectName: nonprod/app_config
objectType: secretsmanager
jmesPath:
- path: API_URL
objectAlias: API_URL_ALIAS
- path: WEB_URL
objectAlias: WEB_URL_ALIAS
- path: API_APP_PORT
objectAlias: API_APP_PORT_ALIAS
- path: METRICS_SERVER_PORT
objectAlias: METRICS_SERVER_PORT_ALIAS
- path: DB_HOST_SOURCE
objectAlias: DB_HOST_SOURCE_ALIAS
- path: DB_HOST_REPLICA
objectAlias: DB_HOST_REPLICA_ALIAS
- path: DB_USERNAME
objectAlias: DB_USERNAME_ALIAS
- path: DB_PASSWORD
objectAlias: DB_PASSWORD_ALIAS
- path: DB_NAME
objectAlias: DB_NAME_ALIAS
- path: DB_PORT
objectAlias: DB_PORT_ALIAS
secretObjects:
name: app-config-secret
type: Opaque
data:
- objectName: API_URL_ALIAS
key: k8s-api-url
- objectName: WEB_URL_ALIAS
key: k8s-web-url
- objectName: API_APP_PORT_ALIAS
key: k8s-api-app-port
- objectName: METRICS_SERVER_PORT_ALIAS
key: k8s-metrics-server-port
- objectName: DB_HOST_SOURCE_ALIAS
key: k8s-db-host-source
- objectName: DB_HOST_REPLICA_ALIAS
key: k8s-db-host-replica
- objectName: DB_USERNAME_ALIAS
key: k8s-db-username
- objectName: DB_PASSWORD_ALIAS
key: k8s-db-password
- objectName: DB_NAME_ALIAS
key: k8s-db-name
- objectName: DB_PORT_ALIAS
key: k8s-db-port
services:
frontend:
name: frontend
type: ClusterIP
ports:
- name: frontend-app
protocol: TCP
port: 81
targetPort: 8080
backend:
name: backend
type: ClusterIP
labels:
service: backend
port: 3001
ports:
- name: backend-app
protocol: TCP
port: 3001
targetPort: 3000
- name: backend-metrics-server
protocol: TCP
port: 3002
targetPort: 9200
deployments:
frontend:
image:
repository: 864899847999.dkr.ecr.ap-southeast-1.amazonaws.com/nonprod-cozy-todo-frontend
pullPolicy: Always
tag: latest
port: 8080
replicaCount: 1
secretName: app-config-secret
volumeName: app-secrets
secrets:
- name: APP_CONFIG_API_URL
key: k8s-api-url
resources:
requests:
cpu: "100m"
memory: "156Mi"
limits:
memory: "200Mi"
readinessProbe:
httpGet:
path: /
port: 8080
failureThreshold: 3
initialDelaySeconds: 4
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
backend:
image:
repository: 864899847999.dkr.ecr.ap-southeast-1.amazonaws.com/nonprod-cozy-todo-backend
pullPolicy: Always
tag: latest
port: 3000
replicaCount: 1
secretName: app-config-secret
volumeName: app-secrets
secrets:
- name: WEB_URL
key: k8s-web-url
- name: APP_PORT
key: k8s-api-app-port
- name: METRICS_SERVER_PORT
key: k8s-metrics-server-port
- name: DB_HOST_SOURCE
key: k8s-db-host-source
- name: DB_HOST_REPLICA
key: k8s-db-host-replica
- name: DB_USERNAME
key: k8s-db-username
- name: DB_PASSWORD
key: k8s-db-password
- name: DB_NAME
key: k8s-db-name
- name: DB_PORT
key: k8s-db-port
resources:
requests:
cpu: "100m"
memory: "256Mi"
limits:
memory: "312Mi"
readinessProbe:
httpGet:
path: /api/health
port: 3000
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
serviceMonitor:
release: prometheus
matchLabels:
service: backend
port: backend-metrics-server
path: /metrics
scheme: http
interval: 15s