
                         V    S SK r S SKJr  SSKJr  SrSrSrSrS	 r	 " S
 S\
5      rS rg)    N)Configuration   )ConfigExceptionKUBERNETES_SERVICE_HOSTKUBERNETES_SERVICE_PORTz3/var/run/secrets/kubernetes.io/serviceaccount/tokenz4/var/run/secrets/kubernetes.io/serviceaccount/ca.crtc                 F    SnSU ;   =(       d    SU ;   nU(       a  SnX U4-  $ )z!Adapted golang's net.JoinHostPortz%s:%s:%z[%s]:%s )hostporttemplatehost_requires_bracketings       5lib/third_party/kubernetes/config/incluster_config.py_join_host_portr      s/    ( D[7C4KH	4L	      c                   F    \ rS rSr\R
                  4S jrS rS rS r	Sr
g)InClusterConfigLoader&   c                 (    Xl         X l        X0l        g N)_token_filename_cert_filename_environ)selftoken_filenamecert_filenameenvirons       r   __init__InClusterConfigLoader.__init__(   s    )'Mr   c                 D    U R                  5         U R                  5         g r   )_load_config_set_config)r   s    r   load_and_set"InClusterConfigLoader.load_and_set-   s    r   c                    [         U R                  ;  d  [        U R                  ;  a  [        S5      eU R                  [            (       a  U R                  [           (       d  [        S5      eS[	        U R                  [            U R                  [           5      -   U l        [        R                  R                  U R                  5      (       d  [        S5      e[        U R                  5       nUR                  5       U l        U R                  (       d  [        S5      e S S S 5        [        R                  R                  U R                  5      (       d  [        S5      e[        U R                  5       nUR                  5       (       d  [        S5      e S S S 5        U R                  U l        g ! , (       d  f       N= f! , (       d  f       N1= f)NzService host/port is not set.z#Service host/port is set but empty.zhttps://z#Service token file does not exists.zToken file exists but empty.z+Service certification file does not exists.zCert file exists but empty.)SERVICE_HOST_ENV_NAMEr   SERVICE_PORT_ENV_NAMEr   r   r   ospathisfiler   openreadtokenr   ssl_ca_cert)r   fs     r   r"   "InClusterConfigLoader._load_config1   sV   T]]2T]]2;<<MM/0MM/0ABB /D!E!%/D!EGGDI 77>>$..//ABB	d""	#q668djZZ<==  
$
 77>>$--..IJJ	d!!	"aVVXX;<<  
# **D 
$	# 
#	"s   32F8<!G	8
G	
Gc                     [        5       nU R                  Ul        U R                  Ul        SU R                  -   UR                  S'   [         R
                  " U5        g )Nzbearer authorization)r   r   r/   r.   api_keyset_default)r   configurations     r   r#   !InClusterConfigLoader._set_configO   sJ    !OMM $ 0 0M-6-CM/*m,r   )r   r   r   r   r/   r.   N)__name__
__module____qualname____firstlineno__r)   r   r   r$   r"   r#   __static_attributes__r   r   r   r   r   &   s    <>JJ 
+<-r   r   c                  D    [        [        [        S9R                  5         g)a	  
Use the service account kubernetes gives to pods to connect to kubernetes
cluster. It's intended for clients that expect to be running inside a pod
running on kubernetes. It will raise an exception if called from a process
not running in a kubernetes environment.
)r   r   N)r   SERVICE_TOKEN_FILENAMESERVICE_CERT_FILENAMEr$   r   r   r   load_incluster_configr@   W   s     +)++7<>r   )r)   kubernetes.clientr   config_exceptionr   r'   r(   r>   r?   r   objectr   r@   r   r   r   <module>rD      s?   " 
 + -1 1 N N !.-F .-b	:r   