From fbc03c8ec67e6267fa6f9adf4af1e0db8af30bb0 Mon Sep 17 00:00:00 2001 From: Lee Verberne Date: Thu, 26 Sep 2019 18:41:09 +0200 Subject: [PATCH] Fix incorrect advice about creating a secret (#16004) * Fix incorrect advice about creating a secret The existing command does not use code style as required by the style guide and it is incorrect as rendered. Also, there's an easier way to do this. * Add reviewer suggested improvement for secret escaping Adding sftim's suggestion phrasing explanation of escaping shell special characters. Co-Authored-By: Tim Bannister * Make secret escaping instructions consistent --- .../en/docs/concepts/configuration/secret.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/content/en/docs/concepts/configuration/secret.md b/content/en/docs/concepts/configuration/secret.md index 1ff4d81c09..bd9490ffd0 100644 --- a/content/en/docs/concepts/configuration/secret.md +++ b/content/en/docs/concepts/configuration/secret.md @@ -76,9 +76,12 @@ kubectl create secret generic db-user-pass --from-file=./username.txt --from-fil secret "db-user-pass" created ``` {{< note >}} -Special characters such as `$`, `\*`, and `!` require escaping. -If the password you are using has special characters, you need to escape them using the `\\` character. For example, if your actual password is `S!B\*d$zDsb`, you should execute the command this way: - kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password=S\\!B\\\\*d\\$zDsb +Special characters such as `$`, `\`, `*`, and `!` will be interpreted by your [shell](https://en.wikipedia.org/wiki/Shell_\(computing\)) and require escaping. In most common shells, the easiest way to escape the password is to surround it with single quotes (`'`). For example, if your actual password is `S!B\*d$zDsb`, you should execute the command this way: + +``` +kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb' +``` + You do not need to escape special characters in passwords from files (`--from-file`). {{< /note >}} @@ -794,14 +797,13 @@ kubectl create secret generic test-db-secret --from-literal=username=testuser -- secret "test-db-secret" created ``` {{< note >}} -Special characters such as `$`, `\*`, and `!` require escaping. -If the password you are using has special characters, you need to escape them using the `\\` character. For example, if your actual password is `S!B\*d$zDsb`, you should execute the command this way: +Special characters such as `$`, `\`, `*`, and `!` will be interpreted by your [shell](https://en.wikipedia.org/wiki/Shell_\(computing\)) and require escaping. In most common shells, the easiest way to escape the password is to surround it with single quotes (`'`). For example, if your actual password is `S!B\*d$zDsb`, you should execute the command this way: -```shell -kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password=S\\!B\\\*d\\$zDsb +``` +kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb' ``` -You do not need to escape special characters in passwords from files (`--from-file`). + You do not need to escape special characters in passwords from files (`--from-file`). {{< /note >}} Now make the pods: