Skip to content

Discover primary VOSpace services from registry records #152

Description

@shinybrar

Part of Integrate upstream vosfs and fsspec-cli as canfar data.

Blocked by

Summary

Extend Science Platform Server discovery so each discovered server may gain one explicit primary VOSpace service from the same registry namespace. Never derive storage URLs from the Skaha URL.

Required behavior

  • Retain relevant registry resource records instead of filtering only /skaha.
  • Pair a Science Platform Server URI with a storage resource sharing its IVOA URI namespace.
  • The built-in IDP catalog declares the preferred primary resource leaf: cadcarc; srcnetcavern.
  • Use the exact registry URL, removing only the terminal /capabilities when storing the base endpoint.
  • Validate that the selected resource exposes the required OpenCADC VOSpace capability shape before persisting it.
  • Name the discovered primary storage with the Server Name.
  • Preserve all manually configured storage entries; refresh only the generated primary entry with the same name.
  • Do not automatically add CADC Vault or other secondary services in this release.
  • In non-strict discovery, an absent, unreachable, or malformed storage service keeps the usable Science Platform Server and its existing storage configuration.
  • In strict inspection, surface one actionable storage discovery error.

Acceptance criteria

  • CADC registry fixtures containing both ARC and Vault select ARC.
  • SRCNet fixtures pair each Skaha service with its same-namespace Cavern service.
  • URL suffix similarity alone never creates a storage endpoint.
  • Manual additional entries survive rediscovery.
  • Missing/malformed/unreachable storage records follow strict and non-strict behavior above.
  • Discovery output and persisted Configuration serialize the primary storage.
  • Focused discovery tests, lint, type checks, and deterministic tests pass.

Out of scope

Secondary-service alias generation, interactive storage selection, credential materialization, filesystem construction, and CLI composition.


Amended 2026-07-25

The acceptance criteria above are preserved as originally written. The items
below changed after this issue was filed, at the maintainer's request, and
shipped in #217.

  • CADC Vault is now a default. This supersedes "Do not automatically add
    CADC Vault or other secondary services in this release": both arc and
    vault ship as configured defaults on the CADC Server.
  • Discovered storage is keyed by registry leaf, not Server Name. This
    supersedes "Name the discovered primary storage with the Server Name", so the
    CADC service is addressed as arc: rather than canfar:. Federated Servers
    keep Server-Name keying, since their leaves are not globally unique.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions