Skip to main content

Overview

Domino manages a collection of files for every Project. Your code and small supporting files are Project files; artifacts are files that are neither source code nor data, typically outputs like plots, charts, and serialized models; results are the files an execution generates or modifies when it runs. Results and artifacts suit small outputs; anything large or numerous belongs in Datasets, not Project files.

How it works

You add files to a Project by uploading them from the web application, the Domino CLI, or the API; by creating and editing them in the web application; or by generating them from code in a Workspace or Job. Every change to a Project’s files creates a new revision of the Project. When you start an execution, Domino loads the Project’s files onto the machine hosting it (the executor) and mounts them at /mnt. Domino tracks changes to that directory and records them as a new revision when the run completes. External Git repositories added to the Project appear under /repos on the executor; see DFS Projects. In your code, reference Code files at /mnt/code and Artifacts at /mnt/artifacts; for example, a file under Artifacts called job_output.json is available at /mnt/artifacts/job_output.json.
Replace /mnt with the $DOMINO_WORKING_DIR environment variable to keep your code portable, especially when Projects are exported and imported.
Who can see Project files is controlled by the Project owner through visibility and collaborator roles. The most secure configuration is Private visibility plus collaborators with the Results Consumer role: read-only access for specific users, invisible to everyone else. Use it for Projects with the most sensitive data and results.

Special files

Domino reserves several files that control revisioning, results display, and run comparison:
  • README: Every Project starts with one, shown on the Overview page and written in Markdown. To reference other Project files from the README, prepend raw/latest to the file’s relative path (for example, raw/latest/images/overview.jpg).
  • .dominoignore: Works like a .gitignore. File patterns listed here are excluded from new revisions, whether created by CLI sync, a run, or a Workspace session. Patterns can be filenames, folder names (which exclude their contents), or UNIX shell expressions with * wildcards, relative to the Project root. A .git/ directory is always ignored even if unlisted. The default .dominoignore contains commented examples.
  • .dominoresults: Controls which files appear in the results for the Project’s runs. It lists patterns to include: with no patterns, every file a run changed appears; with patterns, only matching files do. For example, *.pdf and results/*.png on separate lines list all PDFs plus PNGs in the results/ folder.
  • dominostats.json: Read by the compare jobs feature to compare key measurables between runs. Domino deletes it at the start of each run, so it only exists in a revision if the run wrote a new version.

Work with artifacts

In a DFS Project, artifacts live alongside the rest of your files; save them like any other file. In a Git-based Project, artifacts live in a dedicated Artifacts section stored in the DFS; see save and pull artifacts. Your Workspaces, Jobs, and other executables read artifact files like any other data. To persist dataframes for model training with versioning and metadata, use TrainingSets. If you manage many artifacts, the Domino CLI is faster than the UI.
Reading Project artifacts during executions can hurt performance: many events trigger a Project file sync, and running executions must wait for the sync to finish before accessing the data again. Prefer Datasets for anything beyond small files.

When to use Datasets instead of Project files

Domino copies Project files to every execution, which breaks down at scale: Projects hold at most 10,000 files by default, individual file transfers are capped at 8 GB by default, and transfer time grows with data size, stretching startup and shutdown of Workspaces, Jobs, Apps, and Launchers. Datasets avoid all three problems: no file-count limit, no per-file size limit, and they attach to executions as networked file systems, so nothing transfers at start or finish. Project files are also not accessible from an on-demand compute cluster. Copy the files you need into the Project’s default Dataset, then follow the data-access instructions for your cluster type: Spark, Ray, Dask, or OpenMPI.

Add existing data to a Project

The data you need may already be in your deployment. In the Project’s Data section you can browse the Datasets and data sources you have permission to use across all Projects (external data volumes don’t appear until you add them). Add what you need: data sources, Datasets, or external data volumes. If data you expect is missing, it may need to be shared with you, or added to Domino by you or your administrator; contact the Project owner or your Domino admin.

Get execution results

View an execution’s results (the files your code generated or modified) from the Runs tab of your Project, or the latest results on the Results tab. By default, Domino saves new files a run produces into your Project folder, and they download at your next sync. If your runs generate large results you don’t need every time, save them to isolated results branches instead: go to Settings > Results and choose whether runs save to the main line or to isolated branches. Isolated results are permanently saved and viewable in the application, but they aren’t inputs to later runs or downloaded by sync unless you explicitly ask. To download isolated results, open the execution on the Jobs page and click Results to download each file, or use the CLI’s domino download-results command (domino help download-results shows the syntax).

Monitor Project assets across the deployment

The Assets Portfolio shows the Domino endpoints, Apps, Launchers, and Scheduled Jobs in Projects you own or collaborate on. System Administrators see assets in all Projects, and Project Managers see assets in Projects owned by users in their organizations. Open it from Govern > Assets Portfolio; pick an asset type to see its table of metrics, and use the column picker to choose columns.