How to set kubernetes secret as as connection string password in .NET Core?
14:35 18 Dec 2022

I have a connection string in my .NET Core application that is used to connect to a database.

{
    "ConnectionStrings": {
        "BloggingDatabase": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
    },
}

I can use plain text password in development. But in kubernetes deployment, I am creating secrets as environment variables.

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  db_password: MWYyZDFlMmU2N2Rm

and pod like this:

apiVersion: v1
kind: Pod
metadata:
  name: secret-env-pod
spec:
  containers:
  - name: mycontainer
    image: my_app:v1
    env:
      - name: SECRET_PASSWORD
        valueFrom:
          secretKeyRef:
            name: mysecret
            key: db_password

But my connection string is not separated the password and username. So how can I replace it in Kubernetes deployment?

c# .net kubernetes .net-core