HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/charmed_postgresql.cpython-39.pyc
a

\��h7�	@s�ddlZddlZddlmZmZdZdZededededed	ed
ededd
�Zed�d�ZdZ	dZ
dZGdd�dee�ZdS)�N)�Plugin�UbuntuPluginz#/var/snap/charmed-postgresql/commonz$/var/snap/charmed-postgresql/currentz/var/lib/postgresqlz/var/log/postgresqlz/etc/patroniz/var/log/patroniz/etc/pgbackrestz/var/log/pgbackrestz/etc/pgbouncerz/var/log/pgbouncer)�POSTGRESQL_CONF�POSTGRESQL_LOGS�PATRONI_CONF�PATRONI_LOGS�PGBACKREST_CONF�PGBACKREST_LOGS�PGBOUNCER_CONF�PGBOUNCER_LOGSrz
/patroni.yamlZsnap_daemonzcharmed-postgresql.psqlzcharmed-postgresql.patronictlc@sLeZdZdZdZdZeed�dd��Zeed�dd��Z	d	d
�Z
dd�Zd
S)�CharmedPostgreSQLzCharmed PostgreSQLZcharmed_postgresql)zcharmed-postgresql)�returncCs
dt��S)Nz--config-file )�PATRONI_CONFIG_FILE��self�r�I/usr/lib/python3.9/site-packages/sos/report/plugins/charmed_postgresql.py�patronictl_args)sz!CharmedPostgreSQL.patronictl_argscCsd|j�d|j�d|j�d�S)Nz-U z -h z -p z -d postgres -P pager=off)�postgresql_username�postgresql_host�postgresql_portrrrr�	psql_args-s

��zCharmedPostgreSQL.psql_argsc
Cs:|�td�d�td�d�g�|�td�d�td�td�d�td�td	�td
�td�td�g�|�d�|jd
dd�z�ttdd��}t�|�}Wd�n1s�0Y|d|_	|d}|d�
d�}|\|_|_|d}|d}|d|_
|d|_WnLttjttttf�yb}z$|�dt�d|���WYd}~dSd}~00|jt�d|j�d|j	��dtd�|jt�d|j�d |j	��d!td�|jt�d|j�d"|j	��d#td�|jtjd$<|jt�d|j�d%�d&td�|jt�d|j�d'�d(td�|jt�d|j�d)�d*td�dS)+Nrz/*.pemr
rz/*.conf*rz/*.y*mlrrr	rzsnap.charmed-postgresql.*zsnap info charmed-postgresqlz	snap-info)�suggest_filenamezutf-8)�encodingZscope�
postgresqlZconnect_address�:�authentication�	superuser�username�passwordzVCan not run additional commands due to an error on opening or parsing the config file z: � z
 topology zpatroni-topology)rZrunasz	 history zpatroni-historyz
 show-config zpatroni-dcs-config�
PGPASSWORDz	 -c '\l+'zpostgresql-databasesz -c '\duS+'zpostgresql-usersz -c '\dtS+'zpostgresql-tables)Zadd_forbidden_path�PATHSZ
add_copy_specZadd_journalZadd_cmd_output�openr�yamlZ	safe_loadZpatroni_cluster_name�splitrrrZpostgresql_password�OSErrorZ	YAMLError�	TypeError�
ValueError�KeyError�AttributeErrorZ	_log_warn�
PATRONICTLr�RUNAS�os�environ�PSQLr)r�fZpatroni_configr�	host_portrr�errorrrr�setup4s���
�(


�����	��	���	�	�zCharmedPostgreSQL.setupcCs^dtjvrtjd=|�td�d�dd�|�td�d�dd	�|�td
�d�dd�dS)
Nr!rz/*z(password: )"?.*"?z
\1"*********"rz/pgbackrest.confz(.*s3-key.*=).*z\1*********r
z/pgbouncer/userlist.txtz(".*" )".*")r-r.Zdo_path_regex_subr"rrrr�postproc�s"
���zCharmedPostgreSQL.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZpackages�property�strrrr3r4rrrrr#snr)
r-r$Zsos.report.pluginsrrZSNAP_COMMON_PATHZSNAP_CURRENT_PATHr"rr,r/r+rrrrr�<module>	s$�