Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildLocalK8sConfig ¶ added in v0.21.0
Types ¶
type AuditConfig ¶ added in v0.8.0
type Config ¶
type Config struct {
HTTPListenPort int `usage:"HTTP port to listen on" default:"8080" name:"http-listen-port"`
DevMode bool `usage:"Enable development mode" default:"false" name:"dev-mode" env:"OBOT_DEV_MODE"`
DevUIPort int `usage:"The port on localhost running the dev instance of the UI" default:"5174"`
UserUIPort int `usage:"The port on localhost running the user production instance of the UI" env:"OBOT_SERVER_USER_UI_PORT"`
AllowedOrigin string `usage:"Allowed origin for CORS"`
ToolRegistries []string `usage:"The remote tool references to the set of gptscript tool registries to use" default:"github.com/obot-platform/tools"`
WorkspaceProviderType string `` /* 129-byte string literal not displayed */
HelperModel string `usage:"The model used to generate names and descriptions" default:"gpt-5-mini"`
EmailServerName string `usage:"The name of the email server to display for email receivers"`
Docker bool `usage:"Enable Docker support" default:"false" env:"OBOT_DOCKER"`
EnvKeys []string `usage:"The environment keys to pass through to the GPTScript server" env:"OBOT_ENV_KEYS"`
KnowledgeSetIngestionLimit int `usage:"The maximum number of files to ingest into a knowledge set" default:"3000" name:"knowledge-set-ingestion-limit"`
KnowledgeFileWorkers int `usage:"The number of workers to process knowledge files" default:"5"`
RunWorkers int `usage:"The number of workers to process runs" default:"1000"`
ElectionFile string `usage:"Use this file for leader election instead of database leases"`
EnableAuthentication bool `usage:"Enable authentication" default:"false"`
ForceEnableBootstrap bool `usage:"Enables the bootstrap user even if other admin users have been created" default:"false"`
AuthAdminEmails []string `usage:"Emails of admin users"`
AuthOwnerEmails []string `usage:"Emails of owner users"`
AgentsDir string `usage:"The directory to auto load agents on start (default $XDG_CONFIG_HOME/.obot/agents)"`
StaticDir string `usage:"The directory to serve static files from"`
RetentionPolicyHours int `usage:"The retention policy for the system. Set to 0 to disable retention." default:"2160"` // default 90 days
DefaultMCPCatalogPath string `usage:"The path to the default MCP catalog (accessible to all users)" default:""`
DefaultSystemMCPCatalogPath string `usage:"The path to the default System MCP catalog" default:""`
DefaultSkillRepoURL string `` /* 151-byte string literal not displayed */
DefaultSkillRepoRef string `usage:"The ref (branch/tag) for the default skill repository" default:"" env:"OBOT_DEFAULT_SKILL_REPO_REF"`
DisableUpdateCheck bool `usage:"Disable Obot server update checks"`
EnableAutonomousToolUse bool `` /* 138-byte string literal not displayed */
// Sendgrid webhook
SendgridWebhookUsername string `usage:"The username for the sendgrid webhook to authenticate with"`
SendgridWebhookPassword string `usage:"The password for the sendgrid webhook to authenticate with"`
EnableRegistryAuth bool `usage:"Enable authentication for the MCP registry API" default:"false" env:"OBOT_SERVER_ENABLE_REGISTRY_AUTH"`
DisableLegacyChat bool `usage:"Disable legacy chat" default:"true"`
NanobotIntegration bool `usage:"Enable Nanobot integration" default:"true"`
EnableMessagePolicies bool `usage:"Enable message policies for LLM proxy content enforcement" default:"false"`
MCPServerSearchImage string `usage:"Container image for the obot MCP server" default:"ghcr.io/obot-platform/obot-mcp-server:v0.1.1"`
NanobotAgentImage string `usage:"Container image for the Nanobot agent MCP server" default:"ghcr.io/nanobot-ai/nanobot-agent:v0.0.77"`
MCPNetworkPolicyProviderChartRepo string `usage:"Helm repository URL for the network policy provider chart"`
MCPNetworkPolicyProviderChartName string `usage:"Helm chart name for the network policy provider chart"`
MCPNetworkPolicyProviderChartVersion string `usage:"Helm chart version for the network policy provider chart"`
MCPNetworkPolicyProviderChartPath string `usage:"Local filesystem path to the network policy provider chart"`
MCPNetworkPolicyProviderValues string `usage:"YAML or JSON values blob merged into the network policy provider chart values"`
MCPDefaultDenyAllEgress bool `usage:"Default new MCP servers to deny all egress when network policy enforcement is enabled" default:"false"`
// Published artifact storage
ArtifactStorageProvider string `` /* 143-byte string literal not displayed */
ArtifactStorageBucket string `usage:"Bucket for published artifacts" name:"artifact-storage-bucket" env:"OBOT_ARTIFACT_STORAGE_BUCKET"`
ArtifactS3Region string `usage:"S3 region for artifact storage" name:"artifact-s3-region" env:"OBOT_ARTIFACT_S3_REGION"`
ArtifactS3AccessKeyID string `usage:"S3 access key ID for artifact storage" name:"artifact-s3-access-key-id" env:"OBOT_ARTIFACT_S3_ACCESS_KEY_ID"`
ArtifactS3SecretAccessKey string `` /* 127-byte string literal not displayed */
ArtifactS3Endpoint string `usage:"Custom S3 endpoint for artifact storage" name:"artifact-s3-endpoint" env:"OBOT_ARTIFACT_S3_ENDPOINT"`
ArtifactGCSServiceAccountJSON string `` /* 185-byte string literal not displayed */
ArtifactAzureStorageAccount string `` /* 135-byte string literal not displayed */
ArtifactAzureTenantID string `usage:"Azure tenant ID for artifact storage" name:"artifact-azure-tenant-id" env:"OBOT_ARTIFACT_AZURE_TENANT_ID"`
ArtifactAzureClientID string `usage:"Azure client ID for artifact storage" name:"artifact-azure-client-id" env:"OBOT_ARTIFACT_AZURE_CLIENT_ID"`
ArtifactAzureClientSecret string `usage:"Azure client secret for artifact storage" name:"artifact-azure-client-secret" env:"OBOT_ARTIFACT_AZURE_CLIENT_SECRET"`
GeminiConfig
GatewayConfig
EncryptionConfig
MetricsAuthConfig
AuditConfig
RateLimiterConfig
MCPConfig
services.Config
}
type EncryptionConfig ¶ added in v0.8.0
type EncryptionConfig encryption.Options
type GatewayConfig ¶
type GeminiConfig ¶ added in v0.7.0
type MetricsAuthConfig ¶ added in v0.17.0
type MetricsAuthConfig struct {
MetricsBearerToken string `usage:"Bearer token for metrics endpoint authentication" name:"metrics-bearer-token"`
}
type RateLimiterConfig ¶ added in v0.8.0
type RateLimiterConfig ratelimiter.Options
type Services ¶
type Services struct {
EncryptionConfig *encryptionconfig.EncryptionConfiguration
ToolRegistryURLs []string
WorkspaceProviderType string
ServerURL string
InternalServerURL string
EmailServerName string
DevUIPort int
UserUIPort int
Events *events.Emitter
StorageClient storage.Client
Router *router.Router
GPTClient *gptscript.GPTScript
Invoker *invoke.Invoker
PersistentTokenServer *persistent.TokenService
APIServer *server.Server
Started chan struct{}
GatewayServer *gserver.Server
GatewayClient *client.Client
ProxyManager *proxy.Manager
ProviderDispatcher *dispatcher.Dispatcher
Bootstrapper *bootstrap.Bootstrap
KnowledgeSetIngestionLimit int
SupportDocker bool
AuthEnabled bool
DefaultMCPCatalogPath string
DefaultSystemMCPCatalogPath string
DefaultSkillRepoURL string
DefaultSkillRepoRef string
AgentsDir string
GeminiClient *gemini.Client
Otel *Otel
AuditLogger audit.Logger
PostgresDSN string
RetentionPolicy time.Duration
// Use basic auth for sendgrid webhook, if being set
SendgridWebhookUsername string
SendgridWebhookPassword string
// Used for indexed lookups of access control rules.
AccessControlRuleHelper *accesscontrolrule.Helper
// Used for indexed lookups of model access policies.
ModelAccessPolicyHelper *modelaccesspolicy.Helper
// Used for indexed lookups of message policies.
MessagePolicyHelper *messagepolicy.Helper
// Used for indexed lookups of skill access rules.
SkillAccessRuleHelper *skillaccessrule.Helper
WebhookHelper *mcp.WebhookHelper
// Used for loading and running MCP servers with GPTScript.
MCPLoader *mcp.SessionManager
// Global token storage client for MCP OAuth
MCPOAuthTokenStorage mcp.GlobalTokenStore
// OAuth configuration
OAuthServerConfig handlers.OAuthAuthorizationServerConfig
// Local Kubernetes configuration for deployment monitoring
LocalK8sConfig *rest.Config
MCPServerNamespace string
MCPClusterDomain string
ServiceName string
ServiceNamespace string
ServiceAccountName string
StorageListenPort int
// Parsed settings from Helm for k8s to pass to controller
// PodSchedulingSettingsFromHelm contains affinity, tolerations, resources, runtimeClassName
// when explicitly set via Helm. If non-nil, SetViaHelm=true and UI cannot modify these.
PodSchedulingSettingsFromHelm *v1.K8sSettingsSpec
// PSASettingsFromHelm contains Pod Security Admission settings, always sourced from
// environment/Helm config and not modifiable via UI.
PSASettingsFromHelm *v1.PodSecurityAdmissionSettings
DisableUpdateCheck bool
DisableLegacyChat bool
MCPRuntimeBackend string
MCPRemoteShimBaseImage string
MCPHTTPWebhookBaseImage string
RegistryNoAuth bool
AutonomousToolUseEnabled bool
NanobotIntegration bool
MessagePoliciesEnabled bool
MCPNetworkPolicyEnabled bool
MCPDefaultDenyAllEgress bool
MCPServerSearchImage string
NanobotAgentImage string
MCPNetworkPolicyProviderChartRepo string
MCPNetworkPolicyProviderChartName string
MCPNetworkPolicyProviderChartVersion string
MCPNetworkPolicyProviderChartPath string
MCPNetworkPolicyProviderValues string
SingleUserIdleServerShutdownInterval time.Duration
MultiUserIdleServerShutdownInterval time.Duration
AgentIdleServerShutdownInterval time.Duration
// Published artifact blob storage
ArtifactBlobStore blob.BlobStore
ArtifactBlobBucket string
}
Click to show internal directories.
Click to hide internal directories.