#@ load("@ytt:data", "data")
#@ load("@ytt:base64", "base64")
apiVersion: v1
kind: Secret
metadata:
  name:  prometheus-secrets
  namespace: #@ data.values.namespace
data:
  #@yaml/text-templated-strings
  #@ for gerrit in data.values.gerritServers.kubernetes:
  .pwd_(@= gerrit.namespace @): #@ base64.encode(gerrit.password)
  #@ end
  #@yaml/text-templated-strings
  #@ for gerrit in data.values.gerritServers.other:
  .pwd_(@= gerrit.host @): #@ base64.encode(gerrit.password)
  #@ end
  #@yaml/text-templated-strings
  #@ for prometheus in data.values.gerritServers.federatedPrometheus:
  .pwd_(@= prometheus.host @): #@ base64.encode(prometheus.password)
  #@ end

  #@ if not data.values.tls.skipVerify:
  server.ca.crt: #@ base64.encode(data.values.tls.caCert)
  server.crt: #@ base64.encode(data.values.monitoring.prometheus.server.tls.cert)
  server.key: #@ base64.encode(data.values.monitoring.prometheus.server.tls.key)
  #@ end
type: Opaque
