fix: [sc-118962] Unable to Retrieve TLS Parameters from Kubernetes Secrets with the Postgres Collector (#1724)

* use Data instead of StringData
This commit is contained in:
Gerard Nguyen
2025-01-28 21:39:39 +11:00
committed by GitHub
parent b9d49d97b6
commit fa5365cfae
2 changed files with 12 additions and 7 deletions

View File

@@ -208,20 +208,20 @@ func getTLSParamsFromSecret(ctx context.Context, client kubernetes.Interface, se
return "", "", "", errors.Wrap(err, "failed to get secret")
}
if val, ok := secret.StringData["cacert"]; ok {
caCert = val
if val, ok := secret.Data["cacert"]; ok {
caCert = string(val)
} else {
return "", "", "", fmt.Errorf("failed to find 'cacert' key for CA cert data in secret")
}
var foundClientCert, foundClientKey bool
if val, ok := secret.StringData["clientCert"]; ok {
clientCert = val
if val, ok := secret.Data["clientCert"]; ok {
clientCert = string(val)
foundClientCert = true
}
if val, ok := secret.StringData["clientKey"]; ok {
clientKey = val
if val, ok := secret.Data["clientKey"]; ok {
clientKey = string(val)
foundClientKey = true
}

View File

@@ -270,13 +270,18 @@ func createTLSSecret(t *testing.T, client kubernetes.Interface, secretData map[s
secretName := "secret-name-" + randStringRunes(20)
namespace := "namespace-" + randStringRunes(20)
data := make(map[string][]byte)
for k, v := range secretData {
data[k] = []byte(v)
}
_, err := client.CoreV1().Secrets(namespace).Create(
context.Background(),
&v1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
},
StringData: secretData,
Data: data,
},
metav1.CreateOptions{},
)