Linux server.edchosting.com 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
LiteSpeed
Server IP : 75.98.162.185 & Your IP : 216.73.216.163
Domains :
Cant Read [ /etc/named.conf ]
User : goons4good
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
lib /
python3.6 /
site-packages /
salt /
pillar /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2022-10-11 05:09
__init__.py
48.88
KB
-rw-r--r--
2022-05-16 09:16
azureblob.py
13.88
KB
-rw-r--r--
2022-05-16 09:16
cmd_json.py
787
B
-rw-r--r--
2022-05-16 09:16
cmd_yaml.py
893
B
-rw-r--r--
2022-05-16 09:16
cmd_yamlex.py
674
B
-rw-r--r--
2022-05-16 09:16
cobbler.py
1.64
KB
-rw-r--r--
2022-05-16 09:16
confidant.py
3.29
KB
-rw-r--r--
2022-05-16 09:16
consul_pillar.py
11.61
KB
-rw-r--r--
2022-05-16 09:16
csvpillar.py
1.85
KB
-rw-r--r--
2022-05-16 09:16
digicert.py
1007
B
-rw-r--r--
2022-05-16 09:16
django_orm.py
7.74
KB
-rw-r--r--
2022-05-16 09:16
ec2_pillar.py
10.12
KB
-rw-r--r--
2022-05-16 09:16
etcd_pillar.py
2.36
KB
-rw-r--r--
2022-05-16 09:16
extra_minion_data_in_pillar.py
2.18
KB
-rw-r--r--
2022-05-16 09:16
file_tree.py
18.03
KB
-rw-r--r--
2022-05-16 09:16
foreman.py
3.66
KB
-rw-r--r--
2022-05-16 09:16
git_pillar.py
19.61
KB
-rw-r--r--
2022-05-16 09:16
gpg.py
560
B
-rw-r--r--
2022-05-16 09:16
hg_pillar.py
3.19
KB
-rw-r--r--
2022-05-16 09:16
hiera.py
846
B
-rw-r--r--
2022-05-16 09:16
http_json.py
2.43
KB
-rw-r--r--
2022-05-16 09:16
http_yaml.py
2.43
KB
-rw-r--r--
2022-05-16 09:16
libvirt.py
5.78
KB
-rw-r--r--
2022-05-16 09:16
makostack.py
21.99
KB
-rw-r--r--
2022-05-16 09:16
mongo.py
5.6
KB
-rw-r--r--
2022-05-16 09:16
mysql.py
3.76
KB
-rw-r--r--
2022-05-16 09:16
nacl.py
744
B
-rw-r--r--
2022-05-16 09:16
netbox.py
29.5
KB
-rw-r--r--
2022-05-16 09:16
neutron.py
2.41
KB
-rw-r--r--
2022-05-16 09:16
nodegroups.py
1.7
KB
-rw-r--r--
2022-05-16 09:16
pepa.py
20.98
KB
-rw-r--r--
2022-05-16 09:16
pillar_ldap.py
10.95
KB
-rw-r--r--
2022-05-16 09:16
postgres.py
2.82
KB
-rw-r--r--
2022-05-16 09:16
puppet.py
846
B
-rw-r--r--
2022-05-16 09:16
reclass_adapter.py
4
KB
-rw-r--r--
2022-05-16 09:16
redismod.py
3.28
KB
-rw-r--r--
2022-05-16 09:16
rethinkdb_pillar.py
4.71
KB
-rw-r--r--
2022-05-16 09:16
s3.py
14.4
KB
-rw-r--r--
2022-05-16 09:16
saltclass.py
1.49
KB
-rw-r--r--
2022-05-16 09:16
sql_base.py
15.38
KB
-rw-r--r--
2022-05-16 09:16
sqlcipher.py
3.42
KB
-rw-r--r--
2022-05-16 09:16
sqlite3.py
2.67
KB
-rw-r--r--
2022-05-16 09:16
stack.py
22.07
KB
-rw-r--r--
2022-05-16 09:16
svn_pillar.py
5.74
KB
-rw-r--r--
2022-05-16 09:16
varstack_pillar.py
1.1
KB
-rw-r--r--
2022-05-16 09:16
vault.py
4.03
KB
-rw-r--r--
2022-05-16 09:16
venafi.py
966
B
-rw-r--r--
2022-05-16 09:16
virtkey.py
586
B
-rw-r--r--
2022-05-16 09:16
vmware_pillar.py
16.83
KB
-rw-r--r--
2022-05-16 09:16
Save
Rename
""" Retrieve Pillar data by doing a postgres query .. versionadded:: 2017.7.0 :maturity: new :depends: psycopg2 :platform: all Complete Example ================ .. code-block:: yaml postgres: user: 'salt' pass: 'super_secret_password' db: 'salt_db' ext_pillar: - postgres: fromdb: query: 'SELECT col1,col2,col3,col4,col5,col6,col7 FROM some_random_table WHERE minion_pattern LIKE %s' depth: 5 as_list: True with_lists: [1,3] """ import logging from contextlib import contextmanager from salt.pillar.sql_base import SqlBaseExtPillar # Set up logging log = logging.getLogger(__name__) try: import psycopg2 HAS_POSTGRES = True except ImportError: HAS_POSTGRES = False def __virtual__(): if not HAS_POSTGRES: return False return True class POSTGRESExtPillar(SqlBaseExtPillar): """ This class receives and processes the database rows from POSTGRES. """ @classmethod def _db_name(cls): return "POSTGRES" def _get_options(self): """ Returns options used for the POSTGRES connection. """ defaults = { "host": "localhost", "user": "salt", "pass": "salt", "db": "salt", "port": 5432, } _options = {} _opts = __opts__.get("postgres", {}) for attr in defaults: if attr not in _opts: log.debug("Using default for POSTGRES %s", attr) _options[attr] = defaults[attr] continue _options[attr] = _opts[attr] return _options @contextmanager def _get_cursor(self): """ Yield a POSTGRES cursor """ _options = self._get_options() conn = psycopg2.connect( host=_options["host"], user=_options["user"], password=_options["pass"], dbname=_options["db"], port=_options["port"], ) cursor = conn.cursor() try: yield cursor log.debug("Connected to POSTGRES DB") except psycopg2.DatabaseError as err: log.exception("Error in ext_pillar POSTGRES: %s", err.args) finally: conn.close() def extract_queries(self, args, kwargs): # pylint: disable=useless-super-delegation """ This function normalizes the config block into a set of queries we can use. The return is a list of consistently laid out dicts. """ return super().extract_queries(args, kwargs) def ext_pillar(minion_id, pillar, *args, **kwargs): """ Execute queries against POSTGRES, merge and return as a dict """ return POSTGRESExtPillar().fetch(minion_id, pillar, *args, **kwargs)