@@ -174,7 +174,7 @@ spec:
174174 name : config-files
175175 - mountPath : {{ .Values.kmsCore.workdir }}
176176 name : workdir
177- {{- if .Values.kmsCore.nitroEnclave.enabled }}
177+ {{- if .Values.kmsCore.nitroEnclave.enabled }}
178178 {{- /* Init Enclave Config Socket, hardcoded to 4000 in https://github.com/zama-ai/kms-core/blob/main/docker/core/service/init_enclave.sh */}}
179179 - {{ include "proxyFromEnclave"
180180 (dict "name" "enclave-config"
@@ -193,63 +193,27 @@ spec:
193193 " vsockPort" 3000
194194 " to" " STDOUT"
195195 ) | indent 10 | trim }}
196- {{- if .Values.kmsCore.nitroEnclave.ports.imds }}
197- {{- /* Init AWS IMDS Proxy Socket */}}
198- - {{ include "proxyFromEnclaveTcp"
199- (dict "name" "aws-imds-proxy"
200- " image" .Values.kubeUtils.image
201- " vsockPort" .Values.kmsCore.nitroEnclave.ports.imds
202- " address" " 169.254.169.254"
203- " port" 80
204- ) | indent 10 | trim }}
205- {{- end }}
206- {{- if .Values.kmsCore.nitroEnclave.ports.sts }}
196+ {{- /* Init Enclave Network Tunnel Socket, hardcoded to 2000 in https://github.com/zama-ai/kms-core/blob/main/docker/core/service/init_enclave.sh */}}
197+ - {{ include "proxyFromEnclave"
198+ (dict "name" "enclave-network-tunnel"
199+ " image" .Values.kubeUtils.image
200+ " vsockPort" 2000
201+ " to" " TUN:10.118.0.1/24,iff-up"
202+ ) | indent 10 | trim }}
207203 {{- /* Init Enclave Web Identity Token Socket, hardcoded to 4100 in https://github.com/zama-ai/kms-core/blob/main/docker/core/service/init_enclave.sh */}}
208204 - {{ include "proxyFromEnclave"
209205 (dict "name" "enclave-web-identity-token"
210206 " image" .Values.kubeUtils.image
211207 " vsockPort" 4100
212- " to" " OPEN:/var/run/secrets/eks.amazonaws.com/serviceaccount/token,rdonly"
213- ) | indent 10 | trim }}
214- {{- /* Init AWS STS Proxy Socket */}}
215- - {{ include "proxyFromEnclaveTcp"
216- (dict "name" "aws-sts-proxy"
217- " image" .Values.kubeUtils.image
218- " vsockPort" .Values.kmsCore.nitroEnclave.ports.sts
219- " address" (printf "sts.%s.amazonaws.com" .Values.kmsCore.aws.region)
220- " port" 443
221- ) | indent 10 | trim }}
222- {{- end }}
223- {{- /* Init AWS S3 Proxy Socket */}}
224- - {{ include "proxyFromEnclaveTcp"
225- (dict "name" "aws-s3-proxy"
226- " image" .Values.kubeUtils.image
227- " vsockPort" .Values.kmsCore.nitroEnclave.ports.s3
228- " address" (printf "s3.%s.amazonaws.com" .Values.kmsCore.aws.region)
229- " port" 443
230- ) | indent 10 | trim }}
231- {{- /* Init AWS KMS Proxy Socket */}}
232- - {{ include "proxyFromEnclaveTcp"
233- (dict "name" "aws-kms-proxy"
234- " image" .Values.kubeUtils.image
235- " vsockPort" .Values.kmsCore.nitroEnclave.ports.awskms
236- " address" (printf "kms.%s.amazonaws.com" .Values.kmsCore.aws.region)
237- " port" 443
238- ) | indent 10 | trim }}
208+ " to" " OPEN:/var/run/secrets/eks.amazonaws.com/serviceaccount/token,rdonly"
209+ ) | indent 10 | trim }}
239210 {{- /* Init Metrics Endpoint Proxy Socket */}}
240211 - {{ include "proxyToEnclaveTcp"
241212 (dict "name" "metrics-endpoint-proxy"
242213 " image" .Values.kubeUtils.image
243214 " cid" .Values.kmsCore.nitroEnclave.cid
244215 " port" .Values.kmsCore.ports.metrics
245216 ) | indent 10 | trim }}
246- {{- /* Init Enclave Tracing Socket */}}
247- - {{ include "proxyFromEnclave"
248- (dict "name" "kms-core-enclave-tracing"
249- " image" .Values.kubeUtils.image
250- " vsockPort" .Values.kmsCore.nitroEnclave.ports.tracing
251- " to" (printf "TCP:%s" (urlParse .Values.tracing.endpoint).host)
252- ) | indent 10 | trim }}
253217 {{- /* Init GRPC Client Proxy Socket */}}
254218 - {{ include "proxyToEnclaveTcp"
255219 (dict "name" "grpc-client-proxy"
@@ -270,36 +234,6 @@ spec:
270234 resources :
271235 {{- toYaml . | nindent 12 }}
272236 {{- end }}
273- {{- /* Init GRPC External Peers Proxy Sockets */}}
274- {{- if .Values.kmsCore.thresholdMode.peersList }}
275- {{- range .Values.kmsCore.thresholdMode.peersList }}
276- - {{ include "proxyFromEnclaveTcp"
277- (dict "name" (printf "enclave-peer-proxy-%d" (int .id))
278- " image" $.Values.kubeUtils.image
279- " vsockPort" (add $.Values.kmsCore.nitroEnclave.ports.peer .id)
280- " address" .host
281- " port" .port
282- ) | indent 10 | trim }}
283- {{- with $.Values.kmsCore.nitroEnclave.enclavePeerProxy.resources }}
284- resources :
285- {{- toYaml . | nindent 12 }}
286- {{- end }}
287- {{- end }}
288- {{- else }}
289- {{- range $i := $peersIDList }}
290- - {{ include "proxyFromEnclaveTcp"
291- (dict "name" (printf "enclave-peer-proxy-%d" (int $i))
292- " image" $.Values.kubeUtils.image
293- " vsockPort" (add $.Values.kmsCore.nitroEnclave.ports.peer $i)
294- " address" (printf "%s-%d" $kmsCoreName (int $i))
295- " port" $.Values.kmsCore.ports.peer
296- ) | indent 10 | trim }}
297- {{- with $.Values.kmsCore.nitroEnclave.enclavePeerProxy.resources }}
298- resources :
299- {{- toYaml . | nindent 12 }}
300- {{- end }}
301- {{- end }}
302- {{- end }}
303237 {{- end }}
304238 {{- else }}
305239 {{- /* Generate init keys for non-enclave kms-core service */}}
@@ -489,6 +423,10 @@ spec:
489423 args :
490424 - -c
491425 - |
426+ sudo sysctl -w net.ipv4.ip_forward=1
427+ sudo iptables -t nat -A POSTROUTING -s 10.118.0.2 -j MASQUERADE
428+
429+ cd
492430 echo "### BEGIN - enclave.json ###"
493431 cat /var/lib/kms-core/config/enclave.json
494432 echo "### END - enclave.json ###"
0 commit comments