@@ -61,23 +61,26 @@ object KubernetesContainer {
61
61
memory : ByteSize = 256 .MB ,
62
62
environment : Map [String , String ] = Map .empty,
63
63
labels : Map [String , String ] = Map .empty,
64
- resourceTags : Option [List [String ]] = None )(implicit kubernetes : KubernetesApi ,
65
- ec : ExecutionContext ,
66
- log : Logging ): Future [KubernetesContainer ] = {
64
+ resourceTags : Option [List [String ]] = None ,
65
+ imagePullSecret : Option [String ] = None )(implicit kubernetes : KubernetesApi ,
66
+ ec : ExecutionContext ,
67
+ log : Logging ): Future [KubernetesContainer ] = {
67
68
implicit val tid = transid
68
69
69
70
// Kubernetes naming rule allows maximum length of 63 character and ended with character only.
70
71
val origName = name.replace(" _" , " -" ).replaceAll(" [()]" , " " ).toLowerCase.take(63 )
71
72
val podName = if (origName.endsWith(" -" )) origName.reverse.dropWhile(_ == '-' ).reverse else origName
72
73
73
74
for {
74
- container <- kubernetes.run(podName, image, memory, environment, labels, resourceTags).recoverWith {
75
- case e : KubernetesPodApiException =>
76
- // apiserver call failed - this will expose a different error to users
77
- cleanupFailedPod(e, podName, WhiskContainerStartupError (Messages .resourceProvisionError))
78
- case e : Throwable =>
79
- cleanupFailedPod(e, podName, WhiskContainerStartupError (s " Failed to run container with image ' ${image}'. " ))
80
- }
75
+ container <- kubernetes
76
+ .run(podName, image, memory, environment, labels, resourceTags, imagePullSecret)
77
+ .recoverWith {
78
+ case e : KubernetesPodApiException =>
79
+ // apiserver call failed - this will expose a different error to users
80
+ cleanupFailedPod(e, podName, WhiskContainerStartupError (Messages .resourceProvisionError))
81
+ case e : Throwable =>
82
+ cleanupFailedPod(e, podName, WhiskContainerStartupError (s " Failed to run container with image ' ${image}'. " ))
83
+ }
81
84
} yield container
82
85
}
83
86
private def cleanupFailedPod (e : Throwable , podName : String , failureCause : Exception )(
0 commit comments