Skip to content

feat(cli): promote profile commands to top level - #3258

Draft
shiju-nv wants to merge 1 commit into
NVIDIA:mainfrom
shiju-nv:feat/cli-profile-commands
Draft

feat(cli): promote profile commands to top level#3258
shiju-nv wants to merge 1 commit into
NVIDIA:mainfrom
shiju-nv:feat/cli-profile-commands

Conversation

@shiju-nv

Copy link
Copy Markdown
Collaborator

Summary

Profiles are currently split between provider list-profiles and provider profile, with no human-readable view of a single definition. This adds openshell profile for discovery and management, including describe, while retaining the existing nested commands through shared handlers.

Related Issue

Closes #2588.

Related implementation: #3068. Both proposals support the legacy commands. This proposal additionally implements the requested flat catalog, retrieves all catalog pages, expands description details, and tests the compiled CLI against an isolated gRPC fixture. These additions could also be incorporated into #3068 if maintainers prefer to continue that branch.

Changes

  • Add top-level profile list, describe, export, import, update, lint, and delete, with a validated --type provider filter for listing.
  • Retain provider list-profiles and provider profile …, including their arguments, output options, and workspace/global flags. Both entry points use the same execution handlers.
  • Show a flat NAME / TYPE / CATEGORY / SOURCE / SCOPE list and retrieve every page, including catalogs whose size is an exact multiple of the RPC page limit.
  • Describe profile metadata, credential names/authentication, declared endpoint ports and policy settings, binaries, source, and scope. JSON/YAML use the existing complete profile serialization; describing a definition does not retrieve provider-instance credentials.
  • Test argument equivalence, old/new CLI output and scope forwarding, pagination, missing-profile errors, and structured description/export equivalence.
  • Update published docs, architecture guidance, public skills, examples, and E2E command invocations to use the top-level form.

Compatibility note: legacy names and flags remain supported, but both list spellings now use the flat human-readable table. The JSON/YAML profile schema is unchanged. Existing import/lint file and directory flags and the update ID/file arguments remain unchanged. No gateway or protobuf API changes are included.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Expose profile discovery and management through openshell profile while
retaining the provider list-profiles and provider profile spellings.
Add complete catalog pagination and human-readable profile descriptions,
with the existing JSON/YAML definition format and workspace selection.

Cover both command forms with parser and gateway integration tests, and
update profile documentation, skills, examples, and test callers.

Refs NVIDIA#2588

Signed-off-by: Shiju <shiju@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 10, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): promote profile to top-level command with list/describe/export/import

1 participant