Query Templates#
Query Templates are appended to an incoming Squirro query. This functionality is typically used to implement access control logic.
Configuration#
To enable query templates, the /etc/squirro/topic.ini
configuration is modified to contain a [query_templates]
section:
[query_templates]
# Which projects should use a query template (space-separated)
project_ids = IgnLQDYqSta1dQUtOZh0xg I6JAxCjeRTWts8mwI3AA6A
# Where are the templates stored
directory = /etc/squirro/query_templates
Make sure, the specified directory exists. For reach project that was specified in the project_ids
a template file with the tmpl
extension should exists. In the example above, the following two templates are used on the disk:
/etc/squirro/query_templates/IgnLQDYqSta1dQUtOZh0xg.tmpl
/etc/squirro/query_templates/I6JAxCjeRTWts8mwI3AA6A.tmpl
If a template doesn’t exist, even though the project is listed in the query templates project IDs, then all queries in that project will return an error.
Template#
The query template is written as a Jinja template. A number of arguments are provided to the template.
Parameter |
Description |
|
The original query, for which the user is requesting information. Deprecated as of Squirro 3.3.9. The template gets merged with an incoming query. |
|
The user ID of the user executing the query. |
|
The tenant domain of the current user. Tenant is the Squirro concept for running multiple organisations on the same Squirro cluster - used especially in the cloud environment. |
|
The project ID on which the query is executed. |
|
The name of the project on which the query is executed. |
|
The contents of the |
In addition, all values passed into the user_information dictionary in the extauth service are available as top level attributes.