0036 โ Isolated Icarus runtime laboratory
Status: Superseded by DD-0055 and the Icarus-hpc laboratory. Historical only; its implementation was removed from the repository. Date: 5 October 2026. Its exchange policy is superseded by the 26 October 2026 amendment to 0035; the description below records the original experiment.
The user authorised implementation and deployment of the proposed local AAI and
Slurm proof on their Debian development VM. This decision governs the laboratory
under dx/metallo/icarus-runtime; it assigns no production context authority.
Run/Attempt ownership and durable Site commands are exercised through an immutable revision of the external Metallo reference slice. A reproducible overlay adds canonical initiating-member identity, TLS, member consent, ephemeral credentials, Slurm execution, scratch handover and typed member projections. Production services cannot import laboratory code. Their context and route registries remain empty.
The reference retains its shared execution database across its experimental Workload, Execution and Site packages. This is inherited experimental scope, not permission for production contexts to share database authority. Member consent uses a separate private database. Runtime database roles cannot create schemas; migrations and provider topology creation run as explicit administration jobs.
A Metallo dev-box VM hosts the control-plane workloads, in the separate
icarus-lab namespace with its own PostgreSQL, and native Slurm daemons. The
dev-box role owns K3s. Identity comes from the local AAI of
decision 0035; only the processes that call it
are admitted across the namespace boundary.
An ordinary pharos-runtime account opens TLS Site connections and submits member
JWTs to loopback slurmrestd. It receives no offline token, provider administrator
credential, SSH execution key, sudo rule or Kubernetes administration credential.
Test Unix accounts are entries under ou=pharos in a host OpenLDAP directory,
resolved through SSSD. Only pharos-agent may write that subtree, without passwords;
ACLs, slapo-unique and slapo-constraint bound what it writes, and no directory
administrator password exists. Project associations remain administration fixtures.
The local Keycloak extension emits site_username only for the Icarus exchange.
The broker explicitly translates an allow-listed resource URI to stock Keycloak's
audience parameter. Exact staging RFC 8707 behaviour needs separate qualification.
Slurm signature/expiry validation is complemented by runtime issuer, audience and
identity admission; native audience/issuer enforcement is not assumed.
The browser uses NextAuth authorisation-code/PKCE login and server-selected Centrifugo Protobuf subscriptions. Tokens are delivered separately from durable commands. Submission intents recover native bindings conservatively; an uncertain submission is never blindly repeated. Results are explicitly exported by the member through scratch ACLs. A bare test job precedes external Git/Harbor/S3 and Apptainer integration, which require their own configured resources and evidence.
Exposure
The laboratory is not part of the platform's deployment: make deploy installs no
HPC, and the platform's catalogue, chart, Argo bootstrap and edge name no
laboratory (decision 0038, Laboratory routes).
make metallo-icarus, run after make deploy, brings the laboratory's own routes
in dx/metallo/icarus-runtime/routes.yaml:
The Site Runtime reaches the control plane through that one host, as an HPC site
would reach the platform's Site API. pharos keeps the AAI and its issuer. The
platform's separate site.pharos catalogue host now serves only its native Site
API prefixes; the laboratory retains icarus-site.pharos. The laboratory deploys
the Runtime's endpoints itself; the platform edge restarts no laboratory process.
Scope
Promotion into product services requires explicit owner registration and a new accepted decision addressing the reference's tenancy/database constraints. The laboratory proves the local runtime flow; it does not qualify production Icarus, Daedalus SSH, Waldur provisioning through the Site Agent or offline networking between compute hosts.
Page source
Source snapshot ยท Revision f928834c8.