Tanzu Build Service integration for Supply Chain Choreographer

This topic describes how you can configure and use the Tanzu Build Service integration for Supply Chain Choreographer.

By default, the Out of the Box supply chains (ootb-supply-chain-*) in Tanzu Application Platform make use of Tanzu Build Service for building container images out of source code.

You can configure a platform operator by using tap-values.yaml:

  1. The default container image registry where application images must be pushed:

    ootb_supply_chain_basic:
      registry:
        server: <>
        repository: <>
    
  2. The name of the Kpack ClusterBuilder used by default:

    ootb_supply_chain_basic:
      cluster_builder: my-custom-cluster-builder
    

You can configure an application operator by using Workload:

  • spec.build.env are the environment variables used during the build:

    kind: Workload
    apiVersion: carto.run/v1alpha1
    metadata:
      name: tanzu-java-web-app
    spec:
      # ...
      build:
        env:
          - name: PORT
            value: "8080"
          - name: CA_CERTIFICATE
            valueFrom:
              secretKeyRef:
                name: secret-in-the-same-namespace-as-workload
                key: crt.pem
    
  • spec.params.clusterBuilder is the name of the ClusterBuilder to use for builds of that Workload:

    kind: Workload
    apiVersion: carto.run/v1alpha1
    metadata:
      name: tanzu-java-web-app
    spec:
      # ...
      params:
        - name: clusterBuilder
          value: nodejs-cluster-builder
    
  • spec.params.buildServiceBindings is the object carrying the definition of a list of service bindings to use at build time:

    ---
    kind: Workload
    apiVersion: carto.run/v1alpha1
    metadata:
      name: tanzu-java-web-app
    spec:
      # ...
      params:
        - name: buildServiceBindings
          value:
            - name: settings-xml
              kind: Secret
              apiVersion: v1
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: settings-xml
    type: service.binding/maven
    stringData:
      type: maven
      provider: sample
      settings.xml: <settings>...</settings>
    
Note

See the Kpack ServiceBinding documentation in GitHub for more details about build-time service bindings.

These configuration only take effect when Kpack is used for building a container image. If you use Dockerfile-based builds by leveraging the dockerfile parameter, see dockerfile-based builds for more information.

check-circle-line exclamation-circle-line close-line
Scroll to top icon