### 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]" ```