# 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 }}"
---
apiVersion: v1
kind: Secret
metadata:
  name: sdc-cert
  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:
{{ tpl (.Files.Glob "resources/cert/*").AsSecrets . | indent 2 }}
