-
Notifications
You must be signed in to change notification settings - Fork 9
/
radixconfig.yml
192 lines (183 loc) · 5.68 KB
/
radixconfig.yml
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
apiVersion: radix.equinor.com/v1
kind: RadixApplication
metadata:
name: webviz
spec:
environments:
- name: prod
build:
from: main
- name: review
build:
from: review
- name: dev
build:
from: dev
components:
- name: frontend
dockerFileName: frontend-prod.Dockerfile
publicPort: http
ports:
- name: http
port: 8080
- name: backend-primary
dockerFileName: ./backend_py/primary/Dockerfile
ports:
- name: http
port: 5000
secretRefs:
azureKeyVaults:
- name: webviz
items:
- name: WEBVIZ-CLIENT-SECRET
envVar: WEBVIZ_CLIENT_SECRET
- name: WEBVIZ-SMDA-RESOURCE-SCOPE
envVar: WEBVIZ_SMDA_RESOURCE_SCOPE
- name: WEBVIZ-SMDA-SUBSCRIPTION-KEY
envVar: WEBVIZ_SMDA_SUBSCRIPTION_KEY
- name: WEBVIZ-VDS-HOST-ADDRESS
envVar: WEBVIZ_VDS_HOST_ADDRESS
- name: WEBVIZ-SSDL-RESOURCE-SCOPE
envVar: WEBVIZ_SSDL_RESOURCE_SCOPE
- name: WEBVIZ-ENTERPRISE-SUBSCRIPTION-KEY
envVar: WEBVIZ_ENTERPRISE_SUBSCRIPTION_KEY
variables:
UVICORN_PORT: 5000
environmentConfig:
- environment: prod
secretRefs:
azureKeyVaults:
- name: webviz
items:
- name: WEBVIZ-INSIGHTS-CONNECTIONSTRING-PROD
envVar: APPLICATIONINSIGHTS_CONNECTION_STRING
variables:
OTEL_RESOURCE_ATTRIBUTES: service.name=primary-backend, service.namespace=prod, service.version=tbd0.1.2
resources:
requests:
memory: 8Gi
cpu: 1000m
limits:
# Memory limit=request and cpu limit omitted on purpose
memory: 8Gi
horizontalScaling:
minReplicas: 2
maxReplicas: 4
resources:
memory:
averageUtilization: 60
cpu:
averageUtilization: 80
- environment: review
secretRefs:
azureKeyVaults:
- name: webviz
items:
- name: WEBVIZ-INSIGHTS-CONNECTIONSTRING-REVIEW
envVar: APPLICATIONINSIGHTS_CONNECTION_STRING
variables:
OTEL_RESOURCE_ATTRIBUTES: service.name=primary-backend, service.namespace=review, service.version=tbd0.1.2
resources:
requests:
memory: 4Gi
cpu: 500m
limits:
memory: 4Gi
horizontalScaling:
minReplicas: 1
maxReplicas: 3
resources:
memory:
averageUtilization: 60
cpu:
averageUtilization: 80
- environment: dev
secretRefs:
azureKeyVaults:
- name: webviz
items:
- name: WEBVIZ-INSIGHTS-CONNECTIONSTRING-DEV
envVar: APPLICATIONINSIGHTS_CONNECTION_STRING
variables:
OTEL_RESOURCE_ATTRIBUTES: service.name=primary-backend, service.namespace=dev, service.version=tbd0.1.2
resources:
requests:
memory: 4Gi
cpu: 500m
limits:
memory: 4Gi
horizontalScaling:
minReplicas: 1
maxReplicas: 3
resources:
memory:
averageUtilization: 60
cpu:
averageUtilization: 80
- name: surface-query
dockerFileName: ./backend_go/surface-query-prod.Dockerfile
ports:
- name: http
port: 5001
resources:
requests:
memory: 8Gi
cpu: 2000m
limits:
# Even though the general advice is to leave cpu limit unspecified, here we set it to the same as requests.
# As of now, it seems that it's the cpu limit value that will be picked up by automaxprocs utilized in the go service.
memory: 8Gi
cpu: 2000m
horizontalScaling:
minReplicas: 1
maxReplicas: 4
resources:
memory:
averageUtilization: 60
cpu:
averageUtilization: 80
- name: redis-user-session
image: bitnami/redis:6.2.10@sha256:bd42fcdab5959ce2b21b6ea8410d4b3ee87ecb2e320260326ec731ecfcffbd0e
ports:
- name: http
port: 6379
variables:
ALLOW_EMPTY_PASSWORD: yes
- name: redis-cache
image: bitnami/redis:6.2.10@sha256:bd42fcdab5959ce2b21b6ea8410d4b3ee87ecb2e320260326ec731ecfcffbd0e
ports:
- name: http
port: 6379
variables:
ALLOW_EMPTY_PASSWORD: yes
# https://redis.io/docs/management/config/#configuring-redis-as-a-cache
# maxmemory for redis must be aligned with component's requested memory, here 1gb vs 2gb
REDIS_EXTRA_FLAGS: --maxmemory 1gb --maxmemory-policy allkeys-lru --save '' --appendonly no --loglevel verbose
resources:
requests:
memory: 2Gi
cpu: 200m
limits:
memory: 2Gi
jobs:
- name: user-mock
dockerFileName: ./backend_py/user_mock/Dockerfile
schedulerPort: 8001
ports:
- name: http
port: 8001
variables:
UVICORN_PORT: 8001
- name: user-grid3d-ri
dockerFileName: ./backend_py/user_grid3d_ri/Dockerfile
schedulerPort: 8002
ports:
- name: http
port: 8002
variables:
UVICORN_PORT: 8002
payload:
path: /compute/args
dnsAppAlias:
environment: prod
component: frontend