Riby Varghese
Riby Varghese

Reputation: 111

Facing some issues when trying to create secrets in kubernetes

I need to store some passwords and usernames in the secrets.YAML .but after the deployment getting this error .so unable to build the secret and access it in the pods. Attaching the deployment.yaml and secretes .yaml below.

--Secrets.yaml

    apiVersion: v1
    kind: Secret
    metadata:
      name: mysecret
    data:
       CassandraSettings__CassandraPassword: [[ .Environment ]]-abcd-cassandra-password

---Deployment.yaml

     env:
          - name: Password
            valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: CassandraSettings__CassandraPassword

After deployment in TeamCity getting this error

Error from server (BadRequest): error when creating "STDIN": Secret in version "v1" cannot be handled as a Secret: v1.Secret.ObjectMeta: v1.ObjectMeta.TypeMeta: Kind: Data: decode base64: illegal base64 data at input byte 3, error found in #10 byte of ...|-password"},"kind":"|..., bigger context ...|_CassandraPassword":"dev-bling-cassandra-password"},"kind":"Secret","metadata":{"annotations":{"kube|... error parsing STDIN: error converting YAML to JSON: yaml: line 33: did not find expected '-' indicator

Upvotes: 3

Views: 4742

Answers (1)

Anuradha Fernando
Anuradha Fernando

Reputation: 1159

Looks like type is missing, can you try as below,

---Secrets.yaml

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  CassandraSettings__CassandraPassword: [[ .Environment ]]-abcd-cassandra-password

---Deployment.yaml

    env:
      - name: Password
        valueFrom:
             secretKeyRef:
               name: mysecret
               key: CassandraSettings__CassandraPassword

Upvotes: 4

Related Questions