---
# System prepended metadata

title: deps updates

---

## Enable Automatic Dependency Updates

TAP ships with the ability to configure TBS dependencies to be updated. These updates are provided through a separate package repository with available version lines for all supported TAP minor versions. Within a version line, only patch versions are incremented to avoid any possible breaking changes. Users can customize the packages that can be updated through tap-values or their full deps values.

1. Add the following to tap-values.yaml:

    ```yaml
    buildservice:
      dependency_updates:
      allow: true
      scope: <SCOPE>
      include_packages: [""]
      exclude_packages: [""]
    ```
    Where:
    - `SCOPE` is the list of dependencies you would like to be updated. 
        The options are:
        - `stacks-only` (default value): only stacks and builders are updated
        - `all`: stacks, builders, and buildpacks are updated
        - `custom`: this list is empty by default, use the `include_packages` key to add packages to be updated

<p class="note"><strong>Note:</strong> The TAP package install and/or the Full Deps Package install will need to be updated after changing tap-values</p>

2. Create a secret for VMware Tanzu Network using the `tanzu` cli:

    ```commandline
     tanzu secret registry add tanzunet-creds \
     --server "registry.tanzu.vmware.com" \
     --username "${TANZUNET_REGISTRY_USERNAME}" \
     --password "${TANZUNET_REGISTRY_PASSWORD}" \
     --namespace ${INSTALL_NAMESPACE}
   ```
3. Add the Tanzu Build Service Dependency Updates package repository by running:
   
   ```
   kubectl apply -f - <<EOF
     apiVersion: packaging.carvel.dev/v1alpha1
     kind: PackageRepository
     metadata:
       name: tbs-dependencies-package-repository
       namespace: tap-install
     spec:
       fetch:
         imgpkgBundle:
           image: registry.tanzu.vmware.com/build-service-dependency-updater/package-repo
           tagSelection:
             semver:
             # this should be TAP major.minor.x
               constraints: "1.8.x"
   EOF
   ```
   
## Enable Automatic Dependency Updates - airgapped

TAP ships with the ability to configure TBS dependencies to be updated. These updates are provided through a separate package repository with available version lines for all supported TAP minor versions. Within a version line, only patch versions are incremented to avoid any possible breaking changes. Users can customize the packages that can be updated through tap-values or their full deps values.

1. Add the following to tap-values.yaml:

    ```yaml
    buildservice:
      dependency_updates:
      allow: true
      scope: <SCOPE>
      include_packages: [""]
      exclude_packages: [""]
    ```
    Where:
    - `SCOPE` is the list of dependencies you would like to be updated. 
        The options are:
        - `stacks-only` (default value): only stacks and builders are updated
        - `all`: stacks, builders, and buildpacks are updated
        - `custom`: this list is empty by default, use the `include_packages` key to add packages to be updated

<p class="note"><strong>Note:</strong> The TAP package install and/or the Full Deps Package install will need to be updated after changing tap-values</p>

2. Login to registry.tanzu.vmware.com and the internal repo on a machine that has internal repo access (assumes the cluster has a secret for the internal repo)
3. relocate deps updater package repo with imgpkg to the internal repo
4. Add the Tanzu Build Service Dependency Updates package repository by running:
   
   ```
   kubectl apply -f - <<EOF
     apiVersion: packaging.carvel.dev/v1alpha1
     kind: PackageRepository
     metadata:
       name: tbs-dependencies-package-repository
       namespace: tap-install
     spec:
       fetch:
         imgpkgBundle:
           image: <internal repo ref>
           tagSelection:
             semver:
             # this should be TAP major.minor.x
               constraints: "1.8.x"
   EOF
   ```
5. set up ci to watch registry.tanzu.vmware.com/build-service-dependency-updater/package-repo and relocate automatically. cluster will be watching internal repo <optional, but updates wont be automatic without it>