Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/server/docs.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/server/swagger.json

Large diffs are not rendered by default.

23 changes: 14 additions & 9 deletions docs/server/swagger.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions pkg/api/v1/workload_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ func (s *WorkloadService) BuildFullRunConfig(ctx context.Context, req *createReq
Issuer: remoteServerMetadata.OAuthConfig.Issuer,
AuthorizeURL: remoteServerMetadata.OAuthConfig.AuthorizeURL,
TokenURL: remoteServerMetadata.OAuthConfig.TokenURL,
UsePKCE: remoteServerMetadata.OAuthConfig.UsePKCE,
OAuthParams: remoteServerMetadata.OAuthConfig.OAuthParams,
Headers: remoteServerMetadata.Headers,
EnvVars: remoteServerMetadata.EnvVars,
Expand Down Expand Up @@ -270,6 +271,7 @@ func createRequestToRemoteAuthConfig(
Issuer: req.OAuthConfig.Issuer,
AuthorizeURL: req.OAuthConfig.AuthorizeURL,
TokenURL: req.OAuthConfig.TokenURL,
UsePKCE: req.OAuthConfig.UsePKCE,
OAuthParams: req.OAuthConfig.OAuthParams,
CallbackPort: req.OAuthConfig.CallbackPort,
SkipBrowser: req.OAuthConfig.SkipBrowser,
Expand Down
1 change: 1 addition & 0 deletions pkg/api/v1/workload_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ func runConfigToCreateRequest(runConfig *runner.RunConfig) *createRequest {
TokenURL: runConfig.RemoteAuthConfig.TokenURL,
ClientID: runConfig.RemoteAuthConfig.ClientID,
Scopes: runConfig.RemoteAuthConfig.Scopes,
UsePKCE: runConfig.RemoteAuthConfig.UsePKCE,
OAuthParams: runConfig.RemoteAuthConfig.OAuthParams,
CallbackPort: runConfig.RemoteAuthConfig.CallbackPort,
SkipBrowser: runConfig.RemoteAuthConfig.SkipBrowser,
Expand Down
2 changes: 2 additions & 0 deletions pkg/api/v1/workloads_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ func TestRunConfigToCreateRequest(t *testing.T) {
TokenURL: "https://oauth.example.com/token",
ClientID: "test-client",
Scopes: []string{"read", "write"},
UsePKCE: true,
OAuthParams: map[string]string{"custom": "param"},
CallbackPort: 8081,
},
Expand All @@ -172,6 +173,7 @@ func TestRunConfigToCreateRequest(t *testing.T) {
assert.Equal(t, "https://oauth.example.com/token", result.OAuthConfig.TokenURL)
assert.Equal(t, "test-client", result.OAuthConfig.ClientID)
assert.Equal(t, []string{"read", "write"}, result.OAuthConfig.Scopes)
assert.True(t, result.OAuthConfig.UsePKCE)
assert.Equal(t, map[string]string{"custom": "param"}, result.OAuthConfig.OAuthParams)
assert.Equal(t, 8081, result.OAuthConfig.CallbackPort)
})
Expand Down
27 changes: 14 additions & 13 deletions pkg/runner/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -438,27 +438,28 @@ func LoadState(ctx context.Context, name string) (*RunConfig, error) {

// RemoteAuthConfig holds configuration for remote authentication
type RemoteAuthConfig struct {
ClientID string
ClientSecret string
ClientSecretFile string
Scopes []string
SkipBrowser bool
Timeout time.Duration `swaggertype:"string" example:"5m"`
CallbackPort int
ClientID string `json:"client_id,omitempty" yaml:"client_id,omitempty"`
ClientSecret string `json:"client_secret,omitempty" yaml:"client_secret,omitempty"`
ClientSecretFile string `json:"client_secret_file,omitempty" yaml:"client_secret_file,omitempty"`
Scopes []string `json:"scopes,omitempty" yaml:"scopes,omitempty"`
SkipBrowser bool `json:"skip_browser,omitempty" yaml:"skip_browser,omitempty"`
Timeout time.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty" swaggertype:"string" example:"5m"`
CallbackPort int `json:"callback_port,omitempty" yaml:"callback_port,omitempty"`
UsePKCE bool `json:"use_pkce" yaml:"use_pkce"`

// OAuth endpoint configuration (from registry)
Issuer string
AuthorizeURL string
TokenURL string
Issuer string `json:"issuer,omitempty" yaml:"issuer,omitempty"`
AuthorizeURL string `json:"authorize_url,omitempty" yaml:"authorize_url,omitempty"`
TokenURL string `json:"token_url,omitempty" yaml:"token_url,omitempty"`

// Headers for HTTP requests
Headers []*registry.Header
Headers []*registry.Header `json:"headers,omitempty" yaml:"headers,omitempty"`

// Environment variables for the client
EnvVars []*registry.EnvVar
EnvVars []*registry.EnvVar `json:"env_vars,omitempty" yaml:"env_vars,omitempty"`

// OAuth parameters for server-specific customization
OAuthParams map[string]string
OAuthParams map[string]string `json:"oauth_params,omitempty" yaml:"oauth_params,omitempty"`
}

// ToolOverride represents a tool override.
Expand Down
Loading