Skip to content
Back to skills

Ovstorage Contributor Services Client Conformance

ASecurity

Use when checking the Storage API wire contract that ovstorage-plugin-services-client depends on.

  • 15 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 19, 2026
devopspythonbashkubernetesapi

Works with

  • terminal
  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 19, 2026

npx -y skills add NVIDIA-Omniverse/ovstorage --skill ovstorage-contributor-services-client-conformance --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ovstorage Contributor Services Client Conformance?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ovstorage Contributor Services Client Conformance
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nvidia-omniverse-ovstorage-contributor-services-client-conformance/badge)](https://www.skillsdirectory.com/skills/nvidia-omniverse-ovstorage-contributor-services-client-conformance)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ovstorage-contributor-services-client-conformance
description: Use when checking the Storage API wire contract that ovstorage-plugin-services-client depends on.
license: CC-BY-4.0
version: "0.1.0"
author: NVIDIA Omniverse
tags: [ovstorage, services, conformance]
tools: [Read, Bash]
compatibility: Requires the ovstorage-services conformance suite, Python and Poetry, and a local or deployed Storage API service. Deployment credentials are user-supplied.
---

# Services-client conformance check

The Omniverse Storage API ships its own pytest-bdd conformance
suite (Gherkin features, executed via the `run-conformance-tests` Poetry
script). In the root ovstorage repo, use it to check the wire contract that
`ovstorage-plugin-services-client/` depends on: after a vendor-sync, before
relying on a deployed Omniverse Storage Service endpoint, or when investigating whether a
services-client failure is caused by server/API drift.

This is not the service implementation or Kubernetes deployment runbook. For
service-stack deployment and operations, use the `ovstorage-services` routing
in a source checkout.

## When to run

- After a vendor-sync of `ovstorage-services/` (the canonical contracts
  or the suite itself may have moved).
- Against a deployed Omniverse Storage Service server before depending on it from the
  services-client plugin.
- Periodically against the reference filesystem implementation to
  smoke-test the suite itself.

## How to run

The suite is a black-box pytest run against a separately-running
Storage API service. It does NOT boot an in-process server — you
start one first, then point the suite at it.

```bash
cd ovstorage-services/apis/storage-api/conformance_tests

# One-time setup
python -m venv .poetry_venv
.poetry_venv/bin/pip install poetry
.poetry_venv/bin/poetry install
source .venv/bin/activate

# In a second terminal: start the reference Storage API service
local-filesystem-service filesystem --static-dir /tmp/storage
# Default endpoints: REST http://localhost:8011, gRPC localhost:50051

# Back in the first terminal: run the suite
run-conformance-tests
```

`run-conformance-tests` is a Poetry-script entrypoint installed by
`poetry install`. It wraps `pytest` and pre-loads the default
`storageapi_testdata_generator` plugin; any extra args pass through to
pytest, e.g. `run-conformance-tests -k stat -vv`.

To target a deployed server instead of the reference filesystem,
override the endpoints via environment variables before running:

- `TEST_STORAGE_API_REST_ENDPOINT` (default `http://localhost:8011`)
- `TEST_STORAGE_API_GRPC_ENDPOINT` (default `localhost:50051`)
- `TEST_STORAGE_API_RESOURCE_BASE` (default `file-storage://fileservice`)

The suite's own
[`README.md`](../../ovstorage-services/apis/storage-api/conformance_tests/README.md)
covers the alternative `boto3` test-data generator and the OpenAPI
schema-diff hooks.

## What it covers

The suite's Gherkin features live under
`conformance_tests/src/conformance_tests/features/`. The current
coverage areas are:

- `capabilities/` — `ListTopLevelAddresses` responses and capability
  discovery.
- `filefolder/` (v1alpha + v1beta) — folder creation, `ListStat`,
  delete-folder semantics.
- `fileobject/` (v1alpha + v1beta) — `Stat`, `ReadFromAddress`,
  `Write`, `Copy`, `Delete`, `FetchWriteTypeInfo`.
- `metadata/v1alpha` — `GetMetadata` / `UpdateMetadata`.
- `versioning/v1beta` — `EnumerateVersions`.

Watches (`EventConsumerService`) and ACL-specific behavior are NOT
covered by this suite today.

## Interpreting failures

A test failure either (a) flags a real plugin/server bug, or (b)
indicates the conformance suite has been updated and the
implementation under test hasn't caught up. The pytest output names
the scenario; read the matching `.feature` and step-definitions under
`conformance_tests/src/conformance_tests/features/` for the expected
behavior.

## Related reading

- Plugin user reference:
  [`docs/public/plugin-storage/plugin-services-client.md`](../../docs/public/plugin-storage/plugin-services-client.md)
- Plugin internals:
  [`ovstorage-services-client/ovstorage-plugin-services-client/README.md`](../../ovstorage-services-client/ovstorage-plugin-services-client/README.md)
- Suite's own configuration reference:
  [`ovstorage-services/apis/storage-api/conformance_tests/README.md`](../../ovstorage-services/apis/storage-api/conformance_tests/README.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.