o
    G%@i
                     @   s.   d dl Z d dlmZmZ G dd deeZdS )    N)PluginUbuntuPluginc                   @   s(   e Zd ZdZdZdZdZdZdd ZdS )	
MicroCloudzThe MicroCloud plugin collects the current status of the microcloud
    snap.

    It will collect journald logs as well as output from various microcloud
    commands.
    zMicroCloud Snap
microcloud)	container)r   c                 C   s   | j dd g d}| dd |D  d}| d| d d	}| j|d
d | | d| d| dg dddddddddg}|D ]}t|d}|d}| jd| d| d qId S )Nzsnap.microcloud.*)units)zcluster liststatusz	--versionc                 S   s   g | ]}d | qS )zmicrocloud  ).0subcmdr	   r	   ?/usr/lib/python3/dist-packages/sos/report/plugins/microcloud.py
<listcomp>&   s    
z$MicroCloud.setup.<locals>.<listcomp>z-/var/snap/microcloud/common/state/cluster.crtzopenssl x509 -in z -noout -datesz*/var/snap/microcloud/common/state/databasels_microcloud_dqlite_dir)suggest_filenamez/cluster.yamlz
/info.yamlz/../daemon.yamlz/SELECT * FROM sqlite_master WHERE type="table";schema)querysuggested_file_suffixz5SELECT id, name, expiry_date FROM core_token_records;token_recordszvSELECT id, name, address, schema_internal, schema_external, heartbeat, role, api_extensions FROM core_cluster_members;core_cluster_membersr   r   zmicrocloud sql microcloud_sql_)add_journaladd_cmd_outputadd_dir_listingadd_copy_specjsondumpsget)selfmicrocloud_subcmds
dqlite_crtdb_pathqueriesquery_entryr   file_suffixr	   r	   r   setup   sJ   

	
zMicroCloud.setupN)	__name__
__module____qualname____doc__
short_descplugin_nameprofilespackagesr$   r	   r	   r	   r   r      s    r   )r   sos.report.pluginsr   r   r   r	   r	   r	   r   <module>   s   
