Skip to content

feat(sdk/go): add gateway client, auth, and fakes (2/3)#2226

Draft
rhuss wants to merge 1 commit into
NVIDIA:mainfrom
rhuss:go-sdk-2-upstream
Draft

feat(sdk/go): add gateway client, auth, and fakes (2/3)#2226
rhuss wants to merge 1 commit into
NVIDIA:mainfrom
rhuss:go-sdk-2-upstream

Conversation

@rhuss

@rhuss rhuss commented Jul 11, 2026

Copy link
Copy Markdown

Summary

Add gateway auto-discovery client, OIDC authentication flows, and fake implementations for testing.

Part 2 of 3 for #2044. Depends on PR #2225 (1/3, foundation). Please merge that first.

What's included

  • Gateway client (gateway/): Reads ~/.config/openshell/ CLI config, resolves gateway address and auth automatically. This is the main entry point most users will use.
  • OIDC authentication (oidc/): OpenID Connect discovery, device-code flow, auth-code flow, token management with automatic refresh.
  • Edge client (edge/): Cloudflare tunnel integration for edge API access via WebSocket transport.
  • Fake implementations (fake/): In-memory fakes that mirror real client validation behavior. Consumers can write tests against ClientInterface without a gRPC server.
sdk/go/openshell/v1/
├── gateway/     # 12 files - Gateway client factory + config reader
├── oidc/        # 22 files - OIDC authentication flows
├── edge/        #  5 files - Edge API + tunnel proxy
└── fake/        # 31 files - In-memory test fakes

70 files | Resolves #2044

Add gateway auto-discovery client, OIDC authentication flows, and
fake implementations for testing.

Key additions:
- Gateway client with CLI config file parsing and auto-discovery
- OIDC auth code and device code token flows
- Fake client implementations mirroring real validation behavior
- Edge client for WebSocket-based gateway connections
- Additional converter and type coverage

Builds on PR 1/3 (foundation and core clients). Merge PR 1/3 first.

Resolves NVIDIA#2044

Signed-off-by: Roland Huß <roland@jolokia.org>
Assisted-By: 🤖 Claude Code
@copy-pr-bot

copy-pr-bot Bot commented Jul 11, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

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(sdk): proposal for Go SDK following client-go conventions

1 participant