Crate fiberplane_templates
source ·Expand description
§Fiberplane Templates
Programmatically generate Fiberplane Notebooks for repeatable workflows
§Overview
Fiberplane Templates are built with the Jsonnet data templating language.
This crate includes:
- Fiberplane Jsonnet library with functions for creating notebooks (API Docs)
- Rust library for expanding templates into notebooks and for converting existing notebooks into templates
§Quickstart
The Fiberplane CLI is the recommended way to
interact with Templates (see the
docs or run
fp help templates
).
§Structure of a Template
Most Fiberplane Templates export a Jsonnet function that accepts some parameters and creates a notebook using the helper functions provided by the Fiberplane Jsonnet library.
local fp = import 'fiberplane.libsonnet';
local c = fp.cell;
local fmt = fp.format;
// Parameters are named and can have default values
function(incidentName='API Outage')
fp.notebook
.new('Incident Response for: ' + incidentName)
.setTimeRangeRelative(minutes=60)
.addCells([
// The library exposes helper functions for creating every cell type
c.h1('Heading'),
c.text(
// There are also helper functions for formatting text
fmt.bold('Hello World!')
)
])
See the templates repository for more detailed, use-case-specific templates.
§Snippets
Snippets are smaller pieces of Jsonnet code that produce reusable arrays of notebook cells, rather than whole notebooks.
local fp = import 'fiberplane.libsonnet';
local c = fp.cell;
local fmt = fp.format;
fp.snippet([
c.h2('I am a snippet'),
c.code('Here is some code'),
])
Modules§
Structs§
Enums§
Constants§
- This can be passed to
expand_template
as theargs
parameter.
Statics§
Functions§
- Convert the given cells into a Snippet
- Evaluate the template with the given top-level arguments.
- Extract the template parameters (if the template exports a top-level function)