Skip to main content

aidp-bundle

Deploy AIDP resources as a bundle — create a bundle, deploy all its assets atomically, query deployment status, and purge. Use when the user wants to promote/deploy a set of AIDP resources together, manage a deployment bundle, check bundle deployment status, or tear one down. Preview API via `oci raw-request`; verify live first.

Ir para a instalação

Informações da origem

Repositório
oracle-samples/oracle-aidp-samples
Última atividade na origem
24 de junho de 2026 às 07:21
Idioma detectado do SKILL.md
inglês
Estrelas
46
Forks
30

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
aidp-bundle
description
Deploy AIDP resources as a bundle — create a bundle, deploy all its assets atomically, query deployment status, and purge. Use when the user wants to promote/deploy a set of AIDP resources together, manage a deployment bundle, check bundle deployment status, or tear one down. Preview API via `oci raw-request`; verify live first.
# `aidp-bundle` — resource bundles (Preview) Deploy/manage AIDP resource bundles. **CLI (preferred):** the official `aidp bundle …` CLI (Oracle-supported, versioned — see [references/aidp-cli-map.md]($HOME/.aidp/references/aidp-cli-map.md)): `aidp bundle create | deploy | fetch-deployment-status | purge | sync-bundle`. **Fallback:** `oci raw-request` against the same REST `Bundle` API (auth + base URL in [references/oci-raw-request.md]($HOME/.aidp/references/oci-raw-request.md)) when the CLI isn't installed. Self-contained: no MCP and no `ai-data-engineer-agent` repo required. > **Preview + verify-first (no-fabrication):** `Bundle` is **Preview**. On this env (`20240831`, > `dataLakes`) the Bundle resource may be **not provisioned** — expect a `404` (wrong version/prefix or > feature not enabled in the tenancy). Confirm with a live read-only `getDeploymentStatus` before any > deploy/purge, and record the result in `references/rest-endpoint-map.md`. Do not present endpoints as > confirmed until a live 2xx (or documented 4xx) is recorded. ## When to use - "Deploy these resources together", "promote a bundle", "what's the deployment status", "purge/tear down a bundle". ## Commands / endpoints (workspace-scoped; Preview) **CLI (preferred):** `aidp bundle create` · `aidp bundle deploy` · `aidp bundle fetch-deployment-status` (read-only — verify here) · `aidp bundle purge` · `aidp bundle sync-bundle`. **Fallback (`oci raw-request`)** — default `20240831`, probe `20260430` only after a tenancy upgrade. Base: `https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…` - `POST /workspaces/{ws}/bundles` — create - `POST /workspaces/{ws}/bundles/actions/deploy` — deploy all resources - `POST /workspaces/{ws}/bundles/actions/getDeploymentStatus` — status (read-only — verify here) - `POST /workspaces/{ws}/bundles/actions/purge` — destroy deployed resources > A `404` (REST) or not-provisioned error (CLI) on any of these means **not provisioned** in this tenancy > (or wrong version/prefix — try the other per > [references/oci-raw-request.md]($HOME/.aidp/references/oci-raw-request.md)), not that the request was > malformed. Report it as a feature-availability gap, not a failure. For mutating ops (create / deploy / purge / sync-bundle), persist the request body to `.aidp/payloads/` and confirm first — see [references/payloads.md]($HOME/.aidp/references/payloads.md). ## What a bundle is (manifest + structure) A bundle is a self-contained, portable package of selected workspace assets (jobs + agent flows) plus their dependencies and code artifacts, captured so they can be recreated in another workspace/environment. The **manifest is `aidp_workbench.yaml`** at the bundle root; the bundle mirrors the source workspace folder layout. Dependency references use template variables, e.g. `$${jobs.dependencies.training_compute.compute.key}`, `$${jobs.dependencies.training_job.job.key}`, `$${jobs.dependencies.training_aicompute.aicompute.key}`, plus `$${bundle.root}` for artifact paths. (Source: CLI README `bundle create` long description, lines 180–209.) Bundles can **only be created inside Git-backed workspace folders** (CLI README line 180). ## Create body (`CreateBundleDetails`) `POST …/workspaces/{ws}/bundles` (CLI: `aidp bundle create <AI-DATA-PLATFORM-ID> <WORKSPACE-KEY> --body <JSON>`). Wire fields from SDK `create_bundle_details.py:38-50` and `bundled_resource.py:39-47`: | Field | Required | Type | Notes | |---|---|---|---| | `name` | yes | str | bundle folder name (`create_bundle_details.py:45-49`, README:208) | | `path` | yes | str | parent folder in the workspace volume (`create_bundle_details.py`:46, README:209) | | `description` | no | str | (`create_bundle_details.py`:47) | | `bundledResources` | yes | array of `BundledResource` | jobs/agentflows to include (`create_bundle_details.py`:49) | | ↳ `resourceType` | yes | enum | `JOB` \| `AGENTFLOW` (`bundled_resource.py:18,22,76`) | | ↳ `resourceKey` | yes | str | workspace-unique key for the resource (`bundled_resource.py`:46) | ```json { "name": "<bundle-name>", "path": "/Workspace/Shared/<git-folder>", "description": "<optional>", "bundledResources": [ { "resourceType": "JOB", "resourceKey": "<job-key>" }, { "resourceType": "AGENTFLOW", "resourceKey": "<agentflow-key>" } ] } ``` `deploy` / `fetch-deployment-status` / `purge` / `sync-bundle` each take only **`path`** (the bundle root folder) — `DeployBundleDetails`/`FetchBundleDeploymentStatusDetails`/`PurgeBundleDetails`/`SyncBundleDetails` are all single-field `{ "path": "<bundle-root>" }` (`deploy_bundle_details.py:26-32`, `fetch_bundle_deployment_status_details.py:26-32`, `purge_bundle_details.py:26-32`, `sync_bundle_details.py:26-32`; README:240/267/295/323). `fetch-deployment-status` returns `BundleDeploymentStatus`: `status` ∈ `SUCCEEDED` \| `FAILED` \| `IN_PROGRESS` \| `NOT_DEPLOYED` (`bundle_deployment_status.py:18,22,26,30,107`), plus `timeStarted`, `timeCompleted`, `message`, and `resources[]` (each `{type: JOB|AGENTFLOW, key, name}` — `bundle_deployed_resource.py:18,22,50`). ## Promotion (dev → test → prod) — Git + overrides Promotion is a **Git workflow**, not a separate API: the whole bundle folder is committed/pushed, pulled into the target workspace, and deployed there; bundles can be promoted across environments (dev → test → prod) via Git (CLI README line 180, "Git integration and promotion"). Environment-specific values are parameterized in the manifest and overridden per environment: - The manifest declares defaults under `defaults.variables`, e.g. `job_compute_key: "$${jobs.dependencies.small.compute.key}"`, referenced in descriptors as `$${var.<name>}` (e.g. `"clusterKey": "$${var.job_compute_key}"`). (CLI README:180.) - Per-workspace overrides live in **`.aidp/overrides.yaml`** inside the bundle — *not committed to Git* so the bundle stays portable. When an override is supplied, the referenced dependency (e.g. compute) is **not created** and the provided value is used; with no override, the system falls back to the manifest default (which may create a bundled dependency). This is what lets prod reuse existing infrastructure while dev creates fresh resources. (CLI README:180.) - `sync-bundle` preserves `.aidp/overrides.yaml` and `.aidp/aidp.state.json` when reconciling against `.aidp/resource_origins.yaml` — so refreshing source content does not clobber env-specific config (CLI README:309). Override candidate shapes (SDK models — the request/response objects, **not** the on-disk yaml): the `BundleOverrides` object groups candidates as `{ compute: [ComputeOverrideItem], aicompute: [AiComputeOverrideItem] }` (`bundle_overrides.py:30-37`). Each item is `{ name, variableName, defaultValue, overrideValue, jobs|agentflows: [...] }` (`compute_override_item.py:42-56`, `ai_compute_override_item.py:42-56`). The create/update-overrides request wraps it as `CreateOrUpdateBundleOverridesDetails{ path, overrides }` (`create_or_update_bundle_overrides_details.py:30-37`); the read request is `GetBundleOverridesDetails{ path }` (`get_bundle_overrides_details.py:26-32`). > **Verify-first (overrides REST surface):** the get/update-overrides **HTTP endpoints have no `aidp bundle` > CLI command** (CLI README lists only create/deploy/fetch-deployment-status/purge/sync-bundle) and were not > live-probed on this env. The override *models* above are SDK-confirmed, but the exact override action path > (e.g. `…/bundles/actions/{getOverrides|createOrUpdateOverrides}`) is **unconfirmed** — do not present it as > a verified endpoint. For day-to-day promotion, edit `.aidp/overrides.yaml` in the bundle folder (the > Oracle-documented path) rather than calling an unverified override API. ## Workflow 1. **Verify** with `aidp bundle fetch-deployment-status` (CLI) or `getDeploymentStatus` (REST fallback — `oci raw-request`, `--profile DEFAULT` → session fallback). A not-provisioned / `404` here = Bundle not provisioned → stop and report. 2. Create the bundle — `CreateBundleDetails` body above (`name`/`path`/`bundledResources[{resourceType,resourceKey}]`). Bundle folder must be inside a Git-backed workspace path. 3. **Deploy** (`{path}`) → poll async (202) to terminal via `aidp-observability`; report per-resource status from `fetch-deployment-status` (`SUCCEEDED`/`FAILED`/`IN_PROGRESS`/`NOT_DEPLOYED`). 4. **Promote** (dev → test → prod): commit/push the bundle folder, pull into the target workspace, set `.aidp/overrides.yaml` for that environment, then deploy there. `sync-bundle` refreshes source content while preserving overrides. 5. **Purge** (`{path}`) only on explicit confirmation — tears down deployed resources (does **not** delete the bundle files). ## Guardrails - `deploy` and especially `purge` are high-impact — show the resource set and confirm before running. ## References - [references/aidp-cli-map.md]($HOME/.aidp/references/aidp-cli-map.md) — skill → official `aidp` CLI command map (primary engine) - [references/oci-raw-request.md]($HOME/.aidp/references/oci-raw-request.md) · [references/rest-endpoint-map.md]($HOME/.aidp/references/rest-endpoint-map.md) - [references/payloads.md]($HOME/.aidp/references/payloads.md) — persist + confirm request bodies for mutating ops
Ver no GitHub