仅当秘密不存在时才创建,否则使用现有的秘密

问题描述 投票:0回答:1

我正在尝试创建一个秘密,仅当它不存在时才需要创建,或者当我这样做时分配现有的秘密

helm upgrade
。我尝试了下面的代码

apiVersion: v1
kind: Secret
metadata:
  name: "{{.Release.Namespace}}-mongodb-secret"
type: Opaque
data:  
  {{- $secretObj := (lookup "v1" "Secret" .Release.Namespace "{{.Release.Namespace}}-mongodb-secret") | default dict }}
  {{- $secretData := (get $secretObj "data") | default dict }}    
  {{- $mongodbpasswords := (get $secretData "mongodb-passwords") | default (randAlphaNum 8 | b64enc) }}
  mongodb-passwords: {{ $mongodbpasswords | quote }}
  {{- $mongodbrootpassword := (get $secretData "mongodb-root-password") | default (randAlphaNum 8 | b64enc) }}
  mongodb-root-password: {{ $mongodbrootpassword | quote }}

第一次它运行良好,即它创建了这些密码。当我这样做时

helm upgrade
我希望它不会创建一组新的密码,即不更改密码,但它会再次创建。我在这里缺少什么。

kubernetes-helm
1个回答
0
投票

您的

$secretObj
作业具有嵌入式 Helm 命令。试试这个:

{{- $secretObj := (lookup "v1" "Secret" .Release.Namespace (printf "%s-mongodb-secret" .Release.Namespace)) | default dict }}
© www.soinside.com 2019 - 2024. All rights reserved.