0

I'm trying to create a secret from ConfigMap using the below commands:

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" . }}

But I'm facing the error

Error: YAML parse error on platform-couchbase-cluster/templates/configMap-single-ca.yaml: error converting YAML to JSON: yaml: line 39: could not find expected ':'

Could you please let me know if I'm missing something?

Thanks

edbighead
  • 5,607
  • 5
  • 29
  • 35
Neelam Sharma
  • 99
  • 1
  • 2
  • 5

1 Answers1

0
  1. cat <<EOF | kubectl apply -f -\ Looks unneeded
  2. Secret indentation after labels: is broken
Max Lobur
  • 5,662
  • 22
  • 35