### Initiate a Domino Official Extension install or upgrade
Source: https://docs.domino.ai/llms.txt
Starts the installation or upgrade process for a Domino Official Extension.
```APIDOC
## POST /api-reference/extensions/initiate-a-domino-official-extension-install-or-upgrade.md
### Description
Begins the process of installing or upgrading a Domino Official Extension.
### Method
POST
### Endpoint
/api-reference/extensions/initiate-a-domino-official-extension-install-or-upgrade.md
### Parameters
#### Request Body
- **extension_name** (string) - Required - The name of the extension to install or upgrade.
- **version** (string) - Optional - The specific version to install or upgrade to.
```
--------------------------------
### Initiate Extension Install or Upgrade
Source: https://docs.domino.ai/api-reference/extensions/initiate-a-domino-official-extension-install-or-upgrade
This API endpoint is used to start the installation or upgrade process for a Domino official extension. It allows specifying the extension to install, the project, and the retry mode.
```APIDOC
## POST /v4/extensions/install
### Description
Initiates the installation or upgrade of a Domino official extension.
### Method
POST
### Endpoint
/v4/extensions/install
### Parameters
#### Query Parameters
- **extensionId** (string) - Required - The ID of the extension to install or upgrade.
- **projectId** (string) - Required - The ID of the project where the extension will be installed.
- **retryMode** (RetryOfficialExtensionInstallMode) - Optional - The retry mode for the installation. Can be `clean` or `fromFailed`.
### Request Body
This endpoint does not require a request body.
### Response
#### Success Response (200)
- **manifestSchemaVersion** (integer) - The schema version of the extension manifest.
- **extensionVersion** (string) - The version of the extension being installed.
- **extensionReleaseTag** (string) - The release tag of the extension.
- **isComplete** (boolean) - Indicates if the installation process is complete.
- **startedAt** (string) - The timestamp when the installation started (ISO 8601 format).
- **startedBy** (UserSummary) - Information about the user who started the installation.
- **steps** (array of ExtensionInstallStep) - An array of steps detailing the installation process.
#### Response Example
```json
{
"manifestSchemaVersion": 1,
"extensionVersion": "1.2.0",
"extensionReleaseTag": "v1.2.0",
"isComplete": false,
"startedAt": "2023-10-27T10:00:00Z",
"startedBy": {
"id": "user123",
"firstName": "John",
"lastName": "Doe",
"userName": "johndoe"
},
"steps": [
{
"name": "Download Extension",
"startedAt": "2023-10-27T10:00:05Z",
"transitions": [
{
"status": "IN_PROGRESS",
"timestamp": "2023-10-27T10:00:05Z"
}
],
"logs": []
}
]
}
```
### Error Handling
#### Failure Response (4xx/5xx)
- **requestId** (string) - The ID used to correlate the request with server actions.
- **errors** (array of strings) - A list of errors that caused the request to fail.
#### Error Response Example
```json
{
"requestId": "bbd78579-93c4-45ee-a983-0d5c8da6d5b1",
"errors": [
"Invalid extensionId provided."
]
}
```
```
--------------------------------
### Install VS Code and Add Start Script to Dockerfile
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/workspaces/launch-a-workspace/launch-a-vs-code-workspace
This Dockerfile snippet installs a specific version of VS Code and sets up a custom start script. The script configures user settings, extensions, and launches the code-server with specific parameters. Use this when you need to pre-install VS Code in your compute environment.
```dockerfile
USER root
# Install VS Code (we install an older version so the Python extension works)
RUN curl -fOL https://github.com/cdr/code-server/releases/download/v3.10.2/code-server_3.10.2_amd64.deb && \
dpkg -i code-server_3.10.2_amd64.deb
# Add a VS Code start script
RUN mkdir -p /opt/domino/workspaces/vscode && \
chown -R ubuntu:ubuntu /opt/domino/workspaces/vscode && \
echo "#!/bin/bash" >> /opt/domino/workspaces/vscode/start && \
echo "SETTINGS_DIR=${DOMINO_WORKING_DIR}/.vscode" >> /opt/domino/workspaces/vscode/start && \
echo "FILE=${SETTINGS_DIR}/settings.json" >> /opt/domino/workspaces/vscode/start && \
echo "# Add a user setting file if it doesn't exist. Add in DOMINO_WORKING_DIR so it persists across sessions" >> /opt/domino/workspaces/vscode/start && \
echo "if [ ! -f \"$FILE\" ]; then" >> /opt/domino/workspaces/vscode/start && \
echo "sudo mkdir -p \"${FILE%/*}\"" >> /opt/domino/workspaces/vscode/start && \
echo "sudo chown -R ubuntu:ubuntu ${SETTINGS_DIR}" >> /opt/domino/workspaces/vscode/start && \
echo "printf \"{\"" >> /opt/domino/workspaces/vscode/start && \
echo " \"extensions.autoUpdate\": false,\"" >> /opt/domino/workspaces/vscode/start && \
echo " \"extensions.autoCheckUpdates\": false,\"" >> /opt/domino/workspaces/vscode/start && \
echo " \"python.pythonPath\": \"$(which python)\",\"" >> /opt/domino/workspaces/vscode/start && \
echo " \"workbench.startupEditor\": \"none\",\"" >> /opt/domino/workspaces/vscode/start && \
echo " \"workbench.colorTheme\": \"Default Dark+\"" >> /opt/domino/workspaces/vscode/start && \
echo "}" > ${FILE}" >> /opt/domino/workspaces/vscode/start && \
echo "fi" >> /opt/domino/workspaces/vscode/start && \
echo "code-server ${DOMINO_WORKING_DIR} --user-data-dir ${SETTINGS_DIR} --auth none --bind-addr 0.0.0.0:8888 --extensions-dir ${HOME}/.local/share/code-server/extensions --disable-telemetry" >> /opt/domino/workspaces/vscode/start && \
chmod +x /opt/domino/workspaces/vscode/start
USER ubuntu
```
--------------------------------
### Start a New Run
Source: https://docs.domino.ai/cloud/reference/python-sdk/python-wrapper-for-domino-api
Initiate a new run for a specified Python file with arguments. This example shows starting a run for 'main.py' with 'arg1' and 'arg2'.
```python
# Start a run of file main.py using the latest copy of that file
domino.runs_start(["main.py", "arg1", "arg2"])
```
--------------------------------
### Start a Dash App
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/products/apps/common-app-frameworks
Use this snippet to initialize a basic Dash application. Ensure 'dash' is installed and set 'routes_pathname_prefix' for Domino routing.
```python
import dash
app = dash.Dash(__name__, routes_pathname_prefix='/')
if __name__ == '__main__':
app.run(port=8888, host='0.0.0.0', debug=True)
```
--------------------------------
### Get Extension Install by ID
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
Retrieves a Domino Official Extension installation by its ID. This endpoint is useful for getting specific details about an extension that has already been installed or is being managed.
```APIDOC
## GET /api/v1/extension-installs/{id}
### Description
Retrieves a specific Domino Official Extension installation by its unique identifier.
### Method
GET
### Endpoint
/api/v1/extension-installs/{id}
### Parameters
#### Path Parameters
- **id** (string) - Required - The unique identifier of the extension installation to retrieve.
### Responses
#### Success Response (200)
- **id** (string) - The unique identifier of the extension installation.
- **extensionId** (string) - The unique identifier of the extension.
- **version** (string) - The installed version of the extension.
- **status** (string) - The current status of the extension installation (e.g., 'installed', 'pending', 'failed').
- **createdAt** (string) - The timestamp when the extension installation was created.
- **updatedAt** (string) - The timestamp when the extension installation was last updated.
#### Error Responses
- **401** - Unauthorized: The current user cannot perform this operation because they are not logged in.
- **403** - Forbidden: The current user is not authorized to perform this operation.
- **404** - Not Found: The specified extension installation ID does not exist.
- **500** - Internal Server Error: An unexpected error occurred on the server.
```
--------------------------------
### Start App Version (v1)
Source: https://docs.domino.ai/api-reference/appversions/start-app-version-v1
Launches an instance for a specified application version. Deployment overrides for hardware tier and autoscaling are applied and mirrored back to the version.
```APIDOC
## POST /api/apps/v1/apps/{appId}/versions/{versionId}/start
### Description
Launch an instance for a version. Optional deployment overrides (`hardwareTierId`, `autoscalingSpecification`) are mirrored back to the version so it always reflects the last launch.
### Method
POST
### Endpoint
/api/apps/v1/apps/{appId}/versions/{versionId}/start
### Parameters
#### Path Parameters
- **appId** (string) - Required - The ID of the application.
- **versionId** (string) - Required - The ID of the application version.
#### Request Body
- **deployment** (object) - Required - Deployment overrides for this launch. This includes `hardwareTierId` and `autoscalingSpecification`.
### Request Example
```json
{
"deployment": {
"hardwareTierId": "your_hardware_tier_id",
"autoscalingSpecification": {
"minReplicas": 1,
"maxReplicas": 5,
"coolDownSeconds": 300
}
}
}
```
### Response
#### Success Response (200)
- **id** (string) - The ID of the app version.
- **createdAt** (number) - The creation timestamp of the app version.
- **updatedAt** (number) - The last update timestamp of the app version.
- **versionNumber** (integer) - The version number.
- **description** (string) - The description of the app version.
- **tags** (array) - An array of tags associated with the app version.
- **currentInstance** (object) - Summary information of the current instance.
- **deployment** (object) - Deployment configuration of the app version.
- **bundle** (object) - Bundle information for the app version.
- **content** (object) - Content details of the app version.
#### Response Example
```json
{
"id": "v1_abcdef1234567890",
"createdAt": 1678886400,
"updatedAt": 1678886400,
"versionNumber": 1,
"description": "Initial version",
"tags": [],
"currentInstance": {
"id": "inst_xyz789",
"state": "RUNNING",
"createdAt": 1678886400
},
"deployment": {
"hardwareTierId": "your_hardware_tier_id",
"autoscalingSpecification": {
"minReplicas": 1,
"maxReplicas": 5,
"coolDownSeconds": 300
}
},
"bundle": {},
"content": {}
}
```
```
--------------------------------
### Set up Local Input Data with Domino Python Library
Source: https://docs.domino.ai/cloud/platform-capabilities/features/flows/define-flows
Facilitates setting up local input data for a task by using helper functions from the Domino Python library. This example demonstrates setting up blob and primitive inputs, and manually copying a local file.
```python
import shutil
from flytekitplugins.domino.helpers import BlobDataLocation, PrimitiveDataLocation, setup_workflow_data
blobs = [
BlobDataLocation(
# you can find blob URLs by inspecting node executions in the Domino Flyte UI
"s3://flyte-data-bucket/past/execution1/output/some_csv",
# the input name will incorrectly be inferred as "some_csv" from the blob url,
# so the local_filename kwarg must be provided and match the input name expected by the task code
local_filename="my_csv_one",
),
BlobDataLocation("s3://flyte-data-bucket/past/execution2/input/my_csv_two")
]
primitives = [
PrimitiveDataLocation(
"my string input data",
"my_str",
),
PrimitiveDataLocation(
42,
"my_int",
)
]
setup_workflow_data(blobs, primitives)
shutil.copyfile("test_data.csv", "/workflow/inputs/my_csv_three")
# now, the task code can be run locally
```
--------------------------------
### OpenAPI Specification for Get Official Extension Install
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
This OpenAPI specification defines the GET request to retrieve an official extension install by its ID. It details the path, parameters, and response schemas.
```yaml
openapi: 3.0.3
info:
title: Domino Public API
description: Domino Public API Endpoints
version: cloud
servers: []
security:
- DominoApiKey: []
- BearerAuthentication: []
tags:
- name: AIGateway
- name: AppInstances
- name: AppVersions
- name: Apps
- name: AsyncPredictions
- name: AuditTrail
- name: BillingTag
- name: BillingTagSettings
- name: Cost
- name: CustomMetrics
- name: DataSource
- name: DatasetRw
- name: DeploymentTargets
- name: Environments
- name: Extensions
- name: GenAI
- name: HardwareTier
- name: Jobs
- name: ModelAPI
- name: ModelAPIVersion
- name: ModelDeployment
- name: Organizations
- name: PPM
- name: PersonalAccessToken
- name: ProjectSharedDatasets
- name: ProjectTemplates
- name: Projects
- name: ProjectsCommits
- name: ProjectsFiles
- name: RegisteredModels
- name: ServiceAccounts
- name: Users
- name: Workspaces
paths:
/api/extensions/beta/official-installs/{id}:
get:
tags:
- Extensions
summary: Get a Domino Official Extension install by id
description: Returns the official extension install entry for the given id.
operationId: getOfficialExtensionInstall
parameters:
- description: The id of the OfficialExtensionInstall record.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OfficialExtensionInstallEntry'
description: Success
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
components:
schemas:
OfficialExtensionInstallEntry:
properties:
availableVersions:
description: >-
Versions from the repo's extension_versions.json with compatibility
metadata.
items:
$ref: '#/components/schemas/ExtensionAvailableVersion'
type: array
currentInstall:
allOf:
- $ref: '#/components/schemas/ExtensionInstallSnapshot'
description: >-
The last successfully completed install or upgrade. Null if no
install has completed.
nullable: true
description:
description: The GitHub repository description.
nullable: true
type: string
id:
description: >-
The id of the OfficialExtensionInstall record. Null if this
extension has not been installed yet.
nullable: true
type: string
incompleteInstall:
allOf:
- $ref: '#/components/schemas/ExtensionInstallSnapshot'
description: The currently in-progress or failed install/upgrade. Null if none.
nullable: true
installDisplayName:
description: Display name for the install card, from extension_versions.json.
nullable: true
type: string
remoteRepo:
description: The URL of the GitHub repository for this official extension.
type: string
versionsFetchFailed:
description: >-
True if fetching extension_versions.json from the remote repo
failed.
type: boolean
versionsFetchFailedReason:
description: Why the fetch failed. Only set when versionsFetchFailed is true.
nullable: true
type: string
required:
- remoteRepo
- availableVersions
- versionsFetchFailed
type: object
ExtensionAvailableVersion:
properties:
extensionVersion:
description: The human-readable semver version string.
type: string
isCompatible:
description: >-
Whether this version is compatible with the current Domino
deployment version.
type: boolean
manifestSchemaVersion:
description: The schema version of the extension manifest for this version.
type: integer
maxDominoVersion:
description: >-
Maximum Domino version this extension version supports (inclusive).
Null if no known upper bound.
nullable: true
type: string
minDominoVersion:
description: >-
Minimum Domino version required to run this extension version
```
--------------------------------
### Initialize Project
Source: https://docs.domino.ai/cloud/reference/cli/move-project-between-deployments
Initialize the project in the target deployment environment.
```shell
domino init
```
--------------------------------
### Get Extension Install by ID
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
Retrieves a specific extension install snapshot by its ID.
```APIDOC
## GET /extensions/installs/{extensionInstallId}
### Description
Retrieves a specific extension install snapshot by its ID.
### Method
GET
### Endpoint
/extensions/installs/{extensionInstallId}
### Parameters
#### Path Parameters
- **extensionInstallId** (string) - Required - The unique identifier of the extension install to retrieve.
### Response
#### Success Response (200)
- **ExtensionInstallSnapshot** (object) - Details of the extension installation snapshot.
- **id** (string) - Unique identifier for this snapshot.
- **extensionInstallId** (string) - The id of the parent ExtensionInstall record.
- **manifestSchemaVersion** (integer) - The manifest schema version that was used for this install/upgrade.
- **extensionVersion** (string) - The semver version string being installed or upgraded to.
- **extensionReleaseTag** (string) - The Git release tag for this version (e.g. "v1.2.3").
- **isComplete** (boolean) - True only when this install/upgrade operation completed successfully. False if in progress, failed, or cancelled.
- **startedAt** (string) - When this operation was started. (format: date-time)
- **startedBy** (object) - The user who initiated this operation. (See UserSummary)
- **steps** (array) - The ordered list of install/upgrade steps and their transition history. (See ExtensionInstallStep)
- **completedAt** (string) - Set when this operation completed successfully; null if still in progress, failed, or cancelled. (format: date-time, nullable: true)
- **cancelRequested** (boolean) - If true, a cancellation has been requested for this operation. (nullable: true)
- **retryRequested** (object) - If set, a retry has been requested for this operation. (See RetryOfficialExtensionInstallMode, nullable: true)
- **uninstallRequested** (boolean) - If true, an uninstall has been requested. (nullable: true)
- **uninstallAttempts** (integer) - The number of uninstall attempts made for this snapshot. (nullable: true)
- **managedDominoEntitiesV1** (object) - The Domino entities created or managed during an extension install/upgrade. (See ExtensionInstallManagedDominoEntitiesV1, nullable: true)
- **manifestV1** (object) - The extension manifest. (See ExtensionManifestV1, nullable: true)
#### Error Response (404)
- **FailureEnvelopeV1** (object) - Returned if the extension install ID is not found.
- **requestId** (string) - Id used to correlate a request with server actions.
- **errors** (array of strings) - Errors that caused a request to fail
```
--------------------------------
### Get Extension Install by ID
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
Retrieves a specific official extension installation record by its ID. This is useful for monitoring the status and progress of an extension installation.
```APIDOC
## GET /extensions/installs/{extensionInstallId}
### Description
Retrieves a specific official extension installation record by its ID.
### Method
GET
### Endpoint
/extensions/installs/{extensionInstallId}
### Parameters
#### Path Parameters
- **extensionInstallId** (string) - Required - The ID of the extension install to retrieve.
### Response
#### Success Response (200)
- **id** (string) - The unique identifier for the extension install.
- **extensionId** (string) - The ID of the Extension record.
- **projectId** (string) - The ID of the Domino project associated with this operation.
- **environmentRevisionId** (string) - The ID of the compute environment revision.
- **manifestSchemaVersion** (integer) - The schema version for the manifest.
- **status** (string) - The current status of the extension install (e.g., "pending", "running", "succeeded", "failed").
- **steps** (array) - An array of ExtensionInstallStep objects detailing the installation process.
- **createdAt** (string) - The timestamp when the extension install was created.
- **updatedAt** (string) - The timestamp when the extension install was last updated.
- **user** (object) - Information about the user who initiated the install.
- **id** (string) - The ID of the user.
- **firstName** (string) - The first name of the user.
- **lastName** (string) - The last name of the user.
- **userName** (string) - The username of the user.
#### Response Example
```json
{
"id": "ei_abcdef1234567890",
"extensionId": "ext_abcdef1234567890",
"projectId": "proj_abcdef1234567890",
"environmentRevisionId": "envrev_abcdef1234567890",
"manifestSchemaVersion": 1,
"status": "succeeded",
"steps": [
{
"name": "install_app",
"startedAt": "2023-10-27T10:00:00Z",
"transitions": [
{
"status": "pending",
"timestamp": "2023-10-27T09:59:59Z"
},
{
"status": "running",
"timestamp": "2023-10-27T10:00:00Z"
},
{
"status": "succeeded",
"timestamp": "2023-10-27T10:05:00Z"
}
],
"logs": [
"Starting app installation...",
"App installed successfully."
]
}
],
"createdAt": "2023-10-27T09:59:59Z",
"updatedAt": "2023-10-27T10:05:00Z",
"user": {
"id": "user_abcdef1234567890",
"firstName": "Jane",
"lastName": "Doe",
"userName": "janedoe"
}
}
```
```
--------------------------------
### Start Web Application
Source: https://docs.domino.ai/cloud/platform-capabilities/features/extensions/auto-model-documentation
Run this command to start the web application for configuring and running documentation generation jobs. The application is accessible at http://localhost:8000 by default.
```shell
python web_app.py
```
--------------------------------
### Create App Version and Start
Source: https://docs.domino.ai/api-reference/appversions/create-app-version-and-start-v1
Creates a new app version with specified content and execution settings, and starts it.
```APIDOC
## POST /v1/app_versions
### Description
Creates a new app version with specified content and execution settings, and starts it.
### Method
POST
### Endpoint
/v1/app_versions
### Request Body
- **dataPlaneId** (string) - Optional - Reproducibility field.
- **dfsCommitId** (string) - Required - Reproducibility field.
- **entryScript** (string) - Required - Effective entry point for the App version.
- **environmentId** (string) - Required - The ID of the environment for the app version.
- **environmentRevisionId** (string) - Required - The revision ID of the environment.
- **extendedIdentityPropagationToAppsEnabled** (boolean) - Required - Whether to enable extended identity propagation to apps.
- **externalVolumeMountIds** (array of strings) - Optional - IDs of external volume mounts.
- **gitRef** (GitRef) - Optional - Git reference information.
- **mountDatasets** (boolean) - Required - Whether to mount Domino Datasets into the App's runtime for this version.
- **netAppVolumeIds** (array of strings) - Optional - IDs of NetApp volumes.
- **resolvedCommits** (ResolvedCommits) - Optional - Resolved commit and import snapshot information.
- **autoscalingSpecification** (AppAutoscalingSpecification) - Optional - Autoscaling settings for the app version.
- **hardwareTierId** (string) - Optional - The ID of the hardware tier to use.
- **vanityUrl** (string) - Optional - A vanity URL for the app version.
### Response
#### Success Response (200)
- **id** (string) - The ID of the created app version.
- **name** (string) - The name of the app version.
- **state** (string) - The current state of the app version.
#### Error Response
- **400**: Bad Request - Error message indicating invalid input.
- **401**: Unauthorized - The current user is not logged in.
- **403**: Forbidden - The current user is not authorized to perform this operation.
- **404**: Not Found - The requested resource was not found.
- **422**: Unprocessable Entity - The server could not process the contained instructions.
- **500**: Internal Server Error - An unexpected error occurred on the server.
```
--------------------------------
### Get Extension Install by ID
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
Fetches the details of a specific Domino official extension installation by its ID. This is useful for monitoring the status or retrieving configuration of an installed extension.
```APIDOC
## GET /extensions/installs/{installId}
### Description
Retrieves the details of a specific Domino official extension installation.
### Method
GET
### Endpoint
/extensions/installs/{installId}
### Parameters
#### Path Parameters
- **installId** (string) - Required - The unique identifier of the extension installation.
### Response
#### Success Response (200)
- **id** (string) - The unique identifier of the extension installation.
- **extensionId** (string) - The unique identifier of the official extension.
- **status** (ExtensionInstallStatus) - The current status of the extension installation.
- **createdAt** (string) - The timestamp when the installation was created.
- **updatedAt** (string) - The timestamp when the installation was last updated.
#### Response Example
{
"id": "install-12345",
"extensionId": "official-extension-abc",
"status": "Completed",
"createdAt": "2023-10-27T10:00:00Z",
"updatedAt": "2023-10-27T10:05:00Z"
}
```
--------------------------------
### Install Node.js in Environment
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/jobs/create-custom-jobs
Include instructions to install necessary software and dependencies, such as Node.js, when creating a file handler for a specific file type.
```shell
RUN apt-get -y install nodejs
```
--------------------------------
### POST /apps/{appId}/versions/createAndStart
Source: https://docs.domino.ai/api-reference/appversions/create-app-version-and-start-v1
Creates a new app version with specified content and deployment fields, and then starts an instance of that version. Runtime overrides can be provided separately. For draft applications with a previous running version, omitted content fields default to the previous version's values.
```APIDOC
## POST /apps/{appId}/versions/createAndStart
### Description
Creates a new app version with specified content and deployment fields, and then starts an instance of that version. Runtime overrides can be provided separately. For draft applications with a previous running version, omitted content fields default to the previous version's values.
### Method
POST
### Endpoint
/apps/{appId}/versions/createAndStart
### Parameters
#### Path Parameters
- **appId** (string) - Required - The ID of the application.
#### Request Body
- **autoscalingSpecification** (AppAutoscalingSpecification) - Optional - Autoscaling configuration for the app instance.
- **bundleId** (string) - Optional - Guardrails bundle ID. Not applicable on drafts.
- **dataPlaneId** (string) - Optional - Data plane ID.
- **description** (string) - Optional - Description for the app version.
- **dfsCommitId** (string) - Optional - DFS commit ID.
- **entryScript** (string) - Optional - Effective entry point for the App version.
- **environmentId** (string) - Optional - Environment ID.
- **environmentRevisionId** (string) - Optional - Environment revision ID.
- **extendedIdentityPropagationToAppsEnabled** (boolean) - Optional - Whether to enable extended identity propagation to apps. Defaults to false.
- **externalVolumeMountIds** (array of strings) - Optional - IDs of external volume mounts.
- **gitRef** (GitRef) - Optional - Git reference for the app version.
- **hardwareTierId** (string) - Optional - Hardware tier ID for the app instance.
- **mountDatasets** (boolean) - Optional - Whether to mount datasets. Overrides the App's default for this version if supplied; inherits from the parent App if omitted.
- **netAppVolumeIds** (array of strings) - Optional - IDs of NetApp volumes.
- **resolvedDfsCommitId** (string) - Optional - Resolved DFS commit ID.
- **resolvedGitCommitId** (string) - Optional - Resolved Git commit ID.
- **resolvedImportedGitRepos** (array of ImportedGitRepoSnapshot) - Optional - Resolved imported Git repositories.
- **resolvedImportedProjects** (array of ImportedProjectSnapshot) - Optional - Resolved imported projects.
- **startOverrides** (AppVersionCreateAndStartRequestV1) - Optional - Deployment-only run-time overrides for the initiated instance.
- **tags** (array of AppVersionTag) - Optional - Tags for the app version.
### Response
#### Success Response (200)
- **version** (AppVersionResponseV1) - The created app version.
- **instance** (AppInstanceSummaryResponseV1) - Present only when start initiation succeeded. Details of the started app instance.
- **warnings** (array of strings) - Non-fatal warnings, e.g., start initiation failure.
```
--------------------------------
### Get CLI Help
Source: https://docs.domino.ai/cloud/reference/cli/cli-reference
Prints a list of available commands and information about each.
```bash
domino help
```
--------------------------------
### Get Official Extension Install
Source: https://docs.domino.ai/api-reference/extensions/get-a-domino-official-extension-install-by-id
Fetches the official extension install entry for a given ID. This includes details about available versions, the current installation status, and the remote repository information.
```APIDOC
## GET /api/extensions/beta/official-installs/{id}
### Description
Returns the official extension install entry for the given id.
### Method
GET
### Endpoint
/api/extensions/beta/official-installs/{id}
### Parameters
#### Path Parameters
- **id** (string) - Required - The id of the OfficialExtensionInstall record.
### Responses
#### Success Response (200)
- **availableVersions** (array) - Versions from the repo's extension_versions.json with compatibility metadata.
- **currentInstall** (object) - The last successfully completed install or upgrade. Null if no install has completed.
- **description** (string) - The GitHub repository description.
- **id** (string) - The id of the OfficialExtensionInstall record. Null if this extension has not been installed yet.
- **incompleteInstall** (object) - The currently in-progress or failed install/upgrade. Null if none.
- **installDisplayName** (string) - Display name for the install card, from extension_versions.json.
- **remoteRepo** (string) - The URL of the GitHub repository for this official extension.
- **versionsFetchFailed** (boolean) - True if fetching extension_versions.json from the remote repo failed.
- **versionsFetchFailedReason** (string) - Why the fetch failed. Only set when versionsFetchFailed is true.
#### Response Example
{
"availableVersions": [
{
"extensionVersion": "1.0.0",
"isCompatible": true,
"manifestSchemaVersion": 1,
"maxDominoVersion": "2.0.0",
"minDominoVersion": "1.0.0"
}
],
"currentInstall": {
"extensionVersion": "1.0.0",
"installTime": "2023-01-01T12:00:00Z",
"status": "completed"
},
"description": "A sample extension",
"id": "ext-123",
"incompleteInstall": null,
"installDisplayName": "Sample Extension",
"remoteRepo": "https://github.com/domino/sample-extension",
"versionsFetchFailed": false,
"versionsFetchFailedReason": null
}
```
--------------------------------
### Install Auto Model Documentation
Source: https://docs.domino.ai/cloud/platform-capabilities/features/extensions/auto-model-documentation
Clone the repository and install the package in development mode or install its dependencies directly.
```shell
# Clone or download the repository
cd auto_model_docs
# Install in development mode
pip install -e .
# Or install dependencies directly
pip install -r requirements.txt
```
--------------------------------
### Start Domino Runs
Source: https://docs.domino.ai/cloud/reference/python-sdk/python-domino
Initiate new runs within a Domino project. Examples include starting a run with specific files and arguments, executing a direct command, or starting a run from a particular commit.
```python
# Start a run of file main.py using the latest copy of that file
domino.runs_start(["main.py", "arg1", "arg2"])
# Start a "direct" command
domino.runs_start(["echo 'Hello, World!'"], isDirect=True)
# Start a run of a specific commit
domino.runs_start(["main.py"], commitId="aabbccddee")
```
--------------------------------
### Install uv for Python Package Persistence
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/workspaces/use-package-persistence
For custom (external) Python environments, install the 'uv' tool to enable package persistence. Follow the official uv installation guide to add it to your environment image.
```bash
Follow the uv installation guide to add it to your base or environment image.
```
--------------------------------
### Install Python Domino SDK from GitHub
Source: https://docs.domino.ai/cloud/reference/python-sdk/python-domino
Install a specific version of the 'dominodatalab' library directly from a GitHub archive URL using pip.
```bash
pip install https://github.com/dominodatalab/python-domino/archive/1.0.6.zip
```
--------------------------------
### Start a Flask App
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/products/apps/common-app-frameworks
Initialize a basic Flask application. This works out of the box with Domino's routing and identity headers.
```python
from flask import Flask
import os
app = Flask(__name__)
@app.route("/")
def index():
return "Hello from Flask in Domino!"
if __name__ == '__main__':
app.run(port=8888, host='0.0.0.0')
```
--------------------------------
### Get Cost Allocation with Start and End Times
Source: https://docs.domino.ai/api-reference/cost/get-the-cost-allocation-over-a-time-window
Retrieve cost allocation within a precise start and end time. Both 'start' and 'end' parameters accept RFC3339 format and must be within the specified 'window'.
```yaml
GET /api/cost/v1/allocation?window=today&start=2021-03-10T00:00:00Z&end=2021-03-11T00:00:00Z
```
--------------------------------
### Get CLI Version
Source: https://docs.domino.ai/cloud/reference/cli/cli-reference
Outputs the version of the installed Domino CLI.
```bash
domino --version
```
--------------------------------
### Pack and Unpack Any in Go
Source: https://docs.domino.ai/api-reference/adminservice/deletes-custom-:ref:`ref_flyteidladminmatchableattributesconfiguration`-for-a-1
Example demonstrating how to pack a message into an Any type and unpack it back in Go.
```go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
}
```
--------------------------------
### Protobuf Any Type Example (Go)
Source: https://docs.domino.ai/api-reference/adminservice/fetches-a-%3Aref%3A%60ref_flyteidladmintaskexecution%60
Illustrates packing and unpacking a Protobuf message with the Any type in Go. This is useful for arbitrary serialized messages.
```go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
```
--------------------------------
### Create SAS Studio TAR File
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/compute-environments/work-with-pluggable-workspaces/sas-workspace
Use this command to create a TAR archive of the SAS Studio installation directory. Ensure the installation path matches your setup.
```shell
tar — cvf SASHomeTar.tar /usr/local/SASHome
```
--------------------------------
### Get Event Download URLs OpenAPI Specification
Source: https://docs.domino.ai/api-reference/events/get-event-download-urls
This OpenAPI specification defines the GET /v1/events/download-urls endpoint. It includes parameters for start and end timestamps, and defines possible responses.
```yaml
openapi: 3.0.0
info:
contact:
email: support@dominodatalab.com
name: Domino Data Lab
url: https://tickets.dominodatalab.com/hc/en-us
description: >-
Service to ingest, process, deduplicate, and serve workspace file audit
events captured by Falco in Domino Data Lab workspaces
license:
name: Proprietary
url: https://www.dominodatalab.com/terms
title: Domino Workspace File Audit API
version: '1.0'
servers:
- url: https://mycluster.domino.tech
description: >-
Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
Domino Cloud customers, that is .domino.tech (e.g.,
acme.domino.tech). For self-hosted deployments, it is the hostname you
reach the Domino UI at.
security: []
paths:
/v1/events/download-urls:
get:
tags:
- events
summary: Get event download URLs
description: >-
Generates pre-signed download URLs for aggregated audit event Parquet
files within the specified timestamp range. Returns one URL per monthly
Parquet file. URLs are time-limited and expire after the configured
duration.
parameters:
- description: Start of the time range in Unix epoch nanoseconds
in: query
name: startTimestamp
required: true
schema:
type: string
- description: >-
End of the time range in Unix epoch nanoseconds. Must be >=
startTimestamp
in: query
name: endTimestamp
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
items:
type: string
type: array
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/server.HTTPError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/server.MiddlewareError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/server.MiddlewareError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/server.HTTPError'
components:
schemas:
server.HTTPError:
properties:
code:
description: HTTP status code
example: 400
type: integer
message:
description: Human-readable error description
example: end timestamp cannot be before start timestamp
type: string
type: object
server.MiddlewareError:
properties:
error:
description: Human-readable error description
example: Authorization header not found
type: string
type: object
```
--------------------------------
### Install Oracle Client Drivers and ROracle
Source: https://docs.domino.ai/cloud/platform-capabilities/core-concepts/data/data-source-connectors/connect-to-oracle
This Dockerfile installs Oracle Instant Client SDK and the ROracle package. Ensure you configure your internal host for Oracle clients and modify the wget step to retrieve them. It sets up environment variables for Oracle client libraries and links, then installs ROracle with specified include and library paths.
```dockerfile
USER root
RUN
wget https://download.oracle.com/otn_software/linux/instantclient/2350000/instantclient-sdk-linux.x64-23.5.0.24.07.zip -O /home/ubuntu/instantclient-sdk-linux.x64-23.5.0.24.07.zip &&
cd /home/ubuntu &&
unzip instantclient-sdk-linux.x64-23.5.0.24.07.zip &&
mv instantclient_23_5 /usr/local/lib &&
rm instantclient-sdk-linux.x64-23.5.0.24.07.zip &&
apt-get install -y libaio1
RUN
echo 'export OCI_LIB=/usr/local/lib/instantclient_23_5'
>> /home/ubuntu/.domino-defaults &&
echo 'export OCI_INC=/usr/local/lib/instantclient_23_5/sdk/include'
>> /home/ubuntu/.domino-defaults &&
echo 'export LD_LIBRARY_PATH=/usr/local/lib/instantclient_23_5:$LD_LIBRARY_PATH'
>> /home/ubuntu/.domino-defaults
RUN
cd /usr/local/lib/instantclient_23_5 &&
ln -s libclntsh.so.23.5 libclntsh.so &&
chown -R ubuntu:ubuntu /usr/local/lib/instantclient_23_5
RUN
echo '/usr/local/lib/instantclient_23_5'
> /etc/ld.so.conf.d/oracle-instantclient.conf &&
ldconfig -v
RUN
cd /home/ubuntu &&
wget https://cran.r-project.org/src/contrib/ROracle_1.3-1.tar.gz &&
R CMD INSTALL --configure-args='--with-oci-inc=/usr/local/lib/instantclient_23_5/sdk/include --with-oci-lib=/usr/local/lib/instantclient_23_5' ROracle_1.3-1.tar.gz
USER ubuntu
```
--------------------------------
### Initiate Official Extension Install
Source: https://docs.domino.ai/api-reference/extensions/initiate-a-domino-official-extension-install-or-upgrade
Creates an official extension install record if one does not exist for the given repo, then creates an install/upgrade snapshot and begins the install/upgrade process. Returns 404 if the repo is not a known Domino Official Extension. Returns 400 if there is an existing incomplete install or upgrade for this repo.
```APIDOC
## POST /api/extensions/beta/official-installs
### Description
Creates an official extension install record if one does not exist for the given repo, then creates an install/upgrade snapshot and begins the install/upgrade process. Returns 404 if the repo is not a known Domino Official Extension. Returns 400 if there is an existing incomplete install or upgrade for this repo.
### Method
POST
### Endpoint
/api/extensions/beta/official-installs
### Parameters
#### Request Body
- **remoteRepo** (string) - Required - The URL of the GitHub repository for the official extension to install or upgrade to.
- **extensionVersion** (string) - Required - The semver version string to install or upgrade to.
### Response
#### Success Response (201)
- **id** (string) - The id of the OfficialExtensionInstall record. Null if this extension has not been installed yet.
- **remoteRepo** (string) - The URL of the GitHub repository for this official extension.
- **availableVersions** (array) - Versions from the repo's extension_versions.json with compatibility metadata.
- **currentInstall** (object) - The last successfully completed install or upgrade. Null if no install has completed.
- **incompleteInstall** (object) - The currently in-progress or failed install/upgrade. Null if none.
- **versionsFetchFailed** (boolean) - True if fetching extension_versions.json from the remote repo failed.
- **description** (string) - The GitHub repository description.
- **installDisplayName** (string) - Display name for the install card, from extension_versions.json.
#### Error Response
- **400** - Bad Request: There is an existing incomplete install or upgrade for this repo.
- **404** - Not Found: The repo is not a known Domino Official Extension.
```
--------------------------------
### Install Data, Airflow, and Agent Dependencies
Source: https://docs.domino.ai/cloud/reference/python-sdk/python-domino
Installs specific dependencies for data, Airflow, and agents using Pipenv. This allows for tailored setups depending on the project's needs.
```bash
pipenv --python 3.10 install -e ".[data]" ".[airflow]" ".[agents]"
```