@@ -36,7 +36,7 @@ def listjobs(self, project=None):
36
36
jobs = [self ._parse_job (j ) for j in jobs .items ]
37
37
return jobs
38
38
39
- def schedule (self , repository , project , version , spider , job_id , env_source , settings , args ):
39
+ def schedule (self , repository , project , version , spider , job_id , env_config , env_secret , settings , args ):
40
40
job_name = self ._k8s_job_name (project , job_id )
41
41
_settings = [i for s in settings for i in ['-s' , s ]]
42
42
_args = [i for a in args for i in ['-a' , a ]]
@@ -50,14 +50,21 @@ def schedule(self, repository, project, version, spider, job_id, env_source, set
50
50
self .LABEL_PROJECT : project ,
51
51
self .LABEL_SPIDER : spider ,
52
52
}
53
+ env_from = []
54
+ if env_config :
55
+ env_from .append (kubernetes .client .V1EnvFromSource (
56
+ config_map_ref = kubernetes .client .V1ConfigMapEnvSource (name = env_config , optional = False )
57
+ ))
58
+ if env_secret :
59
+ env_from .append (kubernetes .client .V1EnvFromSource (
60
+ secret_ref = kubernetes .client .V1SecretEnvSource (name = env_secret , optional = False )
61
+ ))
53
62
container = kubernetes .client .V1Container (
54
63
name = job_name ,
55
64
image = repository + ':' + version ,
56
65
args = ['scrapy' , 'crawl' , spider , * _args , * _settings ],
57
66
env = [kubernetes .client .V1EnvVar (k , v ) for k , v in env .items ()],
58
- env_from = [kubernetes .client .V1EnvFromSource (
59
- secret_ref = kubernetes .client .V1SecretEnvSource (name = env_source , optional = False )
60
- )] if env_source else None
67
+ env_from = env_from
61
68
)
62
69
pod_template = kubernetes .client .V1PodTemplateSpec (
63
70
metadata = kubernetes .client .V1ObjectMeta (name = job_name , labels = labels ),
0 commit comments