Skip to content

Commit

Permalink
fix: [sc-118962] Unable to Retrieve TLS Parameters from Kubernetes Se…
Browse files Browse the repository at this point in the history
…crets with the Postgres Collector (#1724)

* use Data instead of StringData
  • Loading branch information
nvanthao authored Jan 28, 2025
1 parent b9d49d9 commit fa5365c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
12 changes: 6 additions & 6 deletions pkg/collect/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
7 changes: 6 additions & 1 deletion pkg/collect/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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{},
)
Expand Down

0 comments on commit fa5365c

Please sign in to comment.