Google Secret Manager 秘密似乎不起作用,但我没有发现任何问题
Google Secret Manager secrets do not seem to work yet I can find nothing wrong
我使用记录的 CLI 方法创建了一堆秘密,如下所示:
echo "ak_prod_4kj56hv24hkjcg56hj2c34k5j3hbj3k124v5h243c" | gcloud secrets versions add some-api-key --data-file=-
我已将我的 YAML 设置为在启动时读取它们,这是有效的,因为如果没有配置任何值,我的应用程序代码将抛出异常。
spec:
template:
spec:
- image:
env:
- name: Some__ApiKey
valueFrom:
secretKeyRef:
key: "1"
name: some-api-key
但是我的代码不起作用。它在 Azure 上工作,所以这不是我的代码的问题。当我调用 API 时,我的密钥被拒绝了。配置了一个密钥,我的代码会检查它,此外,如果 Cloud 运行 无法读取它的秘密,它就会失败。
问题出在密文末尾白色space
不知何故引入了一个白色space字符。回顾我的 CLI 命令历史,它可能在 --data-file=-
之后尾随 whitespace
也许是 Google 示例中 " |
之间的 space。
Google 控制台 GUI 不会在引号中显示秘密值,因此几乎不可能告诉它已经发生。
一个星期就解决这个问题。一周。设计不当的代价 software/bad 示例代码。
实际上是 echo
。你需要 echo -n
.
echo -n "ak_prod_4kj56hv24hkjcg56hj2c34k5j3hbj3k124v5h243c" | gcloud secrets versions add some-api-key --data-file=-
我使用记录的 CLI 方法创建了一堆秘密,如下所示:
echo "ak_prod_4kj56hv24hkjcg56hj2c34k5j3hbj3k124v5h243c" | gcloud secrets versions add some-api-key --data-file=-
我已将我的 YAML 设置为在启动时读取它们,这是有效的,因为如果没有配置任何值,我的应用程序代码将抛出异常。
spec:
template:
spec:
- image:
env:
- name: Some__ApiKey
valueFrom:
secretKeyRef:
key: "1"
name: some-api-key
但是我的代码不起作用。它在 Azure 上工作,所以这不是我的代码的问题。当我调用 API 时,我的密钥被拒绝了。配置了一个密钥,我的代码会检查它,此外,如果 Cloud 运行 无法读取它的秘密,它就会失败。
问题出在密文末尾白色space
不知何故引入了一个白色space字符。回顾我的 CLI 命令历史,它可能在 --data-file=-
也许是 Google 示例中 " |
之间的 space。
Google 控制台 GUI 不会在引号中显示秘密值,因此几乎不可能告诉它已经发生。
一个星期就解决这个问题。一周。设计不当的代价 software/bad 示例代码。
实际上是 echo
。你需要 echo -n
.
echo -n "ak_prod_4kj56hv24hkjcg56hj2c34k5j3hbj3k124v5h243c" | gcloud secrets versions add some-api-key --data-file=-