Skip to main content
Version: Next

Install a Package

A package bundles pipelines and contexts, making it easy to deploy them as a single unit.

Install from the Tenzir Library

The most convenient way to install a package is through the Tenzir Library:

  1. Click on a package
  2. Select the Install tab
  3. Define your inputs (optional)
  4. Click the Install button in the bottom right

Install with the Package Operator

To install a package interactively, use the package_add operator:

// tql2
package_add "package.yaml"

To set package inputs, set the values in the pipeline:

// tql2
package_add "package.yaml", inputs={
  endpoint: "localhost:42000",
  policy: "block",
}

Your package should now show when listing all installed packages:

packages
{
  "id": "your-package",
  "install_status": "installed",
  // …
}

To uninstall a package interactively, use package_remove.

package_remove "your-package"

Install with Infrastructure as Code

For IaC-style deployments, you can install packages as code by putting them next to your tenzir.yaml configuration file:

/opt/tenzir/etc/tenzir
├── tenzir.yaml
└── packages
   └── your-package
   ├── config.yaml
   └── package.yaml

Inside the packages directory, every installed package lives in its own directory containing a package.yaml file with the package definition. By convention, the directory name is the package ID.

The node search path for packages consists of the following locations:

  1. The packages directory in all configuration directories.
  2. All directories specified in the tenzir.package-dirs configuration option.

As an alternative way to specify inputs visually in the app, or setting them explicitly as part of calling package_add, you can add a config.yaml file next to the package.yaml file. Here is an example that sets the inputs endpoint and policy:

inputs:
  endpoint: localhost:42000
  policy: block