
    ([QhM                     r    d dl mZmZmZmZmZmZmZ  G d dee      Z G d dee      Z	 G d deee      Z
y)	    )PluginRedHatPluginUbuntuPluginSoSPredicate	CosPlugin	PluginOptDebianPluginc                   d    e Zd ZdZdZdZ eddd       eddd	       ed
dd      gZd Zd Z	y)DockerzDocker containersdocker)	containerallFz0collect for all containers, even terminated ones)defaultdesclogsz)collect stdout/stderr logs for containerssizez!collect image sizes for docker psc                    | j                  ddg       | j                  ddg       | j                  d       | j                  dd	       | j	                  t        | dg
             g d}|D ]  }| j                  d|         | j                  dd       | j                  dd       | j                  dd       | j                  d      r&| j                  dd       | j                  dd       | j                  d      }|d   dk(  rO|d   j                         dd  D cg c]  }|j                         d    }}|D ]  }| j                  d|         | j                  d| j                  d             D cg c]  }|d   	 }}| j                  d!      }	| j                  d!      }
|D ]@  }| j                  d"| d#$       | j                  d%      s+| j                  d&| d#$       B |	D ]=  }|\  }}d'|vr|n|}| j                  d"| d(d)*       | j                  d+| d,d-*       ? |
D ]  }| j                  d.| d/$        y c c}w c c}w )0Nz/etc/docker/daemon.jsonz/var/lib/docker/repositories-*DOCKER_BUILD_PROXYDOCKER_RUN_PROXYr   )unitsz/etc/dockerT)	recursive)services)zevents --since 24h --until 1spszstats --no-streamversionz	volume lszdocker zdocker infodocker_info)tagszdocker imagesdocker_imageszdocker ps -adocker_list_containersr   zdocker ps -asd   )priorityzdocker system dfzdocker network lsstatusr   output   zdocker network inspect r   )runtimeget_all)r$   zdocker inspect 
containers)subdirr   zdocker logs -t noneimagesdocker_image_inspect)r'   r   zdocker image history zimages/historydocker_image_treezdocker volume inspect volumes)add_copy_specadd_env_varadd_journaladd_dir_listingset_cmd_predicater   add_cmd_output
get_optioncollect_cmd_output
splitlinessplitget_containersget_container_imagesget_container_volumes)selfsubcmdssubcmdnetsnnetworksnetcr&   r)   r,   r   imgnameimg_idinspvols                    ;/usr/lib/python3/dist-packages/sos/report/plugins/docker.pysetupzDocker.setup   s   %,
 	
 	 
 	
 	x(]d;|DH:FG
  	4F'& 23	4 	M!. 	 	0O!0 	 	2N!9 	 	; ??6"#> 2SA&&':;>Q.28n.G.G.I!".MN	!NHN E##&=cU$CDE --h6:ooe6L . N
AaD

 
 **8*<,,X,># 	9I/) ='3   5v&##oi[$A+7 $ 9		9  		CLD&!-46D/$ 8%;   ='v.'(   		  	2C"8 >'0   2	2; O
s   )II c                 .    d}| j                  d|d       y )Nz=(?P<var>(pass|key|secret|PASS|KEY|SECRET).*?)=(?P<value>.*?)"z	*inspect*z\g<var>=********")do_cmd_output_sub)r:   
env_regexps     rG   postproczDocker.postprocj   s    (
{J3	5    N)
__name__
__module____qualname__
short_descplugin_nameprofilesr   option_listrH   rL    rM   rG   r   r      sU    $JKH 	%I	K&%B	D&%:	<KI2V5rM   r   c                   "     e Zd ZdZ fdZ xZS )RedHatDocker)r   zdocker-latestz	docker-iodocker-engine	docker-ce	docker-eec                 H    t         |           | j                  ddg       y )Nz!/etc/udev/rules.d/80-docker.rulesz/etc/containers/superrH   r-   r:   	__class__s    rG   rH   zRedHatDocker.setup   s%    /
 	rM   rN   rO   rP   packagesrH   __classcell__r_   s   @rG   rW   rW   |   s    *H rM   rW   c                   "     e Zd ZdZ fdZ xZS )UbuntuDocker)z	docker.iorX   rY   rZ   c                 H    t         |           | j                  ddg       y )Nz/etc/default/dockerz//run/docker/libcontainerd/containerd/events.logr\   r^   s    rG   rH   zUbuntuDocker.setup   s%    !=
 	rM   r`   rc   s   @rG   re   re      s    GH rM   re   N)sos.report.pluginsr   r   r   r   r   r   r	   r   rW   re   rU   rM   rG   <module>rh      sC   . . .
i5VY i5X6< 	6< 	rM   