brigadecore / brigade

Event-driven scripting for Kubernetes
https://brigade.sh/
Apache License 2.0
2.4k stars 247 forks source link

$ sign in brigade secret #1857

Closed ramandas30 closed 2 years ago

ramandas30 commented 2 years ago

Hi i am unable to pass brigade secret value which contains special character like &!%. Problem statement: 1) one of my secret value contains these special character for DP_PASS secret. 2) we are reading this value in our brigade.js file and passing those value to helm deployment file. 3) problem when brigade pass these value to helm file it only pass value which was befor $ sign.

Output of brig version: 1.2

Output of kubectl version:

Cloud Provider/Platform (AKS, GKE, Minikube etc.): AKS

krancour commented 2 years ago

Hey @ramandas30 thanks for opening this issue!

How are you setting secrets for your project? Are you setting them individually like brig project secret set -p <project> -s <key>=<value>? Or are you passing in a YAML file like this: brig project secret set -p <project> -f <file>?

In one case, your shell is probably interpreting the $ character as denoting that whatever follows is an (undefined) environment variable. In this case you should surround the value with single quotes. This is a shell thing and not specific to Brigade.

In the other case, $ might have special meaning in a YAML file also. I'm not sure off the top of my head, but once again, surrounding the value with quotes will probably resolve the situation. This also would be an idiosyncrasy of YAML and not Brigade-specific.

Let me know if this helps!

krancour commented 2 years ago

@ramandas30 I haven't heard back from you on this and I'm pretty confident that your issue is shell-related as I indicated. Going to close this, but please do feel free to re-open it if you still believe there's an issue.