
    6Ii/                        S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  \" \R4                  R7                  SS5      5      r\R4                  R7                  SS5      S:H  r\R<                  R                   R?                  5         \ R@                  " \!5      r"S r#SS jr$S r%\%r%g)    N)&provision_deduplication_rules_from_env)	AUTH_TYPE)
migrate_dbtry_create_single_tenant)SINGLE_TENANT_UUID)TenantConfiguration)provision_dashboards)IdentityManagerTypes)ProvidersFactory)ProvidersService)WorkflowStorePORTi  PROVISION_RESOURCEStruec                     [         (       a  [        R                  S5        [        R                  S5        [        R                  " [
        5        [        R                  S5        [        R                  " [
        5        [        R                  S5        [        [
        5        [        R                  S5        [        R                  S5        [        [
        5        [        R                  S5        g [        R                  S5        g )	NzLoading providers into cachez$Provisioning providers and workflowszProviders loaded successfullyz"Workflows provisioned successfullyz#Dashboards provisioned successfullyz Provisioning deduplication rulesz,Deduplication rules provisioned successfullyz"Provisioning resources is disabled)
r   loggerinfor   provision_providersr   r   provision_workflowsr	   r        5/venv/lib/python3.13/site-packages/keep/api/config.pyprovision_resourcesr      s    23:;,,-?@34))*<=89/09:67./ABBC89r   c                    [         R                  S5        [        5         [        R                  " 5         [        5         [        [        R                  R                  [        R                  R                  [        R                  R                  [        R                  R                  SS4;   aN  [        R                  R                  [        R                  R                  /n[        [        [        U;   a  SOSS9  [        5         [         R"                  R%                  SS5      S	:X  a  S
SKJn  S
SKJn  U" [         R"                  R%                  SS5      S9nUR/                  [0        U[         R"                  R%                  SS5      S9nUR2                  n[         R                  SU 35        U[         R"                  S'   [         R                  S5        g)z=This function is called by the gunicorn server when it startszKeep server startingno_authsingle_tenantFT)create_default_user	USE_NGROKfalser   r   )ngrok)PyngrokConfigNGROK_AUTH_TOKENN)
auth_tokenNGROK_DOMAIN)pyngrok_configdomainzngrok tunnel: KEEP_API_URLzKeep server started)r   r   r   r   get_all_providersr   r   r
   DBvalueNOAUTHOAUTH2PROXYONELOGINr   r   r   osenvirongetpyngrokr    pyngrok.confr!   connectr   
public_url)serverexcluded_from_default_userr    r!   ngrok_configngrok_connectionr4   s          r   on_startingr9   +   sf   
KK&'L
 &&( %%##))((..%%++  !,,22 ))//&
"
 	!"&@@d	
 	zz~~k7+v5!.$zz~~&8$?

 !=='::>>.$7 ) 

 &00
nZL12%/

>"
KK%&r   c                     [        S5        / [        R                  " 5       l        [        R
                  R                  R                  5         [        S5        g )NzInit logging in workerzLogging initialized in worker)printlogging	getLoggerhandlerskeepapisetup_logging)workers    r   post_worker_initrC   d   s;    	
"##%G HH""$	
)*r   )N)&r<   r.   keep.api.loggingr?   <keep.api.alert_deduplicator.deduplication_rules_provisioningr   keep.api.apir   keep.api.core.db_on_startr   r   keep.api.core.dependenciesr   "keep.api.core.tenant_configurationr   keep.api.routes.dashboardr	   +keep.identitymanager.identitymanagerfactoryr
    keep.providers.providers_factoryr    keep.providers.providers_servicer   "keep.workflowmanager.workflowstorer   intr/   r0   r   r   r@   rA   r=   __name__r   r   r9   rC   r   r   r   <module>rQ      s     	  # J 9 B : L = = <
2::>>&$'(jjnn%:FCvM        			8	$:$6'r+ $ r   