Skip to main content

Agent

Agent​

Deployable AI agent definition.

Declares the high-level intent for an AI agent hosted on Agent Engine (Vertex AI Reasoning Engine). Mirrors the Application manifest pattern but targets Agent Engine instead of Cloud Run, GKE, or Compute Engine; the engine pairs it with an AgentDeploymentConfig to provision the ReasoningEngine resource, the per-agent service account and its IAM bindings, and the staging bucket used for source upload.

PropertyTypeDescription
apiVersionstringAPI schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1.
kindstringResource kind discriminator. Identifies this document as an Agent so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant Agent.
metadatamapClassification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, project) are read by the engine to resolve this manifest's identity and its parent in the dependency graph.
specSpecDesired agent configuration. The authoritative, user-authored specification for this agent. See Spec.

Spec​

User-authored agent specification.

Identifies the agent's source build, target Project and hosting platform, and the access-control grants applied to its service account. Mirrors ApplicationDefinition — the same build_definition/project/target model adapted for AI agents.

PropertyTypeDescription
descriptionstringHuman-readable description of the agent. Optional free text describing the agent's role and purpose. Not read by the engine when provisioning resources (the per-environment description comes from AgentDeploymentConfig); it serves as documentation for the portal UI and as context for AI assistants reasoning about the manifest.
targetstringTarget agent hosting platform. Selects where the agent runs; currently only AGENT_ENGINE is accepted (maps to Vertex AI Reasoning Engine) and this is enforced by schema validation. The executor always provisions Agent Engine, so the field acts as a forward-looking discriminator rather than a runtime switch.
projectstringTarget Project manifest name. Required. Name of the Project manifest the agent deploys into, determining the GCP project where its ReasoningEngine, per-agent service account, and IAM bindings are provisioned. Validated to exist in every environment of the parent OrganizationalUnit.
accessControlAgentAccessControlConfigAgent access-control grants. Permissions the agent's service account receives over other platform resources — secrets, buckets, Pub/Sub topics, databases, and additional IAM roles. See AgentAccessControlConfig. Referenced dependencies are validated at plan time, and the AgentDeploymentConfig executor turns each grant into the corresponding IAM binding.
buildDefinitionstringSource build definition. Required. Name of the BuildDefinition manifest (type: AGENT) that packages this agent as a versioned wheel. Creates a dependency on that build; the agent computer resolves the publish ArtifactRegistry (from the build's agent.registry) and the package name to compose the deployable artifact reference for Agent Engine.

AgentAccessControlConfig​

Aggregates all external access rules an AI agent requires.

Mirrors ApplicationAccessControlConfig but defined as a separate type to allow agent-specific access patterns to diverge independently. Agents deployed to Agent Engine (Vertex AI Reasoning Engine) may need different access semantics than containerized applications (e.g., no Redis volume mounts, no mesh-aware URLs).

PropertyTypeDescription
additionalRoleslist of stringExtra IAM roles for the agent service account. A list of additional IAM roles granted to the agent's service account beyond the base roles (monitoring, logging, tracing, and aiplatform.user).
pubsubApplicationAccessControlPubsubConfigPub/Sub publish and subscribe grants. The agent's permission to publish to or subscribe from specific Pub/Sub topics. See ApplicationAccessControlPubsubConfig.
bucketslist of ApplicationAccessControlBucketConfigCloud Storage bucket access rules. A list of bucket access rules describing which Cloud Storage buckets the agent may read from or write to. See ApplicationAccessControlBucketConfig.
databaseApplicationAccessControlDatabaseConfigPostgreSQL database access. The agent's access to a specific PostgreSQL database instance and schema. See ApplicationAccessControlDatabaseConfig.
secretslist of SecretsEntrySecrets consumed by the agent. A map from Secret manifest name to the configuration describing how that secret is exposed to the agent (typically as an environment variable). See SecretSourceConfig.

ApplicationAccessControlPubsubConfig​

Configures Pub/Sub interaction permissions for a workload.

Translates to roles/pubsub.publisher and roles/pubsub.subscriber IAM bindings assigned to the application's underlying service account.

PropertyTypeDescription
publishTolist of stringTopics the workload may publish to. A list of PubSub manifest names this workload is allowed to publish messages to. Each entry grants roles/pubsub.publisher to the workload's service account on the corresponding topic.
subscribeTolist of stringTopics the workload may subscribe to. A list of PubSub manifest names this workload is allowed to create subscriptions for and pull messages from. Each entry grants roles/pubsub.subscriber to the workload's service account on the corresponding topic.

ApplicationAccessControlDatabaseConfig​

Configures PostgreSQL interaction permissions for a workload.

Executes dynamic DDL (CREATE USER, GRANT) against the target SQL instance using an administrative proxy, setting up specific schema rights.

PropertyTypeDescription
namestringTarget Database manifest name. The name of the Database manifest this application requires access to. Resolves to a concrete AlloyDB/PostgreSQL instance during computation.
schemastringDatabase schema to connect to. The specific database (schema) within the instance the application connects to. Feeds the computed schema and per-deployment access grants used by the Database executor to provision users, roles, and grants.
privilegeslist of stringSQL privileges to grant on the schema. A list of SQL privileges granted to the application's database role on the target schema. Each entry (one of USAGE, CREATE, ALL) translates into GRANT statements executed against the PostgreSQL instance.
readOnlyboolConnect against a read replica. When true, the application is wired for read-only access, typically to connect to a read replica rather than the primary instance.
extensionslist of stringPostgreSQL extensions to enable. A list of PostgreSQL extensions to enable in the target database for this application. Each entry runs CREATE EXTENSION IF NOT EXISTS; extensions are merged across all applications sharing a schema in the computed database schema.
secretSourceSecretSourceConfigCredential source for the database. Required. Defines how the application obtains its database credentials, e.g. from which Secret manifest and how it is exposed (environment variable or file mount). See SecretSourceConfig.

SecretsEntry​

PropertyTypeDescription
keystring
valueSecretSourceConfig

ApplicationAccessControlBucketConfig​

Configures Google Cloud Storage interaction permissions for a workload.

Translates to roles/storage.objectViewer or roles/storage.objectUser IAM bindings assigned to the application's service account, and can map specific paths.

PropertyTypeDescription
namestringTarget Bucket manifest name. Required. The name of the Bucket manifest this application requires access to. The bucket must exist in every environment defined by the parent ReleaseTrack.
sourcestringSource repository to sync into the bucket. Optional reference to a GithubRepository manifest whose contents seed the bucket. The CI/CD system uses this to set up a gcloud storage rsync job that mirrors the repository data into the bucket.
permissionstringAccess level granted on the bucket. The permission level for this bucket: READ_ONLY grants roles/storage.objectViewer, and WRITE grants roles/storage.objectUser to the application's service account on the bucket.
mountPathstringIn-container mount path for the bucket. The absolute path at which the bucket is mounted (via Cloud Storage FUSE) inside the container. When omitted, permissions are still granted but the bucket is not mounted as a filesystem.
subPathstringRestrict access to a bucket sub-path. A sub-path (prefix) within the bucket that access is scoped to; when omitted, access covers the whole bucket. Commonly used to mount a specific folder of the bucket into the container.
promoteboolPromote bucket contents with the release. When true, the bucket's content is promoted through the ReleaseTrack alongside the application, typically for shipping generic application configuration data with each release.
envVarstringEnvironment variable to receive the bucket name. The name of an environment variable populated with the resolved bucket name, giving the application the bucket name as plain configuration instead of a filesystem mount. Mutually exclusive with mount_path.

SecretSourceConfig​

Defines how a secret should be retrieved and mounted into a workload.

Triggers IAM bindings for Secret Manager payload access. Values are resolved JIT and passed into the container via environment variables or file mounts.

PropertyTypeDescription
envVarstringEnvironment variable name for the secret. The name of the environment variable populated with the secret's value. Mutually exclusive with file_path: set exactly one to choose environment-variable versus file-mount delivery.
versionstringSecret Manager version to resolve. The specific version of the secret to retrieve from the backend, either latest or a numeric version like 1. When omitted, latest is assumed.

  • McpConfig — Governed MCP server deployment
  • AgentDeploymentConfig — Version pinning per environment
  • Application — Standard application deployment (non-agent)
  • Secret — Secrets referenced in accessControl.secrets
  • Database — Databases referenced in accessControl.database
  • PubSub — Topics referenced in accessControl.pubsub