This topic tells you about Tanzu Build Service dependencies.
ImportantUbuntu Bionic will stop receiving support in April 2023. The Bionic stack is deprecated and will be removed in a future release. VMware recommends that you migrate builds to Jammy stacks. For Tanzu Application Platform v1.5 and later, the default stack for Tanzu Build Service is Jammy.
To build OCI images, Tanzu Build Service has the following dependencies: Cloud Native Buildpacks, Stacks, and Lifecycles.
When Tanzu Application Platform is installed with Tanzu Build Service, it is bootstrapped with a set of dependencies. No extra configuration is required. Each version of Tanzu Application Platform and Tanzu Build Service contains new dependencies.
When Tanzu Application Platform is upgraded, new dependencies are installed which might cause workload images to rebuild. To ensure dependency compatibility, Tanzu Build Service only releases patches for dependencies in patch versions of Tanzu Application Platform. For upgrade instructions, see Upgrade the full dependencies package.
By default, Tanzu Build Service is installed with the lite set of dependencies, which are smaller-footprint and contain a subset of the buildpacks and stacks in the full set of dependencies. For a comparison of lite and full dependencies, see Dependency comparison later in this topic.
To view the set of dependencies installed with Tanzu Build Service, inspect the status of the cluster builders by running:
kubectl get clusterbuilder -o yaml
Cluster builders contain stack and buildpack metadata.
Tanzu Application Platform v1.3 and later supports Ubuntu v22.04 (Jammy) based builds and will default to it from Tanzu Application Platform v1.5 and later.
Ubuntu Bionic will stop receiving support in April 2023. VMware recommends that you migrate builds to Jammy.
For more information about support for Jammy stacks, see About lite and full dependencies later in this topic.
NoteWhile upgrading apps to a newer stack, you might encounter the build platform erroneously reusing the old build cache. If you encounter this issue, delete and recreate the workload in Tanzu Application Platform, or delete and recreate the image in Tanzu Build Service.
Each version of Tanzu Application Platform is released with two types of Tanzu Build Service dependencies: lite and full. These dependencies consist of the buildpacks and stacks required for application builds. Each type serves different use cases. Both types are suitable for production workloads.
By default, Tanzu Build Service is installed with lite dependencies, which do not contain all buildpacks and stacks. To use all buildpacks and stacks, you must install the full dependencies. For instructions about installing full dependencies, see Install full dependencies.
For a table comparing the differences between full and lite dependencies, see Dependency comparison.
The lite dependencies are the default set installed with Tanzu Build Service.
lite dependencies contain a smaller footprint to speed up installation time, but do not support all workload types. For example, lite dependencies do not contain the PHP buildpack and cannot be used to build PHP workloads.
The lite dependencies contain the following stacks:
base (Ubuntu Bionic)base-jammy (Ubuntu Jammy)default (identical to base-jammy)For more information, see Stacks in the VMware Tanzu Buildpacks documentation.
The lite dependencies contain the following buildpacks in Tanzu Application Platform v1.5:
| Buildpack | Version | Supported Stacks |
|---|---|---|
| Java Buildpack for VMware Tanzu (Lite) | 8.8.0 | Bionic, Jammy |
| Java Native Image Buildpack for Tanzu (Lite) | 6.42.3 | Bionic, Jammy |
| .NET Core Buildpack for VMware Tanzu (Lite) | 2.3.0 | Bionic, Jammy |
| Node.js Buildpack for VMware Tanzu (Lite) | 2.1.0 | Bionic, Jammy |
| Python Buildpack for VMware Tanzu (Lite) | 2.3.3 | Bionic, Jammy |
| Go Buildpack for VMware Tanzu (Lite) | 2.0.8 | Bionic, Jammy |
| Web Servers Buildpack for VMware Tanzu (Lite) | 0.8.0 | Bionic, Jammy |
| Ruby Buildpack for VMware Tanzu (Lite) | 2.1.0 | Bionic, Jammy |
| Procfile Buildpack for VMware Tanzu (Lite) | 5.4.0 | Bionic, Jammy |
And the following components:
| Component | Version | Supported Stacks |
|---|---|---|
| CNB Lifecycle | 0.16.0 | Bionic, Jammy |
| Base Stack of Ubuntu Bionic for VMware Tanzu | 1.2.45 | Bionic |
| Base Stack of Ubuntu Jammy for VMware Tanzu | 0.1.25 | Jammy |
The Tanzu Build Service full set of dependencies contain more buildpacks and stacks, which allows for more workload types.
The dependencies are pre-packaged, so builds do not have to download them from the Internet. This can speed up build times and allows builds to occur in air-gapped environments. Due to the larger footprint of full, installations might take longer.
The full dependencies are not installed with Tanzu Build Service by default, you must install them. For instructions for installing full dependencies, see Install Tanzu Build Service with full dependencies.
The full dependencies contain the following stacks, which support different use cases:
base (Ubuntu Bionic)full (Ubuntu Bionic)tiny (Ubuntu Bionic)base-jammy (Ubuntu Jammy)full-jammy (Ubuntu Jammy)tiny-jammy (Ubuntu Jammy)default (identical to base-jammy)For more information, see Stacks in the VMware Tanzu Buildpacks documentation.
The full dependencies contain the following buildpacks in Tanzu Application Platform v1.5:
| Buildpack | Version | Supported Stacks |
|---|---|---|
| Java Buildpack for VMware Tanzu | 8.8.0 | Bionic, Jammy |
| Java Native Image Buildpack for Tanzu | 6.42.3 | Bionic, Jammy |
| .NET Core Buildpack for VMware Tanzu | 2.3.0 | Bionic, Jammy |
| Node.js Buildpack for VMware Tanzu | 2.1.0 | Bionic, Jammy |
| Python Buildpack for VMware Tanzu | 2.3.3 | Bionic, Jammy |
| Ruby Buildpack for VMware Tanzu | 2.1.0 | Bionic, Jammy |
| Go Buildpack for VMware Tanzu | 2.0.8 | Bionic, Jammy |
| PHP Buildpack for VMware Tanzu | 2.0.0 | Bionic, Jammy |
| Web Servers Buildpack for VMware Tanzu | 0.8.0 | Bionic, Jammy |
| Procfile Buildpack for VMware Tanzu | 5.4.0 | Bionic, Jammy |
And the following components:
| Component | Version | Supported Stacks |
|---|---|---|
| CNB Lifecycle | 0.16.0 | Bionic, Jammy |
| Tiny Stack of Ubuntu Bionic for VMware Tanzu | 1.3.99 | Bionic |
| Base Stack of Ubuntu Bionic for VMware Tanzu | 1.2.45 | Bionic |
| Full Stack of Ubuntu Bionic for VMware Tanzu | 1.3.141 | Bionic |
| Tiny Stack of Ubuntu Jammy for VMware Tanzu | 0.1.26 | Jammy |
| Base Stack of Ubuntu Jammy for VMware Tanzu | 0.1.25 | Jammy |
| Full Stack of Ubuntu Jammy for VMware Tanzu | 0.1.54 | Jammy |
The following table compares the contents of the lite and full dependencies.
| lite | full | |
|---|---|---|
| Faster installation time | Yes | No |
| Dependencies pre-packaged (faster builds) | No | Yes |
| Supports air-gapped installation | No | Yes |
| Contains base stack | Yes | Yes |
| Contains full stack | No | Yes |
| Contains tiny stack | No | Yes |
| Contains Jammy stack | Yes | Yes |
| Supports Java workloads | Yes | Yes |
| Supports Node.js workloads | Yes | Yes |
| Supports Go workloads | Yes | Yes |
| Supports Python workloads | Yes | Yes |
| Supports Ruby workloads | No | Yes |
| Supports .NET Core workloads | Yes | Yes |
| Supports PHP workloads | No | Yes |
| Supports static workloads | Yes | Yes |
| Supports binary workloads | Yes | Yes |
| Supports web servers buildpack | Yes | Yes |
New versions of dependencies such as buildpacks, and stacks are available in new versions of Tanzu Application Platform. To update dependencies, VMware recommends that you update to the latest patch version of Tanzu Application Platform.
lite or full dependencies, upgrade to the latest patch version of Tanzu Application Platform to update your dependencies.full dependencies, you must complete some extra steps after you upgrade to the latest patch. For more information, see Upgrading the full dependencies package.NoteWhen Tanzu Application Platform is upgraded, new dependencies are installed which might cause workload images to rebuild.
Updating buildpack, and stack dependencies outside of upgrades to Tanzu Application Platform is possible but VMware does not recommend it, as we cannot guarantee those dependencies are compatible with the other components of Tanzu Application Platform. For more information about updating a stack and a buildpack, see Cluster stacks update and Cluster store update in the Tanzu Build Service documentation. Both workflows require the kp CLI.