Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Base64 encoding is adding a new line

I'm trying to encode a database string using base64 on the command line in linux.

Once I do I add the value to a secret in kubernetes but my application is failing to connect to the database due to the db string not being accepted. There seems to be a newline getting added when I check the value in lens and this is not there in a similar cluster in the same secret

jdbc:postgresql://test.xxxxxxxx.eu-west-2.rds.amazonaws.com/test

deirdre$ echo jdbc:postgresql://test.xxxxxxxx.eu-west-2.rds.amazonaws.com/test | base64 | tr -d "\n"
amRiYzpwb3N0Z3Jlc3FsOi8vdGVzdC54eHh4eHh4eC5ldS13ZXN0LTIucmRzLmFtYXpvbmF3cy5jb20vdGVzdAo=

Is there something I am doing wrong? or is there an issue with the /?

like image 534
DeirdreRodgers Avatar asked Feb 15 '26 08:02

DeirdreRodgers


1 Answers

You can fix those easy with

echo -n "string" | base64

"echo -n" removes the trailing newline character.

You can also see my last answer i gave to following Question Kubernetes secrets as environment variable add space character

like image 127
bymo Avatar answered Feb 21 '26 14:02

bymo