Retrieve Pillar data by running a SQLCipher query
New in version 2016.3.0.
Python SQLCipher support is provided by the pysqlcipher Python package. You need this module installed to query Pillar data from a SQLCipher database.
This module is a concrete implementation of the sql_base ext_pillar for SQLCipher.
new
pysqlcipher (for py2) or pysqlcipher3 (for py3)
all
Use the 'sqlcipher' key under ext_pillar for configuration of queries.
SQLCipher database connection configuration requires the following values configured in the master config:
sqlcipher.database
- The SQLCipher database to connect to. Defaults to'/var/lib/salt/pillar-sqlcipher.db'
.
sqlcipher.pass
- The SQLCipher database decryption password.
sqlcipher.timeout
- The connection timeout in seconds.
Example configuration
sqlcipher:
database: /var/lib/salt/pillar-sqlcipher.db
pass: strong_pass_phrase
timeout: 5.0
sqlcipher:
database: '/var/lib/salt/pillar-sqlcipher.db'
pass: strong_pass_phrase
timeout: 5.0
ext_pillar:
- sqlcipher:
fromdb:
query: 'SELECT col1,col2,col3,col4,col5,col6,col7
FROM some_random_table
WHERE minion_pattern LIKE ?'
depth: 5
as_list: True
with_lists: [1,3]
This class receives and processes the database rows from SQLCipher.
Execute queries against SQLCipher, merge and return as a dict