This release is a pre-release and may not be stable for production use.
adagio-server
Licensed under the MIT License. This covers the server package only; it does not change the license of the hosted Adagio application or sibling projects.
adagio-server is Adagio's outbound execution runner. It claims jobs over HTTPS,
executes them with the existing adagio-cli, and reports status and artifact paths.
It never requires an inbound network port. The initial server platform is Linux
with Python 3.11+ and user-level systemd; Docker is needed for container-backed
pipeline actions.
Each claimed job starts independently, even while other jobs are running. Adagio does not impose a job-count limit or decide whether the host has spare CPU or memory; the server owner manages resource usage. The outbound handoff is not a resource scheduler. Slurm/SGE integration is separate future work.
For the current QA prerelease:
python3 -m venv ~/.local/share/adagio-server-venv
source ~/.local/share/adagio-server-venv/bin/activate
python -m pip install "adagio-server==0.1.0a2"
adagio-server --version
export ADAGIO_ENROLLMENT_TOKEN='<code from Adagio>'
adagio-server install --url https://app.dev.adagio.run
The install command exchanges the short-lived token for a machine credential, stores that credential with user-only permissions, then installs and starts the systemd user service. Jobs execute with the same Unix filesystem permissions as the user who installed it, including supplementary groups used for shared data. Docker-backed actions also run as that user. Images that require root during startup are therefore unsupported on a Runtime Server. Granting someone permission to use a server grants code execution as its Linux account. An account with access to a rootful Docker daemon can administer the host; this is a trusted execution environment, not a sandbox for untrusted users or plugins. Supplementary groups are preserved for shared-data access. Do not assume UID flags or dropped container capabilities isolate a Docker socket made accessible through mounted paths. Docker socket isolation needs separate review. The command prints a note when an administrator may need to enable systemd user lingering for service operation after logout.
Install the package in a persistent virtual environment (or with pipx) rather
than an ephemeral uvx environment. The systemd unit records the interpreter
path that performed the installation.
New installations select a stable loopback port from the Linux user id so
different users on a shared host do not contend for port 8760. Pass
--port 23456 to choose an explicit port. The listener remains bound to
127.0.0.1 and requires a per-process bearer token.
For an interactive foreground process, use adagio-server start. Plain HTTP and
disabled TLS verification are refused unless install --insecure is passed for a
development deployment.
Updates and reporting
Contract mismatches stop with exit code 42 and an update-required message;
credential rejection uses exit code 41. Neither condition should restart the
same configuration repeatedly. After upgrading an existing installation, rerun
adagio-server install with a fresh enrollment token to update its systemd unit
(older units only suppress restarts for code 41).
Telemetry uploads have bounded text, metadata, and batch sizes. Large logs are
sent in small batches with continued long lines; full logs remain on the server.
Oversized optional event/provenance data is replaced by a telemetry_truncated
marker rather than losing the job's lifecycle report. These limits do not apply
to input/output file sizes or job counts.
This revision requires the adapter-schemas 0.3.1 release candidate. Source builds
use the exact commit recorded in vendor/adapter-schemas/VENDOR_PIN; publication
and release-tag verification must be completed before package-index installation.
Release operators and QA testers should follow RELEASING.md in the repository.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adagio_server-0.1.0a2.tar.gz.
File metadata
- Download URL: adagio_server-0.1.0a2.tar.gz
- Upload date:
- Size: 50.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d469843e35071356122226adb111a64a5e3149e697ba9353a5cf997bc42f295
|
|
| MD5 |
9be5fea2ffa5522e52245c7160ec258d
|
|
| BLAKE2b-256 |
d72c053cb42e85f117ac9ea72173e103e63198c7d19e77f4c1e30f6c11f7d588
|
Provenance
The following attestation bundles were made for adagio_server-0.1.0a2.tar.gz:
Publisher:
server-package.yml on cymis/adagio-local
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adagio_server-0.1.0a2.tar.gz -
Subject digest:
3d469843e35071356122226adb111a64a5e3149e697ba9353a5cf997bc42f295 - Sigstore transparency entry: 2719981498
- Sigstore integration time:
-
Permalink:
cymis/adagio-local@8841c3aeebc295dad118a10d86c1bc56ac6f683c -
Branch / Tag:
refs/tags/server-v0.1.0a2 - Owner: https://github.com/cymis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
server-package.yml@8841c3aeebc295dad118a10d86c1bc56ac6f683c -
Trigger Event:
release
-
Statement type:
File details
Details for the file adagio_server-0.1.0a2-py3-none-any.whl.
File metadata
- Download URL: adagio_server-0.1.0a2-py3-none-any.whl
- Upload date:
- Size: 37.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e142681bfc9c8502621345f7de8aaeab39d8125a5fe233c464a29d72841c9313
|
|
| MD5 |
7edeabf1a2b69853bbcb021bdb8af119
|
|
| BLAKE2b-256 |
00d5ed55350529ef054fd11da2a6901eef85ead48a8b62ee9e45e1eac34ec6f8
|
Provenance
The following attestation bundles were made for adagio_server-0.1.0a2-py3-none-any.whl:
Publisher:
server-package.yml on cymis/adagio-local
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adagio_server-0.1.0a2-py3-none-any.whl -
Subject digest:
e142681bfc9c8502621345f7de8aaeab39d8125a5fe233c464a29d72841c9313 - Sigstore transparency entry: 2719981783
- Sigstore integration time:
-
Permalink:
cymis/adagio-local@8841c3aeebc295dad118a10d86c1bc56ac6f683c -
Branch / Tag:
refs/tags/server-v0.1.0a2 - Owner: https://github.com/cymis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
server-package.yml@8841c3aeebc295dad118a10d86c1bc56ac6f683c -
Trigger Event:
release
-
Statement type: