## 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>