{{/*
# Copyright © 2017 Amdocs, AT&T, Bell Canada
# Modifications Copyright © 2018 ZTE
#
# 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.
*/}}

apiVersion: v1
kind: Secret
metadata:
  name: {{ include "common.release" . }}-sdc-cs-secrets
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ include "common.release" . }}
    heritage: {{ .Release.Service }}
type: Opaque
data:
  #application user
  sdc_user: "{{ .Values.global.secrets.sdc_user }}"
  sdc_password: "{{ .Values.global.secrets.sdc_password }}"
  #default user:
  cs_password: "{{ .Values.global.secrets.cs_password }}"
  cs_truststore_password: "{{ .Values.global.secrets.cs_truststore_password }}"
  # ssl - stores
  truststore_password: "{{ .Values.global.secrets.truststore_password }}"
  keystore_password: "{{ .Values.global.secrets.keystore_password }}"
  # workflow
  wf_external_user_password: "{{ .Values.global.secrets.wf_external_user_password }}"
