1
0
mirror of https://github.com/ribbybibby/ssl_exporter.git synced 2025-07-15 23:54:18 +02:00

Use FieldSelector to select only tls secrets (#82)

This speeds up the listing of certs significatnyly in clusters with many secrets.
This commit is contained in:
Vegar Sechmann Molvig
2021-12-23 14:18:24 +01:00
committed by GitHub
parent 0b960631e6
commit a8dcb43b44

View File

@ -44,23 +44,21 @@ func probeKubernetes(ctx context.Context, target string, module config.Module, r
name := parts[1] name := parts[1]
var tlsSecrets []v1.Secret var tlsSecrets []v1.Secret
secrets, err := client.CoreV1().Secrets("").List(ctx, metav1.ListOptions{}) secrets, err := client.CoreV1().Secrets("").List(ctx, metav1.ListOptions{FieldSelector: "type=kubernetes.io/tls"})
if err != nil { if err != nil {
return err return err
} }
for _, secret := range secrets.Items { for _, secret := range secrets.Items {
if secret.Type == "kubernetes.io/tls" { nMatch, err := doublestar.Match(ns, secret.Namespace)
nMatch, err := doublestar.Match(ns, secret.Namespace) if err != nil {
if err != nil { return err
return err }
} sMatch, err := doublestar.Match(name, secret.Name)
sMatch, err := doublestar.Match(name, secret.Name) if err != nil {
if err != nil { return err
return err }
} if nMatch && sMatch {
if nMatch && sMatch { tlsSecrets = append(tlsSecrets, secret)
tlsSecrets = append(tlsSecrets, secret)
}
} }
} }