File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/k8s.cpython-310.pyc
Back
o ;jib � @ sz d Z ddlZddlZddlZddlZddlZddlZddl m mZ ddlZdZ e�e�Zdd� ZdFdd�Zdd � Zd d� Zdd � Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� ZdGdd�ZdGdd�ZdGd d!�ZdGd"d#�Z dHd%d&�Z!d'd(� Z"dFd)d*�Z#dId+d,�Z$d-d.� Z%d/d0� Z&d1d2� Z'd3d4� Z(d5d6� Z)d7d8� Z*dJd:d;�Z+d<d=� Z, ?dKd@dA�Z- 9 9 ?dLdBdC�Z.dMdDdE�Z/dS )Na Salt module to manage Kubernetes cluster .. versionadded:: 2016.3.0 Roadmap: * Add creation of K8S objects (pod, rc, service, ...) * Add replace of K8S objects (pod, rc, service, ...) * Add deletion of K8S objects (pod, rc, service, ...) * Add rolling update * Add (auto)scalling � NZk8sc C s t S )z*Load load if python-requests is installed.)�__virtualname__� r r �D/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/k8s.py�__virtual__ s r c C s� d}| dur| S dt jv rt j�d�} nUtd d�r!td d�} nHt j�|�s.td dd�rgtd d|�}t�dtj�}t j j�|��}|� � D ]}|�|�}qH|rW|�d �} W d � n1 saw Y nd } t�d| � | S )z^Try to guees the kubemaster url from environ, then from `/etc/kubernetes/config` file z/etc/kubernetes/configNZKUBERNETES_MASTERz config.getz k8s:masterz k8s:config� z!KUBE_MASTER=['"]--master=(.*)['"]� zhttp://127.0.0.1:8080z$Discoverd k8s API server address: %s)�os�environ�get�__salt__�path�exists�re�compile� MULTILINE�salt�utils�files�fopen� readlines�match�group�log�debug)� apiserver_urlZdefault_configZconfigZ kubeapi_regexZfh_k8s�lineZ match_liner r r �_guess_apiserver% s. � ���r c C sT ddi}t �d| |� tj| d|tjj�|�d�}|�d�r |S tjj� |�d��S )z,create any object in kubernetes based on URL�Content-Type�application/jsonzurl is: %s, data is: %s�POST��methodZheader_dict�data�error�body) r �trace�http�queryr r �json�dumpsr �loads��urlr"