Skip to content

Commit eca3c98

Browse files
authored
Merge pull request #70 from docker/cm/secret-escape
Escape secrets going into CLI
2 parents edcd116 + a98a3d7 commit eca3c98

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/extension/ui/src/Secrets.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,26 @@ namespace Secrets {
2222

2323
export async function getSecrets(client: v1.DockerDesktopClient): Promise<Secret[]> {
2424
const response = await client.extension.host?.cli.exec('host-binary', ['list']);
25+
if (!response) {
26+
client.desktopUI.toast.error('Failed to get secrets. Could not get response from host-binary.')
27+
}
28+
if (response?.stderr) {
29+
client.desktopUI.toast.error('Failed to get secrets: ' + JSON.stringify(response))
30+
}
2531
return JSON.parse(response?.stdout || '[]');
2632
}
2733

2834

2935
export async function addSecret(client: v1.DockerDesktopClient, secret: Secret): Promise<void> {
3036
try {
31-
const response = await client.extension.host?.cli.exec('host-binary', ['--name', secret.name, '--value', secret.value]);
37+
const response = await client.extension.host?.cli.exec('host-binary', ['--name', secret.name, '--value', `'${secret.value}'`]);
3238
client.desktopUI.toast.success('Secret set successfully')
39+
if (!response) {
40+
client.desktopUI.toast.error('Failed to set secret. Could not get response from host-binary.')
41+
}
42+
if (response?.stderr) {
43+
client.desktopUI.toast.error('Failed to set secret: ' + JSON.stringify(response))
44+
}
3345
} catch (error) {
3446
if ((error as any).stderr) {
3547
client.desktopUI.toast.error('Failed to set secret: ' + JSON.stringify(error))

0 commit comments

Comments
 (0)