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 withpip 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_imageset to a prebuilt OCI registry image containing Bash andsleep. Dockerfile builds are not supported. - Commands use the image’s default user. Harbor can override it with
rootor 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-deletecurrently behaves like--delete: stopping cancels the VM and does not save a final image.
Implementation
The adapter uses the SDK’sAsyncLazySession to run Harbor commands as
subprocesses in one ConTree VM. After an idle snapshot, the next command starts
a VM from the saved image.