Add Agent Engine deploy support for prebuilt container image URI
- Dominant language
- Go
- Stars
- 8.8k
- Forks
- 1k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 88
Description
## Summary
Add support for deploying an Agent Engine from a prebuilt Artifact Registry Docker image instead of always packaging local source.
## Motivation
`cloud.google.com/go/aiplatform` v1.124.0 supports setting `ReasoningEngineSpec_ContainerSpec_` with `ImageUri` when creating or updating a Reasoning Engine. This allows users to deploy an already-built container image, avoiding the local `source_dir` archive and generated Dockerfile
flow.
Example image URI:
`us-central1-docker.pkg.dev/my-project/my-repo/my-image:tag`
## Proposed Behavior
Add an --image_url flag to adkgo deploy agentengine.
When --image_url is provided:
- Use ReasoningEngineSpec_ContainerSpec_
- Set ContainerSpec.ImageUri to the provided image URI
- Skip Dockerfile generation
- Skip source archive creation
- Skip local source archive upload
- Reject local-source-only flags:
- --entry_point_path
- --source_dir
- --temp_dir
- explicitly provided --server_port
When --image_url is not provided, preserve the existing local source archive deploy behavior.
## Impact
This adds an alternative deployment path for users who already build and publish their agent container images through CI/CD. Existing local source deployment behavior should remain unchanged.
## Acceptance Criteria
- adkgo deploy agentengine --image_url deploys using ContainerSpec.ImageUri.
- Existing local source deploy flow continues to work.
- Update flow supports both source archive and image URI deployment sources.
- Help text includes an Artifact Registry image URI example.
- Mutually exclusive local-source flags fail fast when used with --image_url.
## Testing Plan
- Run targeted package tests:
go test ./cmd/adkgo/internal/deploy/agentengine
- Manually verify help text includes the --image_url flag and example URI.
- If available, run an E2E deploy with a test Artifact Registry image.
## Documentation / Alignment
This changes CLI behavior and should be reflected in user-facing deployment docs.
Contributor guide
Assessment
This issue has not been assessed yet.