Skip to content

forge CLI: login, logout and client setup for Docker, NuGet, npm and Helm #167

Open

Description

@schmitch

Part of #44. A small CLI on top of the shared client crate (#162). It is the one place a user signs in for every helper. Depends on #39's device-flow endpoints. Packaging and releases are #166.

Commands

Signing in

  • forge login <url>: a device-flow sign-in in the browser (Forge login, OIDC/Entra). The token goes into the keychain.
  • forge logout [<url>]: revokes the token on the server and removes it locally.
  • forge status: lists the Forge hosts and who is signed in to each.

Client setup

Every configure command prints what it changed and supports --dry-run.

Acceptance criteria

  • e2e: forge login approved through the mock IdP harness, then forge configure docker|nuget|npm|helm followed by a pull, restore or install with the real client.
  • Config edits keep existing entries, with tests for each file format (JSON, NuGet.config XML, .npmrc).
  • forge logout revokes the token on the server and the token page no longer shows it.
  • Docs: a "Sign in with the forge CLI" section on each format's "connect your client" page (Client login for every format: Nexus-style logins, UI-minted tokens, browser/OAuth login #39).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions