This topic tells you about Tanzu Build Service dependencies.
ImportantUbuntu Bionic will stop receiving support in April 2023. The Bionic stack for Tanzu Build Service is deprecated and will be removed in a future release. VMware recommends that you migrate builds to Jammy stacks. For how to migrate builds, see Use Jammy stacks for a workload.
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.
To upgrade Tanzu Build Service dependencies outside of Tanzu Application Platform releases, use the kpack
CLI. This enables you to consume new versions of buildpacks and stacks and remediate vulnerabilities more quickly. For more information, see Updating Build Service Dependencies.
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. 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.
To use the Jammy stacks or migrate an existing workload, configure the workload with a Jammy builder by using the param
flag, for example, --param clusterBuilder=base-jammy
. For further instructions, see Configure the cluster builder.
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.
By default, Tanzu Application Platform is installed with Bionic as the default stack.
To default all workloads to the Jammy stack, include the stack_configuration: jammy-only
field under the buildservice:
section in tap-values.yaml
. This installs Tanzu Application Platform and Tanzu Build Service with no Bionic-based builders, and all workloads will be built with Jammy.
ImportantOnly use this configuration if you are sure all workloads can be safely built with Jammy.
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)default
(identical to base
)base-jammy
(ubuntu Jammy)For more information, see Stacks in the VMware Tanzu Buildpacks documentation.
The lite
dependencies contain the following buildpacks in Tanzu Application Platform v1.3:
Buildpack | Version | Supported Stacks |
---|---|---|
Java Buildpack for VMware Tanzu (Lite) | 8.0.0 | Bionic, Jammy |
Java Native Image Buildpack for Tanzu (Lite) | 6.39.0 | Bionic, Jammy |
.NET Core Buildpack for VMware Tanzu (Lite) | 1.19.2 | Bionic, Jammy |
Node.js Buildpack for VMware Tanzu (Lite) | 1.17.1 | Bionic, Jammy |
Python Buildpack for VMware Tanzu (Lite) | 2.3.1 | Bionic, Jammy |
Go Buildpack for VMware Tanzu (Lite) | 2.0.4 | Bionic, Jammy |
Web Servers Buildpack for VMware Tanzu (Lite) | 0.4.1 | Bionic, Jammy |
Ruby Buildpack for VMware Tanzu (Lite) | 1.5.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.14.3 | Bionic, Jammy |
Base Stack of Ubuntu Bionic for VMware Tanzu | 1.2.34 | Bionic |
Base Stack of Ubuntu Jammy for VMware Tanzu | 0.1.16 | 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)default
(identical to base
)full
(ubuntu Bionic)tiny
(ubuntu Bionic)base-jammy
(ubuntu Jammy)full-jammy
(ubuntu Jammy)tiny-jammy
(ubuntu Jammy)For more information, see Stacks in the VMware Tanzu Buildpacks documentation.
The full
dependencies contain the following buildpacks in Tanzu Application Platform v1.3:
Buildpack | Version | Supported Stacks |
---|---|---|
Java Buildpack for VMware Tanzu | 8.0.0 | Bionic, Jammy |
Java Native Image Buildpack for Tanzu | 6.39.0 | Bionic, Jammy |
.NET Core Buildpack for VMware Tanzu | 1.19.2 | Bionic, Jammy |
Node.js Buildpack for VMware Tanzu | 1.17.1 | Bionic, Jammy |
Python Buildpack for VMware Tanzu | 2.3.1 | Bionic, Jammy |
Ruby Buildpack for VMware Tanzu | 1.5.0 | Bionic, Jammy |
Go Buildpack for VMware Tanzu | 2.0.4 | Bionic, Jammy |
PHP Buildpack for VMware Tanzu | 2.0.0 | Bionic, Jammy |
Web Servers Buildpack for VMware Tanzu | 0.4.1 | Bionic, Jammy |
Procfile Buildpack for VMware Tanzu | 5.4.0 | Bionic, Jammy |
And the following components:
Component | Version | Supported Stacks |
---|---|---|
CNB Lifecycle | 0.14.3 | Bionic, Jammy |
Tiny Stack of Ubuntu Bionic for VMware Tanzu | 1.3.88 | Bionic |
Base Stack of Ubuntu Bionic for VMware Tanzu | 1.2.34 | Bionic |
Full Stack of Ubuntu Bionic for VMware Tanzu | 1.3.121 | Bionic |
Tiny Stack of Ubuntu Jammy for VMware Tanzu | 0.1.17 | Jammy |
Base Stack of Ubuntu Jammy for VMware Tanzu | 0.1.16 | Jammy |
Full Stack of Ubuntu Jammy for VMware Tanzu | 0.1.38 | 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 |
ImportantThe automatic updates feature is being deprecated. The recommended way to patch dependencies is by upgrading Tanzu Application Platform to the latest patch version. For upgrade instructions, see Upgrading Tanzu Application Platform.
You can configure Tanzu Build Service to update dependencies in the background as they are released. This enables workloads to keep up to date automatically.
Tanzu Build Service descriptors are curated sets of dependencies that include stacks and buildpacks. Descriptors are only used if Tanzu Build Service is configured for automatic dependency updates. Descriptors are imported into Tanzu Build Service to update the entire cluster.
Descriptors are continuously released on the VMware Tanzu Network Build Service Dependencies page to provide updated buildpack dependencies and updated stack images. This allows the use of dependencies that have patched CVEs. For more information about buildpacks and stacks, see the VMware Tanzu Buildpacks documentation.
There are two types of descriptor, lite
and full
. The different descriptors can apply to different use cases and workload types. The differences between the full
and lite
descriptors are the same as the the differences between full
and lite
dependencies. For a comparison of the lite
and full
descriptors, see About lite and full dependencies.