D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
lib
/
panopta-agent
/
library
/
Filename :
container_discovery.pyc
back
Copy
� fK�cc @ sk d d l Z d d l Z d d l Z d d l m Z m Z e j d � Z d � Z e d � Z d � Z d S( i����N( t UnixHTTPConnectiont json_loadst Containersc C sf t j j d � s d Sy7 t d � } | j d d d i d d 6�| j � Wn t k ra d SXd S( Ns /var/run/docker.socks no-dockert GETs /containers/jsont headerst localhostt Hosts no-permissiont success( t ost patht existsR t requestt getresponset Exception( t conn( ( s5 /usr/lib/panopta-agent/library/container_discovery.pyt check_access s c C s� t d � } | j d d d i d d 6�| j � j � } t | � } t | � sW g Si } | j d � r� | j d � } x0 | D]% \ } } | j | g � j | � q� Wn g } x�| D]�} | d d } | d } | j | � } | r| d k rq� n | rK| rK| d | d k } | j | � | rBt | d <n | } nFd | d <| d } g } | | k r�| j | | � n | | d <i } x� d g | D]� } y� | j j | � } | s�t j d | � w�n | j | | j j | i � � p�i } t j d | t | j � � | � t | d | j � } | | f | | <Wq�t k r�t j � d \ } } t j | � q�q�Xq�W| | d <| j | � q� W| S( Ns /var/run/docker.sockR s /containers/json?all=trueR R R t docker_image_mappingt Idi t Statet runningt updatedt dockert container_platformt Imaget applicationss# Unknown/unloaded docker plugin '%s's Container %s: %d textkeys for %st labeli t app_metadata( R R R t readR t lent has_sectiont itemst setdefaultt appendt gett updatet Truet extendt pluginst loggert errort get_metadata_dockert configt infot keyst getattrt textkeyR t syst exc_infot loggingt exception( R) R% t existing_containerst rebuildR t rt jt app_mappingR t appt imaget containerst containert short_idt statet existing_containert changed_statet app_imageR R t plugint metadatat plugin_labelt tt e( ( s5 /usr/lib/panopta-agent/library/container_discovery.pyt discover_docker_containers s` '" c C sz t d � } | j d d d i d d 6�| j � j � } t | � } x, | D]$ } | d d } | | k rN | SqN Wd S( Ns /var/run/docker.sockR s /containers/json?all=trueR R R R i ( R R R R R t None( t container_idR R4 t container_listR: R; ( ( s5 /usr/lib/panopta-agent/library/container_discovery.pyt find_docker_containerY s ( R0 t os.pathR R. t agent_utilR R t getLoggerR&