Skip to content

Deploy: Configure

Set up the deploy section in arena.yaml to target a cloud provider.

Add a deploy section to your arena.yaml:

deploy:
provider: agentcore
config:
region: us-west-2
FieldRequiredDescription
providerYesAdapter name (matches the binary promptarena-deploy-{provider})
configNoProvider-specific configuration (passed as JSON to the adapter)
environmentsNoPer-environment config overrides

The config section is opaque to the CLI — its contents are defined by each adapter. Check your adapter’s documentation for supported fields.

Example for the agentcore adapter:

deploy:
provider: agentcore
config:
region: us-west-2
account_id: "123456789012"
instance_type: t3.medium
timeout: 300

Add environment-specific configuration that merges with the base config:

deploy:
provider: agentcore
config:
region: us-west-2
instance_type: t3.medium
environments:
dev:
config:
instance_type: t3.small
staging:
config:
instance_type: t3.medium
production:
config:
region: us-east-1
instance_type: c5.large
enable_autoscaling: true

When you deploy with --env production, the CLI:

  1. Starts with the base config
  2. Merges in environments.production.config
  3. Later values override earlier ones
  4. New keys are added

Effective config for --env production:

{
"region": "us-east-1",
"instance_type": "c5.large",
"enable_autoscaling": true
}

Effective config for --env dev:

{
"region": "us-west-2",
"instance_type": "t3.small"
}

Test that your configuration is valid:

Terminal window
# Plan will validate config through the adapter
promptarena deploy plan

If the adapter supports config validation, it will report errors before planning:

Error: invalid config: region "invalid-region" not supported

By default, the CLI auto-detects *.pack.json files in your project directory. To specify explicitly:

Terminal window
promptarena deploy --pack dist/app.pack.json

By default, the CLI looks for arena.yaml. To use a different file:

Terminal window
promptarena deploy --config deploy.yaml

The simplest possible deploy configuration:

deploy:
provider: agentcore

This uses the adapter’s defaults with no custom config and the "default" environment.

A full configuration with multiple environments:

# arena.yaml
prompt_configs:
- id: greeting
file: prompts/greeting.yaml
deploy:
provider: agentcore
config:
region: us-west-2
account_id: "123456789012"
instance_type: t3.medium
timeout: 300
environments:
dev:
config:
instance_type: t3.small
timeout: 60
staging:
config:
timeout: 300
production:
config:
region: us-east-1
instance_type: c5.large
timeout: 600
enable_autoscaling: true

Ensure your arena.yaml has a deploy key at the top level:

deploy:
provider: agentcore

The provider field is mandatory. Add it to your deploy config.

The CLI can’t find a binary named promptarena-deploy-{provider}. Install the adapter:

Terminal window
promptarena deploy adapter install agentcore