o
    idi                     @   s&   d dl mZmZ G dd deeZdS )    )PluginRedHatPluginc                   @   s4   e Zd ZdZdZd ZdZdZdZdZ	dZ
dd Zd	S )
etcda  The etcd plugin collects information from the etcd key-value store. It
    is primarily used by Kubernetes/OpenShift clusters and is often run inside
    a container within the cluster.

    Collections will default to executing within an `etcdctl` container, if one
    is present, and only execute on the host if such a container is not
    currently running. The `etcdctl` name preference is adopted from OpenShift
    Container Platform deployments.

    This plugin is written for etcd v3 and later.
    zetcd plugin)r   )	containersystemservicescluster)/etc/etcd/etcd.conf)etcdctlr   c                 C   s~   d }| j D ]}| |r|} nq| ddi | ddg | jd|d | jd|d g d}| jd	d
 |D |d d S )Nr	   	etcd_confz/etc/etcd/caz/etc/etcd/*.keyzls -lR /var/lib/etcd/)r   z	/etc/etcd)versionzmember listz
alarm listzendpoint statuszendpoint healthc                 S   s   g | ]}d | qS )zetcdctl  ).0subr   r   9/usr/lib/python3/dist-packages/sos/report/plugins/etcd.py
<listcomp>B   s    zetcd.setup.<locals>.<listcomp>)
containersget_container_by_nameadd_file_tagsadd_forbidden_pathadd_cmd_outputadd_copy_spec)selfetcd_conconsubcmdsr   r   r   setup%   s(   


z
etcd.setupN)__name__
__module____qualname____doc__
short_descplugin_namepackagesprofilesfilesr   r   r   r   r   r   r   r      s    r   N)sos.report.pluginsr   r   r   r   r   r   r   <module>   s   