Packages provide a flexible approach for combining operators, pipelines, contexts, and examples into a unified deployable unit.
Install from the Tenzir Library
Section titled “Install from the Tenzir Library”The most convenient way to install a package is through the Tenzir Library:
- Click on a package
- Select the Install tab
- Define your inputs (optional)
- Click the Install button in the bottom right
Install with the package operator
Section titled “Install with the package operator”To install a package interactively in TQL, use the
package::add operator:
package::add "/path/to/pkg"This installs the package from the directory /path/to/pkg. Pass an inputs
record to adjust the package configuration and replace the package’s templates
with concrete values:
package::add "package.yaml", inputs={ endpoint: "localhost:42000", policy: "block",}Your package now appears when you list all installed packages:
package::list{ id: "your-package", install_status: "installed", // …}To uninstall a package interactively, use
package::remove and pass the package
ID.
package::remove "your-package"Install from a custom repository
Section titled “Install from a custom repository”For packages hosted in a Git repository (like a private library), clone the repository and point Tenzir at it. You can reference the entire library directory—Tenzir discovers all packages inside:
git clone https://github.com/your-org/my-packages.gittenzir --package-dirs=/path/to/my-packagesOr configure the package directories in tenzir.yaml:
tenzir: package-dirs: - /path/to/my-packagesYou can also install individual packages interactively:
package::add "/path/to/my-packages/package-one"Install with Infrastructure as Code (IaC)
Section titled “Install with Infrastructure as Code (IaC)”For IaC-style deployments, you can install packages as code by putting them
next to your tenzir.yaml configuration file:
Directory/opt/tenzir/etc/tenzir/
Directorypackages/
Directoryyour-package/
Directoryoperators/
- …
Directorypipelines/
- …
- config.yaml The configuration for the package
- package.yaml The package manifest with metadata
- tenzir.yaml
Inside the packages directory, each installed package has its own directory.
The directory name matches the package ID.
The node searches for packages in the following locations:
- The
packagesdirectory in all configuration directories. - All directories specified in the
tenzir.package-dirsconfiguration option.
To provide inputs in IaC-mode, place a config.yaml file next to the
package.yaml file. For example, this configuration sets the inputs endpoint
and policy:
inputs: endpoint: localhost:42000 policy: block