[AAI] Add options for remote debugging and profiling

- add debug.enabled value for enabling debugging [1]
- add profiling.enabled value for enabling probiling [2]
- only expose debug port (5005) if debug.enabled=true

[1] appropriate jvm args will be added and
the debug port will be exposed on the pod
[2] appropriate jvm args will be added and
the 9999 port used for profiling via jmx will be exposed

Issue-ID: AAI-3730
Change-Id: I1d83a6ac1875ba63e710e86d4fcbfc8924810292
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
diff --git a/kubernetes/aai/components/aai-traversal/templates/deployment.yaml b/kubernetes/aai/components/aai-traversal/templates/deployment.yaml
index 9a61841..8f52fe2 100644
--- a/kubernetes/aai/components/aai-traversal/templates/deployment.yaml
+++ b/kubernetes/aai/components/aai-traversal/templates/deployment.yaml
@@ -160,6 +160,14 @@
           value: {{ $value | quote}}
         {{- end }}
         {{- end }}
+        {{- if .Values.config.profiling.enabled }}
+        - name: PRE_JVM_ARGS
+          value: '{{ join " " .Values.config.profiling.args }}'
+        {{- end }}
+        {{- if .Values.config.debug.enabled }}
+        - name: POST_JVM_ARGS
+          value: {{ .Values.config.debug.args | quote }}
+        {{- end }}
         - name: DISABLE_UPDATE_QUERY
           value: {{ .Values.config.disableUpdateQuery | quote }}
         - name: LOCAL_USER_ID
@@ -207,10 +215,18 @@
         ports:
         - containerPort: {{ .Values.service.internalPort }}
           name: {{ .Values.service.portName }}
+
+        {{- if .Values.config.debug.enabled }}
         - containerPort: {{ .Values.service.internalPort2 }}
           name: {{ .Values.service.portName2 }}
+        {{- end }}
         - containerPort: {{ .Values.service.internalPort3 }}
           name: {{ .Values.service.portName3 }}
+        {{- if .Values.config.profiling.enabled }}
+        - containerPort: {{ .Values.service.internalPort4 }}
+          name: {{ .Values.service.portName4 }}
+        {{- end }}
+
         lifecycle:
           # wait for active requests (long-running tasks) to be finished
           # Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.