Создайте секрет в ConfigMap с помощью сценария оболочки

Я пытаюсь создать секрет из ConfigMap, используя следующие команды:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-single-ca-script
  labels:
    app.kubernetes.io/name: {{ include "couchbase-cluster.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
    helm.sh/chart: {{ include "couchbase-cluster.chart" . }}
  annotations:
    "helm.sh/hook": pre-install
    "helm.sh/hook-weight": "-5"
    "helm.sh/hook-delete-policy": before-hook-creation
data:
  single-ca-script.sh: |
    #!/bin/bash
    kubectl create secret generic {{ include "couchbase-cluster.pki.secret.tls" . }}-trf \
      --from-file=chain.pem=/var/run/certs/tls.crt --from-file=pkey.key=/var/run/certs/tls.key
    WORKDIR=/tmp/
    cd $WORKDIR
    csplit -f ca_- /var/run/certs/ca.crt '/-----BEGIN CERTIFICATE-----/' '{*}'
    for x in `ls $WORKDIR/ca_*`; do
     echo "checking ca: $x"
     openssl verify -verbose -CAfile $x /var/run/certs/tls.crt
     if [[ $? -eq 0 ]]; then
      CORRECT_CA_FILE=$x
      break;
     fi
    done
    if [[ -z $CORRECT_CA_FILE ]]; then
     echo "NO correct CA file found"
     exit 99
    fi
    mv $CORRECT_CA_FILE $WORKDIR/ca.crt
    kubectl create secret generic {{ include "couchbase-cluster.pki.secret.tls" . }}-single-ca \
     --from-file=$WORKDIR/ca.crt

cat <<EOF | kubectl apply -f -\
apiVersion: v1
kind: Secret
metadata:
  name: {{ template "couchbase-cluster.fullname" . }}
  labels:
  app.kubernetes.io/name: {{ include "couchbase-cluster.name" . }}
  app.kubernetes.io/instance: {{ .Release.Name }}
  app.kubernetes.io/managed-by: {{ .Release.Service }}
  helm.sh/chart: {{ include "couchbase-cluster.chart" . }}

Но я столкнулся с ошибкой

Ошибка: ошибка синтаксического анализа YAML на платформе-couchbase-cluster / templates / configMap-single-ca.yaml: ошибка преобразования YAML в JSON: yaml: строка 39: не удалось найти ожидаемый ':'

Не могли бы вы сообщить мне, если я что-то упускаю?

Спасибо


person Neelam Sharma    schedule 28.10.2020    source источник
comment
Обновите свой вопрос, чтобы поддержать точку, упомянутую в ответе Макса Лобура.   -  person Dawid Kruk    schedule 28.10.2020


Ответы (1)


  1. cat <<EOF | kubectl apply -f -\ Выглядит ненужным
  2. Секретный отступ после labels: сломан
person Max Lobur    schedule 28.10.2020
comment
Фиксированная точка 2 .. все еще та же ошибка. Для point1 - привязываю создать секрет внутри скрипта оболочки - person Neelam Sharma; 28.10.2020
comment
то в конце вам не хватает EOF: stackoverflow.com/a/21549836/923620 - person Max Lobur; 28.10.2020