@@ -2851,18 +2851,26 @@ func TestReconcile_TLSAndCertSecretVolumeNameSanitization(t *testing.T) {
28512851 podSpec := deployment .Spec .Template .Spec
28522852 container := podSpec .Containers [0 ]
28532853
2854- if ! podHasSecretVolume (podSpec , "tls-my-tls-secret" , "my.tls.secret" ) {
2855- t .Fatalf ("expected sanitized TLS volume name for dotted secret, got %+v" , podSpec .Volumes )
2854+ tlsVolumeName := secretVolumeName (podSpec , "my.tls.secret" )
2855+ if tlsVolumeName == "" {
2856+ t .Fatalf ("expected TLS volume for dotted secret, got %+v" , podSpec .Volumes )
28562857 }
2857- if ! containerHasVolumeMount (container , "tls-my-tls-secret" , "/etc/ssl/certs/coder/my.tls.secret" ) {
2858- t .Fatalf ("expected sanitized TLS volume mount name for dotted secret, got %+v" , container .VolumeMounts )
2858+ if ! strings .HasPrefix (tlsVolumeName , "tls-my-tls-secret" ) {
2859+ t .Fatalf ("expected TLS volume name to start with %q, got %q" , "tls-my-tls-secret" , tlsVolumeName )
2860+ }
2861+ if ! containerHasVolumeMount (container , tlsVolumeName , "/etc/ssl/certs/coder/my.tls.secret" ) {
2862+ t .Fatalf ("expected TLS volume mount name %q for dotted secret, got %+v" , tlsVolumeName , container .VolumeMounts )
28592863 }
28602864
2861- if ! podHasSecretVolume (podSpec , "ca-cert-extra-ca-secret" , "extra.ca.secret" ) {
2862- t .Fatalf ("expected sanitized cert volume name for dotted secret, got %+v" , podSpec .Volumes )
2865+ certVolumeName := secretVolumeName (podSpec , "extra.ca.secret" )
2866+ if certVolumeName == "" {
2867+ t .Fatalf ("expected cert volume for dotted secret, got %+v" , podSpec .Volumes )
2868+ }
2869+ if ! strings .HasPrefix (certVolumeName , "ca-cert-extra-ca-secret" ) {
2870+ t .Fatalf ("expected cert volume name to start with %q, got %q" , "ca-cert-extra-ca-secret" , certVolumeName )
28632871 }
2864- if ! containerHasVolumeMount (container , "ca-cert-extra-ca-secret" , "/etc/ssl/certs/extra.ca.secret.crt" ) {
2865- t .Fatalf ("expected sanitized cert volume mount name for dotted secret, got %+v" , container .VolumeMounts )
2872+ if ! containerHasVolumeMount (container , certVolumeName , "/etc/ssl/certs/extra.ca.secret.crt" ) {
2873+ t .Fatalf ("expected cert volume mount name %q for dotted secret, got %+v" , certVolumeName , container .VolumeMounts )
28662874 }
28672875}
28682876
@@ -3353,6 +3361,18 @@ func podHasSecretVolume(podSpec corev1.PodSpec, volumeName, secretName string) b
33533361 return false
33543362}
33553363
3364+ func secretVolumeName (podSpec corev1.PodSpec , secretName string ) string {
3365+ for _ , volume := range podSpec .Volumes {
3366+ if volume .Secret == nil {
3367+ continue
3368+ }
3369+ if volume .Secret .SecretName == secretName {
3370+ return volume .Name
3371+ }
3372+ }
3373+ return ""
3374+ }
3375+
33563376func podHasVolume (podSpec corev1.PodSpec , volumeName string ) bool {
33573377 for _ , volume := range podSpec .Volumes {
33583378 if volume .Name == volumeName {
0 commit comments