@@ -108,29 +108,31 @@ def __init__(
108108 offline_mode_enabled : bool = False ,
109109 shard_id : Optional [str ] = None ,
110110 ):
111- self ._data_manager_runner = DataManagerRunner (
112- data_manager_url = sidecar_config .DATA_MANAGER_SERVICE_URL ,
113- data_manager_binary_path = sidecar_config .DATA_MANAGER_BINARY_PATH ,
114- data_manager_token = opal_client_config .CLIENT_TOKEN ,
115- data_manager_remote_backup_url = sidecar_config .DATA_MANAGER_REMOTE_BACKUP_URL ,
116- engine_token = sidecar_config .API_KEY ,
117- piped_logs_format = EngineLogFormat .FULL ,
118- )
119- policy_store = policy_store or DataManagerPolicyStoreClient (
120- data_manager_client = lambda : self ._data_manager_runner .client ,
121- opa_server_url = opal_client_config .POLICY_STORE_URL ,
122- opa_auth_token = opal_client_config .POLICY_STORE_AUTH_TOKEN ,
123- auth_type = opal_client_config .POLICY_STORE_AUTH_TYPE ,
124- oauth_client_id = opal_client_config .POLICY_STORE_AUTH_OAUTH_CLIENT_ID ,
125- oauth_client_secret = opal_client_config .POLICY_STORE_AUTH_OAUTH_CLIENT_SECRET ,
126- oauth_server = opal_client_config .POLICY_STORE_AUTH_OAUTH_SERVER ,
127- data_updater_enabled = opal_client_config .DATA_UPDATER_ENABLED ,
128- policy_updater_enabled = opal_client_config .POLICY_UPDATER_ENABLED ,
129- cache_policy_data = opal_client_config .OFFLINE_MODE_ENABLED ,
130- tls_client_cert = opal_client_config .POLICY_STORE_TLS_CLIENT_CERT ,
131- tls_client_key = opal_client_config .POLICY_STORE_TLS_CLIENT_KEY ,
132- tls_ca = opal_client_config .POLICY_STORE_TLS_CA ,
133- )
111+ self ._enable_external_data_manager = sidecar_config .ENABLE_EXTERNAL_DATA_MANAGER
112+ if self ._enable_external_data_manager :
113+ self ._data_manager_runner = DataManagerRunner (
114+ data_manager_url = sidecar_config .DATA_MANAGER_SERVICE_URL ,
115+ data_manager_binary_path = sidecar_config .DATA_MANAGER_BINARY_PATH ,
116+ data_manager_token = opal_client_config .CLIENT_TOKEN ,
117+ data_manager_remote_backup_url = sidecar_config .DATA_MANAGER_REMOTE_BACKUP_URL ,
118+ engine_token = sidecar_config .API_KEY ,
119+ piped_logs_format = EngineLogFormat .FULL ,
120+ )
121+ policy_store = policy_store or DataManagerPolicyStoreClient (
122+ data_manager_client = lambda : self ._data_manager_runner .client ,
123+ opa_server_url = opal_client_config .POLICY_STORE_URL ,
124+ opa_auth_token = opal_client_config .POLICY_STORE_AUTH_TOKEN ,
125+ auth_type = opal_client_config .POLICY_STORE_AUTH_TYPE ,
126+ oauth_client_id = opal_client_config .POLICY_STORE_AUTH_OAUTH_CLIENT_ID ,
127+ oauth_client_secret = opal_client_config .POLICY_STORE_AUTH_OAUTH_CLIENT_SECRET ,
128+ oauth_server = opal_client_config .POLICY_STORE_AUTH_OAUTH_SERVER ,
129+ data_updater_enabled = opal_client_config .DATA_UPDATER_ENABLED ,
130+ policy_updater_enabled = opal_client_config .POLICY_UPDATER_ENABLED ,
131+ cache_policy_data = opal_client_config .OFFLINE_MODE_ENABLED ,
132+ tls_client_cert = opal_client_config .POLICY_STORE_TLS_CLIENT_CERT ,
133+ tls_client_key = opal_client_config .POLICY_STORE_TLS_CLIENT_KEY ,
134+ tls_ca = opal_client_config .POLICY_STORE_TLS_CA ,
135+ )
134136 super ().__init__ (
135137 policy_store_type = policy_store_type ,
136138 policy_store = policy_store ,
@@ -168,29 +170,40 @@ async def stop_data_manager_runner(self):
168170 await self ._data_manager_runner .stop ()
169171
170172 async def check_healthy (self ) -> bool :
171- opal_health = await super ().check_healthy ()
172- if not opal_health :
173+ try :
174+ opal_health = await super ().check_healthy ()
175+ if not opal_health :
176+ return False
177+ if self ._enable_external_data_manager :
178+ return await self ._data_manager_runner .is_healthy ()
179+ except Exception as e :
180+ logger .exception ("Error checking health: {e}" , e = e )
173181 return False
174- return await self ._data_manager_runner .is_healthy ()
182+ else :
183+ return True
175184
176185 async def check_ready (self ) -> bool :
177- opal_ready = await super ().check_ready ()
178- if not opal_ready :
186+ try :
187+ opal_ready = await super ().check_ready ()
188+ if not opal_ready :
189+ return False
190+ if self ._enable_external_data_manager :
191+ return await self ._data_manager_runner .is_ready ()
192+ except Exception as e :
193+ logger .exception ("Error checking ready: {e}" , e = e )
179194 return False
180- return await self ._data_manager_runner .is_ready ()
195+ else :
196+ return True
181197
182- async def start_client_background_tasks (
183- self ,
184- * ,
185- data_manager_runner_enabled : bool = sidecar_config .ENABLE_EXTERNAL_DATA_MANAGER
186- ):
198+ async def start_client_background_tasks (self ):
187199 tasks = [super ().start_client_background_tasks ()]
188- if data_manager_runner_enabled :
200+ if self . _enable_external_data_manager :
189201 logger .info ("Starting Data Manager runner" )
190202 tasks .append (self .start_data_manager_runner ())
191203 await asyncio .gather (* tasks )
192204
193205 async def stop_client_background_tasks (self ):
194206 """stops all background tasks (called on shutdown event)"""
195207 await super ().stop_client_background_tasks ()
196- await self .stop_data_manager_runner ()
208+ if self ._enable_external_data_manager :
209+ await self .stop_data_manager_runner ()
0 commit comments