Powerpipe HCL

General

TypeDescription
localsLocals are internal, module level variables.
modThe mod block contains metadata, documentation, and dependency data for the mod.
queryQueries define common SQL statements that may be used alone, or referenced by arguments in other blocks like reports and actions.
variableVariables are module level objects that essentially act as parameters for a module.

Benchmarks and Controls

TypeDescription
benchmarkBenchmark provides a mechanism for organizing controls into hierarchical structures.
controlControls provide a defined structure and interface for queries that draw a specific conclusion (e.g. 'ok', 'alarm') about each row.

Dashboards

TypeDescriptionValid children typesAllowed at top-level
dashboardCompose resources to meet a reporting requirement. Within the powerpipe server dashboard UI, each dashboard will be presented as an available item to run.chart
container
control
card
flow
graph
hierarchy
image
input
table
text
with
Yes
containerLay out reporting resources within a dashboard. Conceptually similar to a dashboard, except it will not be presented as an available item to run within the Powerpipe dashboard UI.chart
container
control
card
flow
graph
image
input
table
text
with
Yes
cardDisplay a simple value in different styles e.g. plain, alert etc. Supports static values, or derived from SQL.NoneYes
categorySpecify display options for nodes and edgesNoneYes
chartVisualize SQL data in a chart e.g. bar, column, line, pie etc.NoneYes
edgeDisplay an edge to connect nodes on aflow, graph, or hierarchyNoneYes
flowVisualize flow data using things such as sankey.node, edgeYes
graphVisualize graph relationships.node, edgeYes
hierarchyVisualize hierarchical data using things such as tree.node, edgeYes
imageEmbed images in reports. Supports static URLs, or can be derived from SQL.NoneYes
inputEnable dynamic dashboards based on user-provided input.NoneYes
nodeDisplay a vertex (node) on aflow, graph, or hierarchyNoneYes
tableDisplay tabular data in a dashboard.NoneYes
textAdd GitHub-flavoured markdown to a dashboard.NoneYes
withSpecify additional queries or SQL statements to run first, and then pass the query results as arguments to sql, query, and node & edge blocks.NoneNo