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:
- 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
To install a package interactively, use the
package::add
operator:
package::add "package.yaml"
To set package inputs, set the values in the pipeline:
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:
- The
packages
directory in all configuration directories. - 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