# Copyright © 2017 Amdocs, Bell Canada
#
# 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.

#{{ if not .Values.disableAaiSearchDataService }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: aai-search-data-configmap
  namespace: {{ .Values.nsPrefix }}
data:
{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/*").AsConfig . | indent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
  name: aai-search-data-keystone-secret
  namespace: {{ .Values.nsPrefix }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/tomcat_keystore").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: aai-search-policy-configmap
  namespace: {{ .Values.nsPrefix }}
data:
{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/search_policy.json").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: aai-search-data-service-log-configmap
  namespace: {{ .Values.nsPrefix }}
data:
{{ tpl (.Files.Glob "resources/config/log/search-data-service/logback.xml").AsConfig . | indent 2 }}
#{{ end }}
