
In this post, I will be demonstrating the steps to install Tanzu Application Platform packages from the Tanzu Application Platform package repository. Before you install the packages, ensure you have prepared the setup as mentioned in post.
Add TAP package repository
Install Tanzu Application Platform profile
Tanzu Application Platform can be installed through pre-defined profiles or through individual packages. TAP contains the following two profiles. In this demo, I will cover full profile with ootb supply chain with testing and scanning, gcr.io for image repo, service_type Load Balancer.
-
-
- Full
- Light
-
Note: refer to doc for more details
KP-DEFAULT-REPO
is a writable repository in your registry. Tanzu Build Service dependencies are written to this location. Examples:- Harbor has the form
kp_default_repository: "my-harbor.io/my-project/build-service"
- Dockerhub has the form
kp_default_repository: "my-dockerhub-user/build-service"
orkp_default_repository: "index.docker.io/my-user/build-service"
- Google Cloud Registry has the form
kp_default_repository: "gcr.io/my-project/build-service"
- Harbor has the form
KP-DEFAULT-REPO-USERNAME
is the username that can write toKP-DEFAULT-REPO
. You should be able todocker push
to this location with this credential.- For Google Cloud Registry, use
kp_default_repository_username: _json_key
- For Google Cloud Registry, use
KP-DEFAULT-REPO-PASSWORD
is the password for the user that can write toKP-DEFAULT-REPO
. You candocker push
to this location with this credential.- For Google Cloud Registry, use the contents of the service account JSON key.
DESCRIPTOR-NAME
is the name of the descriptor to import automatically. Current available options at time of release:tap-1.0.0-full
contains all dependencies, and is for production use.tap-1.0.0-lite
smaller footprint used for speeding up installs. Requires Internet access on the cluster.
SERVER-NAME
is the hostname of the registry server. Examples:- Harbor has the form
server: "my-harbor.io"
- Dockerhub has the form
server: "index.docker.io"
- Google Cloud Registry has the form
server: "gcr.io"
- Harbor has the form
REPO-NAME
is where workload images are stored in the registry. Images are written toSERVER-NAME/REPO-NAME/workload-name
. Examples:- Harbor has the form
repository: "my-project/supply-chain"
- Dockerhub has the form
repository: "my-dockerhub-user"
- Google Cloud Registry has the form
repository: "my-project/supply-chain"
- Harbor has the form
DOMAIN-NAME
has a value such aslearningcenter.example.com
.INGRESS-DOMAIN
is the subdomain for the host name that you point at thetanzu-shared-ingress
service’s External IP address.GIT-CATALOG-URL
is the path to thecatalog-info.yaml
catalog definition file from either the included Blank catalog (provided as an additional download named “Blank Tanzu Application Platform GUI Catalog”) or a Backstage-compliant catalog that you’ve already built and posted on the Git infrastucture you specified in the Integration section.MY-DEV-NAMESPACE
is the namespace where you want theScanTemplates
to be deployed to. This is the namespace where the scanning feature is going to run.TARGET-REGISTRY-CREDENTIALS-SECRET
is the name of the secret that contains the credentials to pull an image from the registry for scanning. If built images are pushed to the same registry as the Tanzu Application Platform images, this can reuse thetap-registry
secret.
Note: Using the tap-values.yaml configuration, buildservice.enable_automatic_dependency_updates: false can be used to pause the automatic update of Build Service dependencies.
- Since we are using Google Cloud Registry in this demo, I have a simple script to parse the credentials. Replace the necessary values before executing.
Configure TAP GUI
- On your Git repository of choice, extract the Blank Software Catalog from VMware Tanzu Network. You link to that
catalog-info.yaml
file when you configure your catalog later. In this demo I am using an existing catalog-info.yaml file from my repo - Collect the
External IP
of LoadBalancer by running and update tap-values.yaml file
- Add the following section to
tap-values.yml
by using the following template, and replace all placeholders with your relevant values.
- Updated yaml file should be similar to below:
Update the package profile:
- Access the external IP collected earlier with port 7000 to access the TAP GUI. Ex: http://EXTERNAL-IP:7000