o
    O6ufý  ã                   @   s&   d dl mZmZ G dd„ deeƒZdS )é    )ÚPluginÚIndependentPluginc                   @   s8   e Zd ZdZdZdZdZdZdd„ Zdd	„ Z	d
d„ Z
dS )ÚGrafanaz0Fetch Grafana configuration, logs and CLI outputÚgrafana)ÚservicesÚ	openstackÚopenstack_controller)r   Fc                 C   s"   | j j d¡}|r|d dkS dS )Nr   Úpkg_managerÚsnapF)ÚpolicyÚpackage_managerÚpkg_by_name)ÚselfÚgrafana_pkg© r   ú</usr/lib/python3/dist-packages/sos/report/plugins/grafana.pyÚ_is_snap_installed   s   zGrafana._is_snap_installedc                 C   s‚   |   ¡ | _| jrd}d}d}|  d¡ nd}d}d}|  |› d�|› d	�|› d
�dg¡ |  d¡r3dnd}|  || |dg¡ d S )Nzgrafana.grafana-cliz"/var/snap/grafana/common/data/log/ú*/var/snap/grafana/current/conf/grafana.inizsnap info grafanazgrafana-cliz/var/log/grafana/z/etc/grafana/z plugins lsz plugins list-remotez -vzgrafana-server -vÚall_logsz*.log*z*.logz/etc/sysconfig/grafana-server)r   Úis_snapÚadd_cmd_outputÚ
get_optionÚadd_copy_spec)r   Úgrafana_cliÚlog_pathÚconfig_pathÚlog_file_patternr   r   r   Úsetup   s*   
ü
ýzGrafana.setupc                 C   s:   g d¢}| j r	dnd}dd |¡› d�}|  ||d¡ d S )N)Úadmin_passwordÚ
secret_keyÚpasswordÚclient_secretr   z/etc/grafana/grafana.iniz(^\s*(ú|z)\s*=\s*)(.*)z\1*********)r   ÚjoinÚdo_path_regex_sub)r   Úprotect_keysÚinifileÚregexpr   r   r   Úpostproc9   s   ÿýzGrafana.postprocN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesr   r   r   r(   r   r   r   r   r      s    r   N)Úsos.report.pluginsr   r   r   r   r   r   r   Ú<module>   s   
