feat: add volumes projected detection

Signed-off-by: Manuel Morejon <manuel@mmorejon.io>
This commit is contained in:
Manuel Morejon
2023-08-11 02:29:32 +02:00
parent 91c3422597
commit 9b4d8eb292
4 changed files with 80 additions and 10 deletions

View File

@@ -7,12 +7,26 @@ func AreVolumesUsingSecrets(volumes []corev1.Volume, secrets map[string]*corev1.
if secret := volumes[i].Secret; secret != nil {
secretName := secret.SecretName
_, ok := secrets[secretName]
if ok {
return true
if !ok {
return false
}
}
if volumes[i].Projected != nil {
for j := 0; j < len(volumes[i].Projected.Sources); j++ {
if secret := volumes[i].Projected.Sources[j].Secret; secret != nil {
secretName := secret.Name
_, ok := secrets[secretName]
if !ok {
return false
}
}
}
}
}
return false
if len(volumes) == 0 {
return false
}
return true
}
func AppendUpdatedVolumeSecrets(volumes []corev1.Volume, secrets map[string]*corev1.Secret, updatedDeploymentSecrets map[string]*corev1.Secret) map[string]*corev1.Secret {
@@ -24,6 +38,17 @@ func AppendUpdatedVolumeSecrets(volumes []corev1.Volume, secrets map[string]*cor
updatedDeploymentSecrets[secret.Name] = secret
}
}
if volumes[i].Projected != nil {
for j := 0; j < len(volumes[i].Projected.Sources); j++ {
if secret := volumes[i].Projected.Sources[j].Secret; secret != nil {
secretName := secret.Name
secret, ok := secrets[secretName]
if ok {
updatedDeploymentSecrets[secret.Name] = secret
}
}
}
}
}
return updatedDeploymentSecrets
}