Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Advanced agent setup
This guide explains how to configure the W&B Launch agent to build container images in different environments, push those images to cloud container registries, and customize the build process. Use it when you need to run launch jobs that require image builds and want to control where and how the agent produces those images. This page is for administrators and operators who deploy and manage the Launch agent.Build is only required for git and code artifact jobs. Image jobs do not require build.See Create a launch job for more information on job types.
Builders
The Launch agent supports two builders for producing container images. Choose the builder that matches the environment where the agent runs. The Launch agent can build images using Docker or Kaniko.- Kaniko: Builds a container image in Kubernetes without running the build as a privileged container.
- Docker: Builds a container image by executing a
docker buildcommand locally.
builder.type key in the Launch agent config. Set it to docker, kaniko, or noop to turn off build. By default, the agent Helm chart sets the builder.type to noop. The agent uses additional keys in the builder section to configure the build process.
If you don’t specify a builder in the agent config and a working docker CLI is found, the agent defaults to Docker. If Docker isn’t available, the agent defaults to noop.
Use Kaniko for building images in a Kubernetes cluster. Use Docker for all other cases.
Push to a container registry
To run built images on your compute target, the agent must push them to a container registry that the target can pull from. The following sections explain how the agent tags and uploads images. The Launch agent tags all images it builds with a unique source hash. The agent pushes the image to the registry specified in thebuilder.destination key.
For example, if you set the builder.destination key to my-registry.example.com/my-repository, the agent tags and pushes the image to my-registry.example.com/my-repository:[SOURCE-HASH]. If the image exists in the registry, the agent skips the build.
Agent configuration
The agent reads its configuration from a YAML file. Where you provide that file depends on how you run the agent. If you deploy the agent with the Helm chart, provide the agent config in theagentConfig key in the values.yaml file.
If you invoke the agent yourself with wandb launch-agent, provide the agent config as a path to a YAML file with the --config flag. By default, the agent loads the config from ~/.config/wandb/launch-config.yaml.
Within your Launch agent config (launch-config.yaml), provide the name of the target resource environment and the container registry for the environment and registry keys, respectively.
The following tabs demonstrate how to configure the Launch agent based on your environment and registry.
- AWS
- Google Cloud
- Azure
The AWS environment configuration requires the region key. Set the region to the AWS region that the agent runs in.The agent uses
launch-config.yaml
boto3 to load the default AWS credentials. See the boto3 documentation for more information on how to configure default AWS credentials.Agent permissions
The agent must have permission to push images to your container registry and, if you use Kaniko, to read and write build context in cloud storage. The agent permissions required vary by use case.Cloud registry permissions
The agent needs registry permissions so it can create repositories, upload image layers, and push tagged images. The following permissions are required for Launch agents to interact with cloud registries.- AWS
- Google Cloud
- Azure
Storage permissions for Kaniko
The Launch agent requires permission to push to cloud storage if the agent uses the Kaniko builder. Kaniko uses a context store outside of the pod that runs the build job.- AWS
- Google Cloud
- Azure
Use Amazon S3 as the context store for the Kaniko builder on AWS. Use the following policy to give the agent access to an S3 bucket:
Customize the Kaniko build
To override defaults such as caching behavior or environment variables for the build pod, customize the Kubernetes Job that Kaniko runs. Specify the Kubernetes Job spec that the Kaniko job uses in thebuilder.kaniko-config key of the agent configuration. For example:
launch-config.yaml
Deploy Launch agent into CoreWeave
If your workloads benefit from GPU-accelerated infrastructure, you can deploy the Launch agent to CoreWeave Cloud. CoreWeave is a cloud infrastructure built for GPU-accelerated workloads. For information on how to deploy the Launch agent to CoreWeave, see the CoreWeave documentation.You need to create a CoreWeave account to deploy the Launch agent into a CoreWeave infrastructure.