Documentation
¶
Overview ¶
Package app provides the entry point for the toolhive command-line application.
Index ¶
- Constants
- Variables
- func AddBuildFlags(cmd *cobra.Command, config *BuildFlags)
- func AddOIDCFlags(cmd *cobra.Command)
- func AddRemoteAuthFlags(cmd *cobra.Command, config *RemoteAuthFlags)
- func AddRunFlags(cmd *cobra.Command, config *RunFlags)
- func BuildRunnerConfig(ctx context.Context, runFlags *RunFlags, serverOrImage string, ...) (*runner.RunConfig, error)
- func GetStringFlagOrEmpty(cmd *cobra.Command, flagName string) string
- func IsCompletionCommand(args []string) bool
- func IsOIDCEnabled(cmd *cobra.Command) bool
- func NewRootCmd(enableUpdates bool) *cobra.Command
- func SetSecretsProvider(provider secrets.ProviderType) error
- func ValidateAndNormaliseHostFlag(host string) (string, error)
- type BuildFlags
- type RemoteAuthFlags
- type RunFlags
Constants ¶
const ( // FormatJSON is the JSON output format FormatJSON = "json" // FormatText is the text output format FormatText = "text" )
Output format constants
const ( ServerTypeRemote = "remote" ServerTypeContainer = "container" )
ServerType constants
Variables ¶
var OtelCmd = &cobra.Command{
Use: "otel",
Short: "Manage OpenTelemetry configuration",
Long: "Configure OpenTelemetry settings for observability and monitoring of MCP servers.",
}
OtelCmd is the parent command for OpenTelemetry configuration
Functions ¶
func AddBuildFlags ¶ added in v0.2.3
func AddBuildFlags(cmd *cobra.Command, config *BuildFlags)
AddBuildFlags adds all the build flags to a command
func AddOIDCFlags ¶
AddOIDCFlags adds OIDC validation flags to the provided command.
func AddRemoteAuthFlags ¶ added in v0.2.10
func AddRemoteAuthFlags(cmd *cobra.Command, config *RemoteAuthFlags)
AddRemoteAuthFlags adds the common remote authentication flags to a command
func AddRunFlags ¶ added in v0.2.1
AddRunFlags adds all the run flags to a command
func BuildRunnerConfig ¶ added in v0.2.1
func BuildRunnerConfig( ctx context.Context, runFlags *RunFlags, serverOrImage string, cmdArgs []string, debugMode bool, cmd *cobra.Command, ) (*runner.RunConfig, error)
BuildRunnerConfig creates a runner.RunConfig from the configuration
func GetStringFlagOrEmpty ¶
GetStringFlagOrEmpty tries to get the string value of the given flag. If the flag doesn't exist or there's an error, it returns an empty string.
func IsCompletionCommand ¶
IsCompletionCommand checks if the command being run is the completion command
func IsOIDCEnabled ¶
IsOIDCEnabled returns true if OIDC validation is enabled for the given command. OIDC validation is considered enabled if either the OIDC issuer or the JWKS URL flag is provided.
func NewRootCmd ¶
NewRootCmd creates a new root command for the ToolHive CLI.
func SetSecretsProvider ¶
func SetSecretsProvider(provider secrets.ProviderType) error
SetSecretsProvider sets the secrets provider type in the configuration. It validates the input, tests the provider functionality, and updates the configuration. Choices are `encrypted`, `1password`, and `none`.
func ValidateAndNormaliseHostFlag ¶ added in v0.0.34
ValidateAndNormaliseHostFlag validates and normalizes the host flag resolving it to an IP address if hostname is provided
Types ¶
type BuildFlags ¶ added in v0.2.3
BuildFlags holds the configuration for building MCP server containers
type RemoteAuthFlags ¶ added in v0.2.10
type RemoteAuthFlags struct {
EnableRemoteAuth bool
RemoteAuthClientID string
RemoteAuthClientSecret string
RemoteAuthClientSecretFile string
RemoteAuthScopes []string
RemoteAuthSkipBrowser bool
RemoteAuthTimeout time.Duration
RemoteAuthCallbackPort int
RemoteAuthIssuer string
RemoteAuthAuthorizeURL string
RemoteAuthTokenURL string
}
RemoteAuthFlags holds the common remote authentication configuration
type RunFlags ¶ added in v0.2.1
type RunFlags struct {
// Transport and proxy settings
Transport string
ProxyMode string
Host string
ProxyPort int
TargetPort int
TargetHost string
// Server configuration
Name string
Group string
PermissionProfile string
Env []string
Volumes []string
Secrets []string
// Remote MCP server support
RemoteURL string
// Security and audit
AuthzConfig string
AuditConfig string
EnableAudit bool
K8sPodPatch string
// Image verification
CACertPath string
VerifyImage string
// OIDC configuration
ThvCABundle string
JWKSAuthTokenFile string
JWKSAllowPrivateIP bool
// OAuth discovery configuration
ResourceURL string
// Telemetry configuration
OtelEndpoint string
OtelServiceName string
OtelTracingEnabled bool
OtelMetricsEnabled bool
OtelSamplingRate float64
OtelHeaders []string
OtelInsecure bool
OtelEnablePrometheusMetricsPath bool
OtelEnvironmentVariables []string // renamed binding to otel-env-vars
// Network isolation
IsolateNetwork bool
// Labels
Labels []string
// Execution mode
Foreground bool
// Tools filter
ToolsFilter []string
// Tools override file
ToolsOverride string
// Configuration import
FromConfig string
// Environment file processing
EnvFile string
EnvFileDir string
// Ignore functionality
IgnoreGlobally bool
PrintOverlays bool
// Remote authentication
RemoteAuthFlags RemoteAuthFlags
OAuthParams map[string]string
}
RunFlags holds the configuration for running MCP servers