Collections

Group a set of package build spec with templating

Collections are a special superset of packages. To define a collection, instead of using a definition.yaml file, create a collection.yaml file with a list of packages:

packages:
- category: "test"
  name: "foo"
  version: "1.0"
- category: "test"
  name: "bar"
  version: "1.0"
Complete source code: https://github.com/mudler/luet/blob/master/tests/fixtures/shared_templates/test/collection.yaml

Packages under a collection shares the same build.yaml and finalize.yaml, so a typical package layout can be:

collection/
    collection.yaml
    build.yaml
    finalize.yaml
    ... additional files in the build context

Luet during the build phase, will treat packages of a collection individually. A collection is a way to share the same build process across different packages.

Templating

The templating mechanism can be used in collections as well, and each stanza in packages is used to interpolate each single package.

Examples


Last modified August 1, 2024: fix(ci): rename goreleaser flag (7b70305)