📄️ Queries
The main way to use crul is through authoring and running queries. These queries are composed of one or more stages, "piped" together using the double pipe || syntax.
📄️ Caching
Caching is an important concept when authoring and running crul queries. The cache is where results of a query, stage, and a command are stored. These results are kept in the cache for a period of time and are reused for future queries/stages/commands when possible.
📄️ Stores
You may be looking to further process your query results in a 3rd party tool. Maybe you want to create some dashboards, run some machine learning, create alerts, or another use case. This is where the concept of stores comes in.
📄️ Scheduling Queries
Scheduling queries allows us to take a query that returns results we are looking for, and run it on an interval. Scheduled queries are particularly powerful with the freeze and diff commands, which allow us to send fresh results to a destination on an interval.
📄️ Templatizing Queries
Templatizing queries allows us to take a query that returns results we are looking for, and turn it into a simple template. This template can be rerun, dispatched by an API request, scheduled, and transformed into a form, if your query requires dynamic inputs.
📄️ Credentials
Credentials are secrets that are used by commands to access authenticated content. For example, you may create an oauth secret, which contains the configuration required to retrieve an OAuth token before making an authenticated API request.
📄️ crul API
The crul API allows for programatic interaction with the crul query processor, among other auxiliary supporting systems. Access is provided through an API key that can be generated within the crul UI.
📄️ Cellar
The cellar contains both frozen query results (which have been explicitly frozen using the freeze command), and status of data sinks, such as Kafka or an HTTP endpoint. All non-sink status cellar entries can be thawed to be used in a query using the thaw command.
📄️ Domain Policies
A Domain Policy determines how many requests the crul query processor can make to a domain per second, per ten seconds and per minute.