Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/charmed_postgresql.cpython-312.pyc
�

-�_g7�	��ddlZddlZddlmZmZdZdZedzedzedzedzed	zed
zedzedzd
�Zed�d�ZdZ	dZ
dZGd�dee�Zy)�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.yaml�snap_daemonzcharmed-postgresql.psqlzcharmed-postgresql.patronictlc�P�eZdZdZdZdZedefd��Zedefd��Z	d�Z
d�Zy	)
�CharmedPostgreSQLzCharmed PostgreSQL�charmed_postgresql)zcharmed-postgresql�returnc��dt��S)Nz--config-file )�PATRONI_CONFIG_FILE��selfs �G/usr/lib/python3/dist-packages/sos/report/plugins/charmed_postgresql.py�patronictl_argsz!CharmedPostgreSQL.patronictl_args)s��� 3�4�5�5�c�V�d|j�d|j�d|j�d�S)Nz-U z -h z -p z -d postgres -P pager=off)�postgresql_username�postgresql_host�postgresql_portrs r�	psql_argszCharmedPostgreSQL.psql_args-sA���d�.�.�/�0��*�*�+�,��*�*�+�,,�,�	-rc��|jtd�d�td�d�g�|jtd�d�td�td�d�td�td	�td
�td�td�g�|jd�|j	d
d��	ttd��5}tj|�}ddd�d|_	|d}|djd�}|\|_|_|d}|d}|d|_
|d|_|j	t,�d|j.�d|j��dt0��|j	t,�d|j.�d |j��d!t0��|j	t,�d|j.�d"|j��d#t0��|jt2j4d$<|j	t6�d|j8�d%�d&t0��|j	t6�d|j8�d'�d(t0��|j	t6�d|j8�d)�d*t0��y#1swY���xYw#ttj t"t$t&t(f$r%}|j+dt�d|���Yd}~yd}~wwxYw)+Nrz/*.pemrrz/*.conf*rz/*.y*mlrr	r
rzsnap.charmed-postgresql.*zsnap info charmed-postgresqlz	snap-info)�suggest_filenamezutf-8)�encoding�scope�
postgresql�connect_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)r�runasz	 history zpatroni-historyz
 show-config zpatroni-dcs-config�
PGPASSWORDz	 -c '\l+'zpostgresql-databasesz -c '\duS+'zpostgresql-usersz -c '\dtS+'zpostgresql-tables)�add_forbidden_path�PATHS�
add_copy_spec�add_journal�add_cmd_output�openr�yaml�	safe_load�patroni_cluster_name�splitrrr�postgresql_password�OSError�	YAMLError�	TypeError�
ValueError�KeyError�AttributeError�	_log_warn�
PATRONICTLr�RUNAS�os�environ�PSQLr)r�f�patroni_configr"�	host_portr%r&�errors        r�setupzCharmedPostgreSQL.setup4sO��	
����^�$�%�V�,��%�&�'�v�.�!
�	�	
����&�'�(��1��&�'�(��^�$�%�W�-��^�$�%��&�'�(��&�'�(��%�&�'��%�&�'�	
�		�	
���4�5�	
���*�(�	�	
�	��)�G�<�
3��!%����!2��
3�(6�w�(?�D�%�'��5�J�"�#4�5�;�;�C�@�I�9B�6�D� �$�"6�'�(8�9�N�&�{�3�I�'0��'<�D�$�'0��'<�D�$�	
����|�1�T�1�1�2�3��2�2�3�5�/��		�	
�	
����|�1�T�1�1�2�3��1�1�2�4�.��		�	
�	
����|�1�T�1�1�2�3� �5�5�6�8�1��		�	
�$(�#;�#;��
�
�<� �	
����v�Q�t�~�~�&�'��3��		�	
�	
����v�Q�t�~�~�&�'��/��		�	
�	
����v�Q�t�~�~�&�'��0��		�	
�I
3�
3��������H�n�6�	��N�N�M�1�2�"�#�W�&�
'�
��
	�s1�*J�;I3�AJ�3I=�8J�-K�-K
�
Kc��dtjvrtjd=|jtd�d�dd�|jtd�d�dd	�|jtd
�d�dd�y)
Nr+rz/*z(password: )"?.*"?z
\1"*********"r	z/pgbackrest.confz(.*s3-key.*=).*z\1*********rz/pgbouncer/userlist.txtz(".*" )".*")r@rA�do_path_regex_subr-rs r�postproczCharmedPostgreSQL.postproc�s����2�:�:�%��
�
�<�(�	
����^�$�%�R�(�!��	
�	
����&�'�(�(8�9���	
�	
����%�&�'�'>�?���	
rN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�packages�property�strrrrGrJ�rrrr#sQ��%�J�&�K�&�H�
�6��6��6��-�3�-��-�l
�\
rr)
r@r2�sos.report.pluginsrr�SNAP_COMMON_PATH�SNAP_CURRENT_PATHr-rr?rBr>rrSrr�<module>rWs���
��3�8��:��(�*?�?�'�*?�?�%��6�$�'9�9�(�+<�<�'�*?�?�'�*:�:�&�)=�=�		���~�.�/�}�=���� ��
,�
�\
���\
r