У меня проблемы с зашифрованными значениями в кодировке base64, которые я использую в Google Deployment Manager через объявления ресурсов runtimeconfig.v1beta1.config.
После выполнения развертывания значение, которое я сохранил с помощью диспетчера развертывания, будет сильно отличаться от того, что я получил с помощью конфигураций времени выполнения бета-версии gcloud. В результате я не могу расшифровать значение.
Сначала я зашифровал и закодировал в base64 какой-то секретный текст:
$ echo "secret"|gcloud kms encrypt --key my-crypto-key \
--keyring my-keyring --location australia-southeast1 \
--plaintext-file - --ciphertext-file - | base64 -w0
CiQAsOSNmVXBs2ayUjRePnE5+Oi5dUPuVvjn6UKKUXgxMTA56koSMABDkVUGnXlocFgdUEsQ5qLCF3PVIz5zit+ZCSXjSvNzEAO5XRv6WBRkxBJMjVcheg==
Что я затем сохраняю в файле YAML диспетчера развертывания:
resources:
- name: my-config
type: runtimeconfig.v1beta1.config
properties:
config: my-config
description: "A demo configuration"
- name: dummy-secret
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.my-config.name)
variable: 'dummy/secret'
value: "CiQAsOSNmVXBs2ayUjRePnE5+Oi5dUPuVvjn6UKKUXgxMTA56koSMABDkVUGnXlocFgdUEsQ5qLCF3PVIz5zit+ZCSXjSvNzEAO5XRv6WBRkxBJMjVcheg=="
Затем я создаю развертывание (которое завершается без ошибок и предупреждений):
$ gcloud deployment-manager deployments create my-config \
--config my-config.yaml
Но когда я пытаюсь извлечь значение переменной, оно полностью отличается от того, что я сохранил:
$ gcloud beta runtime-config configs variables \
get-value 'dummy/secret' --config-name my-config|base64 -w0
CiQAPz8/P1U/P2Y/UjRePnE5Pz8/dUM/Vj8/P0I/UXgxMTA5P0oSMABDP1UGP3locFgdUEsQPz8/F3M/Iz5zPz8/CSU/Sj9zEAM/XRs/WBRkPxJMP1cheg==
Это можно повторить / воспроизвести, и я понятия не имею, что я делаю не так. У меня нет этой проблемы с использованием gcloud beta runtime-config variables set
, за которым следует get-value
.