# See the License for the specific language governing permissions and
 # limitations under the License.
 */}}
+{{/*
+  Helper function to check, if Ingress is globally enabled
+*/}}
+{{- define "common.ingressEnabled" -}}
+{{-   $dot := default . .dot -}}
+{{-   if $dot.Values.ingress -}}
+{{-     if $dot.Values.global.ingress -}}
+{{-       if (default false $dot.Values.global.ingress.enabled) -}}
+true
+{{-       end -}}
+{{-     end -}}
+{{-   end -}}
+{{- end -}}
+
+
 {{/*
   Create the hostname as concatination <baseaddr>.<baseurl>
   - baseaddr: from component values: ingress.service.baseaddr
 
 {{-   $both_tls_and_plain:= default false $dot.Values.service.both_tls_and_plain }}
 {{-   $labels := default (dict) .labels -}}
 {{-   $matchLabels := default (dict) .matchLabels -}}
-{{-   if and (include "common.onServiceMesh" $dot) (eq $serviceType "NodePort") }}
+{{-   if and (include "common.ingressEnabled" $dot) (eq $serviceType "NodePort") -}}
 {{-     $serviceType = "ClusterIP" }}
 {{-   end }}
 
 
--- /dev/null
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
 
           type: tls
       - name: external
         port: 9094
-        type: nodeport
+        type: {{ if (include "common.ingressEnabled" .) }}cluster-ip{{ else }}nodeport{{ end }}
         tls: true
         authentication:
           type: tls
         configuration:
+          {{- if not (include "common.ingressEnabled" .) }}
           bootstrap:
             nodePort: {{ .Values.global.nodePortPrefixExt }}93
+          {{- end }}
           brokers:
             - broker: 0
+              advertisedHost: {{ .Values.config.advertisedHost }}
+              advertisedPort: {{ .Values.config.advertizedPortBroker0 }}
+              {{- if not (include "common.ingressEnabled" .) }}
               nodePort: {{ .Values.global.nodePortPrefixExt }}90
+              {{- end }}
             - broker: 1
+              advertisedHost: {{ .Values.config.advertisedHost }}
+              advertisedPort: {{ .Values.config.advertizedPortBroker1 }}
+              {{- if not (include "common.ingressEnabled" .) }}
               nodePort: {{ .Values.global.nodePortPrefixExt }}91
+              {{- end }}
             - broker: 2
+              advertisedHost: {{ .Values.config.advertisedHost }}
+              advertisedPort: {{ .Values.config.advertizedPortBroker2 }}
+              {{- if not (include "common.ingressEnabled" .) }}
               nodePort: {{ .Values.global.nodePortPrefixExt }}92
+              {{- end }}
     authorization:
       type: {{ .Values.config.authType }}
       superUsers:
 
   saslMechanism: &saslMech scram-sha-512
   kafkaInternalPort: &plainPort 9092
   strimziKafkaAdminUser: &adminUser strimzi-kafka-admin
+  advertisedHost: kafka-api.simpledemo.onap.org
+  advertizedPortBroker0: &advertizedPortBroker0 9000
+  advertizedPortBroker1: &advertizedPortBroker1 9001
+  advertizedPortBroker2: &advertizedPortBroker2 9002
 
 persistence:
   enabled: &pvenabled true
   roles:
     - read
 
+ingress:
+  enabled: false
+  service:
+  - baseaddr: "kafka-bootstrap-api"
+    name: "onap-strimzi-kafka-external-bootstrap"
+    port: 9094
+    exposedPort: 9010
+    exposedProtocol: TLS
+  - baseaddr: "kafka-0-api"
+    name: "onap-strimzi-kafka-0"
+    port: 9094
+    exposedPort: *advertizedPortBroker0
+    exposedProtocol: TLS
+  - baseaddr: "kafka-1-api"
+    name: "onap-strimzi-kafka-1"
+    port: 9094
+    exposedPort: *advertizedPortBroker1
+    exposedProtocol: TLS
+  - baseaddr: "kafka-2-api"
+    name: "onap-strimzi-kafka-2"
+    port: 9094
+    exposedPort: *advertizedPortBroker2
+    exposedProtocol: TLS
+
 ######################
 #  Component overrides
 ######################