> **Page index:** https://km.oslo.systems/llms.txt lists every page on this site, with a link to its Markdown version.

# `packages.yml`

The package manifest file `packages.yml` is used to keep track of all installed packages.

Each package section is built up the same way. The parameters are a breakdown of the Boilerplate command to download templates.

For infrastructure in Terraform, the package manifest looks like this:

repo-iac/environments/dev/app-hello-world/packages.yml

```
Packages:
  - OutputFolder: .
    Template: app
    Ref: app-v9.17.9
    VarFiles:
      - ../common-config.yml
      - package-config.yml
```

For GitHub Actions, the package manifest contains two packages:

repo-iac/environments/dev/packages.yml

```
DefaultPackagePathPrefix: boilerplate/github-actions
Packages:
  - OutputFolder: ../..
    Template: terraform-on-changed-dirs
    Ref: terraform-on-changed-dirs-v2.3.4
    VarFiles:
      - common-config.yml
      - terraform-on-changed-dirs.yml
  - OutputFolder: ../..
    Template: docker-build-push
    Ref: docker-build-push-v2.3.2
    VarFiles:
      - common-config.yml
      - docker-build-push.yml
```

| Parameter | Description |
| --- | --- |
| OutputFolder | The name of the folder the template is rendered to. |
| Template | The name of the stack template. Used to build the `--template-url` of the Boilerplate download command. |
| Ref | Points to a GitHub release tag in the source template repository (the default repository is [golden-path-boilerplate](<https://github.com/oslokommune/golden-path-boilerplate/>)). In effect, the `ref` parameter is the version of the template to be used. |
| VarFiles | A list of files containing Boilerplate configuration. Used to build the `--var` part of the Boilerplate download command. |
