@@ -181,17 +181,15 @@ def _refresh_certificate(self, certs_auto_enabled, hosts):
181181 elif data :
182182 self ._scheduler .certificate .delete (namespace , name )
183183
184- def _refresh_ingress (self , hosts , tls_map , ssl_redirect ):
184+ def _refresh_ingress (self , hosts , tls_map , ssl_redirect , appsettings ):
185185 ingress = namespace = self .id
186186 # Put Ingress
187187 kwargs = {
188188 "hosts" : hosts ,
189189 "tls" : [{"secretName" : k , "hosts" : v } for k , v in tls_map .items ()],
190- "ssl_redirect" : ssl_redirect
190+ "ssl_redirect" : ssl_redirect ,
191+ "allowlist" : appsettings .allowlist
191192 }
192- allowlist = self .appsettings_set .latest ().allowlist
193- if allowlist :
194- kwargs .update ({"allowlist" : allowlist })
195193 try :
196194 # In order to create an ingress, we must first have a namespace.
197195 if ingress == "" :
@@ -209,13 +207,13 @@ def _refresh_ingress(self, hosts, tls_map, ssl_redirect):
209207 except KubeException as e :
210208 raise ServiceUnavailable ('Could not create Ingress in Kubernetes' ) from e
211209
212- def refresh (self , app_settings = None ):
210+ def refresh (self , app_settings = None , tls = None ):
213211 if not getattr (self , 'refresh_enabled' , True ):
214212 return
215- app_settings = app_settings if not app_settings else self .appsettings_set .latest ()
213+ app_settings = app_settings if app_settings else self .appsettings_set .latest ()
216214 if not app_settings .routable :
217215 return
218- tls = self .tls_set .latest ()
216+ tls = tls if tls else self .tls_set .latest ()
219217 ssl_redirect = bool (tls .https_enforced )
220218 certs_auto_enabled = bool (tls .certs_auto_enabled )
221219 hosts , tls_map = [], defaultdict (list )
@@ -228,7 +226,7 @@ def refresh(self, app_settings=None):
228226 if certs_auto_enabled and not domain .domain .startswith ("*." ):
229227 secret_name = '%s-certificate-auto' % self .id
230228 tls_map [secret_name ].append (host )
231- self ._refresh_ingress (hosts , dict (tls_map ), ssl_redirect )
229+ self ._refresh_ingress (hosts , dict (tls_map ), ssl_redirect , app_settings )
232230 self ._refresh_certificate (certs_auto_enabled , hosts )
233231
234232 def log (self , message , level = logging .INFO ):
0 commit comments