DodoApp: Support apps exposing multiple ports

Change-Id: I9c8a47d20ffc1836cef6390c0ac6f22e977e38f2
diff --git a/charts/app-runner/templates/install.yaml b/charts/app-runner/templates/install.yaml
index b9ecdbb..00ba74e 100644
--- a/charts/app-runner/templates/install.yaml
+++ b/charts/app-runner/templates/install.yaml
@@ -16,6 +16,7 @@
   run: |
 {{ indent 4 $runCfg }}
 ---
+{{- if .Values.appPorts }}
 apiVersion: v1
 kind: Service
 metadata:
@@ -26,10 +27,13 @@
   selector:
     app: app-app
   ports:
-  - name: app
-    port: 80
-    targetPort: app
-    protocol: TCP
+  {{- range .Values.appPorts }}
+  - name: {{ .name }}
+    port: {{ .containerPort }}
+    targetPort: {{ .name }}
+    protocol: {{ .protocol }}
+  {{- end }}
+{{- end }}
 ---
 apiVersion: v1
 kind: Service
@@ -86,9 +90,9 @@
         - name: api
           containerPort: 3000
           protocol: TCP
-        - name: app
-          containerPort: {{ .Values.appPort }}
-          protocol: TCP
+        {{- if .Values.appPorts }}
+          {{ toYaml .Values.appPorts | nindent 8 }}
+        {{- end }}
         env:
         - name: SELF_IP
           valueFrom:
diff --git a/charts/app-runner/values.yaml b/charts/app-runner/values.yaml
index 88958ae..795f2c0 100644
--- a/charts/app-runner/values.yaml
+++ b/charts/app-runner/values.yaml
@@ -8,7 +8,7 @@
 appId: ""
 runCfg: ""
 appDir: /dodo-app
-appPort: 8080
+appPorts: []
 managerAddr: ""
 volumes: []
 runtimeClassName: ""