@@ -221,34 +221,44 @@ def _set_container(self, namespace, container_name, data, **kwargs):
221221 for key in env .keys ():
222222 item = {
223223 "name" : key ,
224- "valueFrom" : {
225- "secretKeyRef" : {
226- "name" : secret_name ,
227- # k8s doesn't allow _ so translate to -, see above
228- "key" : key .lower ().replace ('_' , '-' )
229- }
230- }
224+ "valueFrom" : {"secretKeyRef" : {
225+ "name" : secret_name ,
226+ # k8s doesn't allow _ so translate to -, see above
227+ "key" : key .lower ().replace ('_' , '-' )
228+ }}
231229 }
232-
233230 # add value to env hash. Overwrite hardcoded values if need be
234231 match = next ((k for k , e in enumerate (data ["env" ]) if e ['name' ] == key ), None )
235232 if match is not None :
236233 data ["env" ][match ] = item
237234 else :
238235 data ["env" ].append (item )
239-
240- # Inject debugging if workflow is in debug mode
241- if os .environ .get ("DRYCC_DEBUG" , False ):
242- data ["env" ].append ({
243- "name" : "DRYCC_DEBUG" ,
244- "value" : "1"
245- })
246-
236+ # set container default env
237+ self ._set_container_default_env (data )
247238 # list sorted by dict key name
248239 data ['env' ].sort (key = operator .itemgetter ('name' ))
249240 self ._set_health_checks (data , env , ** kwargs )
250241 self ._set_lifecycle_hooks (data , env , ** kwargs )
251242
243+ def _set_container_default_env (self , data ):
244+ # set fields env
245+ fields = {"CONTAINER_IP" : "status.podIP" }
246+ for key , value in fields .items ():
247+ item = {
248+ "name" : key ,
249+ "valueFrom" : {"fieldRef" : {"fieldPath" : value }}
250+ }
251+ # add value to env hash. Overwrite hardcoded values if need be
252+ match = next ((k for k , e in enumerate (data ["env" ]) if e ['name' ] == key ), None )
253+ if match is not None :
254+ data ["env" ][match ] = item
255+ else :
256+ data ["env" ].append (item )
257+ # Inject debugging if workflow is in debug mode
258+ if os .environ .get ("DRYCC_DEBUG" , False ):
259+ data ["env" ].append ({"name" : "DRYCC_DEBUG" , "value" : "1" })
260+ return data
261+
252262 @staticmethod
253263 def _get_termination_grace_period (kwargs ):
254264 """ return termination grace period """
0 commit comments