PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/netapi/rest_cherrypy/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/netapi/rest_cherrypy/wsgi.py |
#!/usr/bin/env python """ Deployment ========== The ``rest_cherrypy`` netapi module is a standard Python WSGI app. It can be deployed one of two ways. :program:`salt-api` using the CherryPy server --------------------------------------------- The default configuration is to run this module using :program:`salt-api` to start the Python-based CherryPy server. This server is lightweight, multi-threaded, encrypted with SSL, and should be considered production-ready. See the section above for performance expectations. Using a WSGI-compliant web server --------------------------------- This module may be deployed on any WSGI-compliant server such as Apache with mod_wsgi or Nginx with FastCGI, to name just two (there are many). Note, external WSGI servers handle URLs, paths, and SSL certs directly. The ``rest_cherrypy`` configuration options are ignored and the ``salt-api`` daemon does not need to be running at all. Remember Salt authentication credentials are sent in the clear unless SSL is being enforced! An example Apache virtual host configuration:: <VirtualHost *:80> ServerName example.com ServerAlias *.example.com ServerAdmin webmaster@example.com LogLevel warn ErrorLog /var/www/example.com/logs/error.log CustomLog /var/www/example.com/logs/access.log combined DocumentRoot /var/www/example.com/htdocs WSGIScriptAlias / /path/to/salt/netapi/rest_cherrypy/wsgi.py </VirtualHost> """ import os import cherrypy # pylint: disable=3rd-party-module-not-gated # pylint: disable=C0103 def bootstrap_app(): """ Grab the opts dict of the master config by trying to import Salt """ import salt.config from salt.netapi.rest_cherrypy import app __opts__ = salt.config.client_config( os.environ.get("SALT_MASTER_CONFIG", "/etc/salt/master") ) return app.get_app(__opts__) def get_application(*args): """ Returns a WSGI application function. If you supply the WSGI app and config it will use that, otherwise it will try to obtain them from a local Salt installation """ opts_tuple = args def wsgi_app(environ, start_response): root, _, conf = opts_tuple or bootstrap_app() cherrypy.config.update({"environment": "embedded"}) cherrypy.tree.mount(root, "/", conf) return cherrypy.tree(environ, start_response) return wsgi_app application = get_application()