Cloud Builder

Overview

Garden Cloud Builder is a new remote Docker image build service available exclusively for Garden Cloud and Enterprise customers. This service is designed to provide a robust and efficient platform for building images which can then be deployed by Garden.

Key Features

Remote Build Capabilities

  • Perform Docker builds on powerful remote infrastructure, freeing up local and/or remote in-cluster resources while significantly reducing build times.

  • Seamlessly integrate with your existing Garden workflows and pipelines.

  • Utilize shared Docker layer caching to speed up builds by reusing previously built layers, across your projects and users.

  • Automatically fall back to local or in-cluster building if limits are exceeded or the builder is unavailable.

Multi-platform builds

  • We currently support two architectures: linux/amd64 and linux/arm64

  • More platforms to follow.

Pick your builder's size

Not every project requires the same amount of memory and CPU so Garden Cloud Builders come in 4 sizes:

  • Small: 2vCPU 4GB

  • Medium: 4vCPU 8GB

  • Large: 8vCPU 16GB

  • XL: 16vCPU 32GB

By default, an XL Instance is provisioned to every customer. Please contact your Customer Success representative to switch size and/or discuss the different options.

Pricing

Please contact your customer success manager to learn more about pricing.

Configuration

NOTE: In order to use Cloud Builder you must be logged in to Garden Cloud/Enterprise. You can do so by connecting your project to your instance and running garden login. See Log In from Garden Core CLI for more detailed instructions.

You can then start using Cloud Builder by either configuring your Providers or by passing an environment variable.

Provider configuration

In your project configuration file, add or edit the container provider as follows:

# In your project garden.yaml

providers:
  [...]
  - name: container
    gardenContainerBuilder:
      enabled: true

Environment variable

Alternatively, you can run your commands setting the GARDEN_CONTAINER_BUILDER environment variable to 1.

We suggest using this method for testing purposes and switching afterward to the provider configuration method above.

# From your terminal or pipeline

GARDEN_CONTAINER_BUILDER=1 garden build

If you configured your project correctly, you should see something similar to the lines below in your logs:

Successful Cloud Builder CLI logs

Additionally, your commands page should mark the build actions as Accelerated as well:

Successful Cloud Builder Commands UI

Multi-platform builds

If you want a container action to be built for multiple platforms, you can specify those in its spec.

Note: Cloud Builder currently supports only linux/amd64 and linux/arm64, with more platform to follow.

kind: Build
type: container
name: api-example
description: This is an example of a container build action
spec:
  [...]
  platforms: [ "linux/amd64", "linux/arm64" ]

Please refer to our docs for the full details.

Cloud UI

Cloud Builder comes with a UI component to help you understand your usage, troubleshoot errors, and debug your Garden command runs. We implemented two new views:

Cloud Organization Page

For when you want the bird's-eye view of usage and active builders.

Cloud Builder Org Overview
Cloud Builder Org Builders

Project Cloud Builder page

Here you can see the list of all Cloud Builder builds, scoped to a specific project, for when you want to troubleshoot slow or failed builds.

Cloud Builder Project Builds List
Cloud Builder Commands Error

Last updated

Was this helpful?