Skip to main content
The integration currently supports the minimum features needed to run Terminal Bench 2.1 (TB2.1). Broader Harbor support is planned; other datasets have not been validated.

Quick start

This integration requires Harbor 0.22.x and Python 3.12 or newer. Install with pip install 'contree-sdk[harbor]' and configure your connection as described below.

Connection configuration

Use your saved default profile, or supply the connection through environment variables:
Environment credentials take priority when both URL and token are set; otherwise, the client loads a saved profile. Use CONTREE_PROFILE=work to select a saved profile when environment credentials are not set. See SDK connection configuration for more about credentials, saved profiles, and configuration files.

Environment options

Pass ConTree-specific options with --ek NAME=VALUE, or through environment.kwargs in a Harbor job configuration. The environment keeps one VM running across commands, so files and background processes remain available until an idle snapshot. Background processes end at a snapshot boundary and do not resume with the next command.

Validated datasets

  • Terminal Bench 2.1 (TB2.1)

Current limitations

  • Each task needs [environment].docker_image set to a prebuilt OCI registry image containing Bash and sleep. Dockerfile builds are not supported.
  • Commands use the image’s default user. Harbor can override it with root or a numeric UID; other user names are not supported.
  • Compose, GPUs, custom host mounts, and restricted networking are not supported.
  • Operation resource settings and Docker inside the VM are not exposed by this integration. These and other ConTree capabilities will be added and validated as datasets require them.
  • --no-delete currently behaves like --delete: stopping cancels the VM and does not save a final image.

Implementation

The adapter uses the SDK’s AsyncLazySession to run Harbor commands as subprocesses in one ConTree VM. After an idle snapshot, the next command starts a VM from the saved image.