Retrieve Pillar data by running a SQLCipher query
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.
maturity: | new |
---|---|
depends: | pysqlcipher |
platform: | 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]
salt.pillar.sqlcipher.
SQLCipherExtPillar
¶This class receives and processes the database rows from SQLCipher.
salt.pillar.sqlcipher.
ext_pillar
(minion_id, pillar, *args, **kwargs)¶Execute queries against SQLCipher, merge and return as a dict