@@ -138,6 +138,15 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
138138 },
139139 Type : corev1 .SecretTypeDockerConfigJson ,
140140 },
141+ {
142+ ObjectMeta : metav1.ObjectMeta {
143+ Name : "blob-secret" ,
144+ Annotations : map [string ]string {
145+ buildapi .BlobSecretAnnotationPrefix : "blobstore.com" ,
146+ },
147+ },
148+ Type : corev1 .SecretTypeOpaque ,
149+ },
141150 {
142151 ObjectMeta : metav1.ObjectMeta {
143152 Name : "secret-to-ignore" ,
@@ -273,9 +282,9 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
273282 ServiceAccountName : serviceAccount ,
274283 Source : corev1alpha1.SourceConfig {
275284 Git : & corev1alpha1.Git {
276- URL : "giturl.com/git.git" ,
277- Revision : "gitrev1234" ,
278- InitializeSubmodules : true ,
285+ URL : "giturl.com/git.git" ,
286+ Revision : "gitrev1234" ,
287+ InitializeSubmodules : true ,
279288 },
280289 },
281290 Cache : & buildapi.BuildCacheConfig {
@@ -580,6 +589,65 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
580589
581590 })
582591
592+ it ("configures prepare with blob credentials when using secret" , func () {
593+ build .Spec .Source = corev1alpha1.SourceConfig {
594+ Blob : & corev1alpha1.Blob {
595+ URL : "blobstore.com/source" ,
596+ Auth : "secret" ,
597+ },
598+ }
599+
600+ pod , err := build .BuildPod (config , buildContext )
601+ require .NoError (t , err )
602+
603+ assert .Equal (t , pod .Spec .InitContainers [0 ].Name , "prepare" )
604+ assert .Equal (t , pod .Spec .InitContainers [0 ].Image , config .BuildInitImage )
605+
606+ assert .Contains (t , pod .Spec .InitContainers [0 ].Args , "-blob=blob-secret=blobstore.com" )
607+ assert .Contains (t , pod .Spec .InitContainers [0 ].VolumeMounts ,
608+ corev1.VolumeMount {
609+ Name : "secret-volume-7" ,
610+ MountPath : "/var/build-secrets/blob-secret" ,
611+ },
612+ )
613+ assert .Contains (t , pod .Spec .InitContainers [0 ].Env ,
614+ corev1.EnvVar {
615+ Name : "BLOB_AUTH" ,
616+ Value : "true" ,
617+ },
618+ )
619+ })
620+
621+ it ("configures prepare with blob credentials when using helper" , func () {
622+ build .Spec .Source = corev1alpha1.SourceConfig {
623+ Blob : & corev1alpha1.Blob {
624+ URL : "blobstore.com/source" ,
625+ Auth : "helper" ,
626+ },
627+ }
628+
629+ pod , err := build .BuildPod (config , buildContext )
630+ require .NoError (t , err )
631+
632+ assert .Equal (t , pod .Spec .InitContainers [0 ].Name , "prepare" )
633+ assert .Equal (t , pod .Spec .InitContainers [0 ].Image , config .BuildInitImage )
634+
635+ assert .NotContains (t , pod .Spec .InitContainers [0 ].Args , "-blob=blob-secret=blobstore.com" )
636+ assert .NotContains (t , pod .Spec .InitContainers [0 ].VolumeMounts ,
637+ corev1.VolumeMount {
638+ Name : "secret-volume-7" ,
639+ MountPath : "/var/build-secrets/blob-secret" ,
640+ },
641+ )
642+
643+ assert .Contains (t , pod .Spec .InitContainers [0 ].Env ,
644+ corev1.EnvVar {
645+ Name : "BLOB_AUTH" ,
646+ Value : "true" ,
647+ },
648+ )
649+ })
650+
583651 it ("configures prepare with the build configuration" , func () {
584652 pod , err := build .BuildPod (config , buildContext )
585653 require .NoError (t , err )
@@ -1464,15 +1532,15 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
14641532 assertSecretPresent (t , pod , secretName )
14651533 }
14661534 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1467- Name : "secret-volume-8 " ,
1535+ Name : "secret-volume-9 " ,
14681536 MountPath : "/var/build-secrets/cosign/cosign-secret-1" ,
14691537 })
14701538 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1471- Name : "secret-volume-9 " ,
1539+ Name : "secret-volume-10 " ,
14721540 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-1" ,
14731541 })
14741542 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1475- Name : "secret-volume-10 " ,
1543+ Name : "secret-volume-11 " ,
14761544 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-2" ,
14771545 })
14781546
@@ -1674,15 +1742,15 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
16741742 assertSecretPresent (t , pod , secretName )
16751743 }
16761744 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1677- Name : "secret-volume-8 " ,
1745+ Name : "secret-volume-9 " ,
16781746 MountPath : "/var/build-secrets/cosign/cosign-secret-1" ,
16791747 })
16801748 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1681- Name : "secret-volume-9 " ,
1749+ Name : "secret-volume-10 " ,
16821750 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-1" ,
16831751 })
16841752 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1685- Name : "secret-volume-10 " ,
1753+ Name : "secret-volume-11 " ,
16861754 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-2" ,
16871755 })
16881756 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
@@ -1797,15 +1865,15 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
17971865 assertSecretPresent (t , pod , secretName )
17981866 }
17991867 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1800- Name : "secret-volume-8 " ,
1868+ Name : "secret-volume-9 " ,
18011869 MountPath : "/var/build-secrets/cosign/cosign-secret-1" ,
18021870 })
18031871 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1804- Name : "secret-volume-9 " ,
1872+ Name : "secret-volume-10 " ,
18051873 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-1" ,
18061874 })
18071875 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1808- Name : "secret-volume-10 " ,
1876+ Name : "secret-volume-11 " ,
18091877 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-2" ,
18101878 })
18111879
@@ -1964,15 +2032,15 @@ func testBuildPod(t *testing.T, when spec.G, it spec.S) {
19642032 assertSecretPresent (t , pod , secretName )
19652033 }
19662034 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1967- Name : "secret-volume-8 " ,
2035+ Name : "secret-volume-9 " ,
19682036 MountPath : "/var/build-secrets/cosign/cosign-secret-1" ,
19692037 })
19702038 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1971- Name : "secret-volume-9 " ,
2039+ Name : "secret-volume-10 " ,
19722040 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-1" ,
19732041 })
19742042 require .Contains (t , pod .Spec .Containers [0 ].VolumeMounts , corev1.VolumeMount {
1975- Name : "secret-volume-10 " ,
2043+ Name : "secret-volume-11 " ,
19762044 MountPath : "/var/build-secrets/cosign/cosign-secret-no-password-2" ,
19772045 })
19782046
0 commit comments