
    -_g                     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                  g d       | 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 )/Nz/etc/docker/daemon.jsonz/var/lib/docker/repositories-*)
HTTP_PROXYHTTPS_PROXYNO_PROXY	ALL_PROXY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-   r0   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     rK   postproczDocker.postprocn   s    (
{J3	5    N)
__name__
__module____qualname__
short_descplugin_nameprofilesr   option_listrL   rP    rQ   rK   r   r      sU    $JKH 	%I	K&%B	D&%:	<KM2^5rQ   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/superrL   r1   r>   	__class__s    rK   rL   zRedHatDocker.setup   s%    /
 	rQ   rR   rS   rT   packagesrL   __classcell__rc   s   @rK   r[   r[      s    *H rQ   r[   c                   "     e Zd ZdZ fdZ xZS )UbuntuDocker)z	docker.ior\   r]   r^   c                 H    t         |           | j                  ddg       y )Nz/etc/default/dockerz//run/docker/libcontainerd/containerd/events.logr`   rb   s    rK   rL   zUbuntuDocker.setup   s%    !=
 	rQ   rd   rg   s   @rK   ri   ri      s    GH rQ   ri   N)sos.report.pluginsr   r   r   r   r   r   r	   r   r[   ri   rY   rQ   rK   <module>rl      sC   . . .
m5VY m5`6< 	6< 	rQ   