config

package
v0.2.45 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2026 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CtxKeyVersion ctxKey = "v"
	CtxKeyService ctxKey = "service"
	CtxKeyTeam    ctxKey = "team"
	CtxKeyRepo    ctxKey = "repo"
	CtxKeyProject ctxKey = "project"
	CtxKeySubsys  ctxKey = "subsys"
	CtxKeyIsPull  ctxKey = "isPull"
	CtxKeyRef     ctxKey = "ref"
	CtxKeyRid     ctxKey = "rid"
)

Variables

This section is empty.

Functions

func RedactDSN

func RedactDSN(dsn string) string

RedactDSN masks the password in a URL-shaped DSN so it can be logged. A shared-Postgres auth DSN (postgres://user:secret@host/db) carries a credential; file: SQLite DSNs have none and pass through unchanged. On any parse failure it returns a safe constant rather than risk leaking the raw string.

Types

type BuildIdentity added in v0.2.4

type BuildIdentity struct {
	Version        string
	Commit         string
	Chassis        string
	BuildTimestamp string
	InstallMethod  string
}

BuildIdentity is the process build identity, set programmatically by app.Run at boot (NOT from flags/env — no `id` tag, so the flag loader skips it) and surfaced by the admin /healthz JSON. Kept on Config so it reaches server/admin via processor.Unit.Conf without a chassis/cli import cycle (files under chassis/cli import chassis/server).

type Config

type Config struct {
	// Build is set by app.Run after Load (no `id` tag ⇒ ignored by the flag
	// loader); see BuildIdentity.
	Build BuildIdentity

	AdminAddr                    string   `id:"admin-addr" default:":8081" desc:"The port to listen on for the admin web server (:8081)"`
	AdminPass                    string   `id:"admin-pass" default:"" desc:"Basic Auth password ()"`
	AdminUser                    string   `id:"admin-user" default:"" desc:"User for basic auth ()"`
	AdminIdleTimeout             int      `id:"admin-idle-timeout" default:"60" desc:"Idle timeout, seconds (60)"`
	AdminReadTimeout             int      `id:"admin-read-timeout" default:"15" desc:"Read timeout, seconds (15)"`
	AdminStaticRoot              string   `` /* 147-byte string literal not displayed */
	AdminWriteTimeout            int      `id:"admin-write-timeout" default:"15" desc:"Write timeout, seconds (15)"`
	AdminCorsOrigins             []string `` /* 325-byte string literal not displayed */
	AuthMode                     string   `id:"auth-mode" default:"both" desc:"Admin API authentication mode: {basic, signed, both} (both)"`
	AdminAllowOpen               bool     `` /* 363-byte string literal not displayed */
	AuthDevEnrollSecret          string   `` /* 138-byte string literal not displayed */
	CloudOAuthIssuer             string   `` /* 295-byte string literal not displayed */
	CloudOAuthAudience           string   `` /* 144-byte string literal not displayed */
	CloudChassisURL              string   `` /* 183-byte string literal not displayed */
	RegistryTokenKeyPath         string   `` /* 327-byte string literal not displayed */
	RegistryTokenKeyB64          string   `` /* 199-byte string literal not displayed */
	RegistryTokenCertPath        string   `` /* 196-byte string literal not displayed */
	RegistryTokenCertB64         string   `` /* 158-byte string literal not displayed */
	RegistryTokenIssuer          string   `` /* 131-byte string literal not displayed */
	RegistryTokenService         string   `` /* 245-byte string literal not displayed */
	RegistryTokenTTL             int      `id:"registry-token-ttl" default:"300" desc:"Lifetime of a package-registry token, seconds; clamped to 60–900 (300)."`
	RegistryTokenPlatformNS      []string `` /* 483-byte string literal not displayed */
	ClientVersionLatest          string   `` /* 193-byte string literal not displayed */
	ClientVersionMinimum         string   `` /* 211-byte string literal not displayed */
	ClientVersionCritical        bool     `` /* 197-byte string literal not displayed */
	SecretMasterKeyPath          string   `` /* 332-byte string literal not displayed */
	SecretMasterKeyB64           string   `` /* 413-byte string literal not displayed */
	DemoMode                     bool     `` /* 322-byte string literal not displayed */
	DebugBreakpoints             bool     `` /* 211-byte string literal not displayed */
	DebugPrivate                 bool     `` /* 266-byte string literal not displayed */
	TraceMode                    string   `` /* 129-byte string literal not displayed */
	TraceStore                   string   `` /* 179-byte string literal not displayed */
	TraceDir                     string   `` /* 136-byte string literal not displayed */
	TraceAsync                   bool     `` /* 175-byte string literal not displayed */
	TraceBufferSize              int      `` /* 195-byte string literal not displayed */
	TraceBodyCapBytes            int      `` /* 230-byte string literal not displayed */
	TraceStreamLongPollMS        int      `` /* 344-byte string literal not displayed */
	TraceStreamRingSize          int      `` /* 220-byte string literal not displayed */
	CronPeriod                   int      `id:"cron-period" default:"60" desc:"Seconds between cron ticks, seconds (60)"`
	CronQueue                    string   `` /* 144-byte string literal not displayed */
	CronMaxInflight              int      `` /* 199-byte string literal not displayed */
	CronSystemTick               bool     `` /* 266-byte string literal not displayed */
	ScheduledPeriod              int      `` /* 303-byte string literal not displayed */
	ScheduledMaxInflight         int      `` /* 163-byte string literal not displayed */
	ScheduledStaleAfter          int      `` /* 215-byte string literal not displayed */
	ScheduledRetention           int      `` /* 153-byte string literal not displayed */
	DbRuntimeDsn                 string   `` /* 178-byte string literal not displayed */
	DbAuthDsn                    string   `` /* 555-byte string literal not displayed */
	ScheduledStore               string   `` /* 209-byte string literal not displayed */
	ScheduledDBPath              string   `` /* 218-byte string literal not displayed */
	StateStore                   string   `` /* 470-byte string literal not displayed */
	StateDBPath                  string   `` /* 217-byte string literal not displayed */
	StatePeriod                  int      `` /* 227-byte string literal not displayed */
	StateMaxInflight             int      `id:"state-max-inflight" default:"32" desc:"Max concurrent state-event presentations per poll pass. (32)"`
	StateAcceptTimeout           int      `` /* 268-byte string literal not displayed */
	StateRunTimeout              int      `` /* 159-byte string literal not displayed */
	StateStaleAfter              int      `` /* 256-byte string literal not displayed */
	StateMaxAttempts             int      `` /* 194-byte string literal not displayed */
	StateRetention               int      `` /* 189-byte string literal not displayed */
	StateMaxDataBytes            int      `` /* 147-byte string literal not displayed */
	SourcePeriod                 int      `` /* 313-byte string literal not displayed */
	SourceMaxInflight            int      `` /* 174-byte string literal not displayed */
	SourceStaleAfter             int      `` /* 201-byte string literal not displayed */
	SourceBatch                  int      `` /* 174-byte string literal not displayed */
	SourceDispatchTimeout        int      `` /* 196-byte string literal not displayed */
	DbRoot                       string   `id:"db-root-dir" default:"./chassis/data/db" desc:"What is the root directory for any local databases? (./chassis/data/db)"`
	DbMirrorMode                 string   `` /* 662-byte string literal not displayed */
	DbSchemaDir                  string   `id:"db-schema-dir" default:"./db/schema/sqlite" desc:"What directory contains the db schema? (./db/schema/sqlite)"`
	DialTimeout                  string   `id:"dial-timeout" default:"100ms" desc:"Default rpc dial timeout (100ms)"`
	DockerBuild                  bool     `id:"docker-build" default:"true" desc:"Attempt to build Dockerfile on push? (true)"`
	DockerRemote                 string   `id:"docker-remote" default:"localhost:5001" desc:"Remote docker host (localhost.5001)"`
	DockerRemoteUser             string   `id:"docker-remote-user" default:"admin" desc:"Remote docker user (admin)"`
	DockerRemotePass             string   `id:"docker-remote-pass" default:"" desc:"Remote docker user ()"`
	DockerTmp                    string   `id:"docker-tmp" default:"./chassis/data/tmp/docker" desc:"Temporary space for building docker (./chassis/data/tmp/docker)"`
	DockerTmpClean               bool     `id:"docker-tmp-clean" default:"true" desc:"Cleanup temporary tar after build? (true)"`
	DockerApiVersion             string   `id:"docker-api-version" default:"1.39" desc:"Default Docker API version (1.39)"`
	Environment                  string   `id:"env" default:"dev" desc:"Runtime Environment: {dev, stage, prod, myenv} (dev)"` //  export TXCOMP_ENV=dev-mm
	EtcdEndpointAddrs            []string `id:"etcd-endpoint-addrs" default:"localhost:2379" desc:"Etcd endpoint addresses Ex: :2379 (:2379)"`
	Fqdn                         string   `id:"fqdn" default:"" desc:"Set our fully qualified domain name"`
	IngressConfigPath            string   `` /* 176-byte string literal not displayed */
	RequireHostnameVerification  bool     `` /* 313-byte string literal not displayed */
	StructuredHostSuffix         string   `` /* 357-byte string literal not displayed */
	StructuredDNSSelf            bool     `` /* 436-byte string literal not displayed */
	VerifyAllowPrivateAddresses  bool     `` /* 275-byte string literal not displayed */
	IngressMissAction            string   `` /* 368-byte string literal not displayed */
	K8sNamespace                 string   `id:"k8s-namespace" default:"default" desc:"Kubernetes Namespace (default)"`
	KubeConfig                   string   `id:"kube-config" default:"$USER/.kube/config" desc:"What path to use for Kubernetes Config? ($USER/.kube/config)"`
	KubeCheckInCluster           bool     `` /* 154-byte string literal not displayed */
	KVStore                      string   `` /* 206-byte string literal not displayed */
	KVStoreAddrs                 []string `` /* 356-byte string literal not displayed */
	KVStoreBucket                string   `id:"kvstore-bucket" default:"txco" desc:"KVStore bucket (boltdb only) (txco)"`
	KVStorePassword              string   `` /* 343-byte string literal not displayed */
	KVMaxValueBytes              int      `` /* 197-byte string literal not displayed */
	KVMaxTTL                     int      `` /* 219-byte string literal not displayed */
	BlobMaxBytes                 int      `` /* 299-byte string literal not displayed */
	Logger                       string   `id:"logger" default:"env" desc:"Set Log display type: {env, production, dev, dev-plain} (env)"`
	LogLevel                     string   `id:"log-level" default:"" desc:"Set Logging Level: {debug, info, warn, error, dpanic, panic, and fatal} (info)"`
	LogOps                       string   `id:"log-ops" default:"disabled" desc:"Log operations to {logger,disabled,dir} (disabled)"`
	LogOpsDir                    string   `id:"log-ops-dir" default:"./chassis/data/logs" desc:"Directory to log operations to (./chassis/data/logs)"`
	OpPayloadMax                 int      `id:"op-payload-max" default:"4194304" desc:"maximum message that operations can send/receive in bytes (4194304)"`
	OpMetricsRegex               string   `` /* 149-byte string literal not displayed */
	OpTimeout                    string   `id:"op-timeout" default:"5s" desc:"Default operation timeout (5s)"`
	OpTimeoutMax                 string   `` /* 172-byte string literal not displayed */
	MaxFuelPerRequest            int      `` /* 442-byte string literal not displayed */
	OpScopeTTLMax                int      `` /* 317-byte string literal not displayed */
	OpLoopMax                    int      `` /* 217-byte string literal not displayed */
	LoopTimeout                  string   `` /* 297-byte string literal not displayed */
	OpRepeatPenaltyMs            int      `` /* 210-byte string literal not displayed */
	AIChatEnvFallback            bool     `` /* 428-byte string literal not displayed */
	AIDefaultTimeout             string   `` /* 251-byte string literal not displayed */
	EmbedOllamaBaseURL           string   `` /* 333-byte string literal not displayed */
	DecideZeroDataRetention      bool     `id:"decide-zero-data-retention" default:"true" desc:"Ask the ai://decide provider not to retain request data. (true)"`
	VectorDBPath                 string   `` /* 324-byte string literal not displayed */
	VectorStore                  string   `` /* 165-byte string literal not displayed */
	SearchStore                  string   `` /* 267-byte string literal not displayed */
	SearchPath                   string   `` /* 228-byte string literal not displayed */
	SearchMaxOpenIndexes         int      `` /* 218-byte string literal not displayed */
	DevAutoVerifyLocalHostnames  bool     `` /* 420-byte string literal not displayed */
	AsyncRuntimeDefault          string   `` /* 203-byte string literal not displayed */
	AsyncAckTimeout              string   `` /* 130-byte string literal not displayed */
	ContinueAfterDefault         string   `` /* 229-byte string literal not displayed */
	ContinuableTimeoutDefault    string   `` /* 228-byte string literal not displayed */
	DeferredJoinSlack            string   `` /* 185-byte string literal not displayed */
	ComputeMaxMemoryMB           int      `id:"compute-max-memory-mb" default:"32" desc:"Per-invocation memory cap for a sandboxed compute (op://) in MB. (32)"`
	ComputeMaxWall               string   `` /* 155-byte string literal not displayed */
	WorkspaceProvider            string   `` /* 153-byte string literal not displayed */
	WorkspaceAllowLocal          bool     `` /* 203-byte string literal not displayed */
	WorkspaceLocalRoot           string   `` /* 165-byte string literal not displayed */
	WorkspaceDefaultTimeout      string   `` /* 320-byte string literal not displayed */
	WorkspaceMaxOutputBytes      int      `` /* 178-byte string literal not displayed */
	WorkspaceReap                string   `` /* 214-byte string literal not displayed */
	WorkspaceAttachMaxDuration   string   `` /* 320-byte string literal not displayed */
	WorkspaceConnectMaxDuration  string   `` /* 327-byte string literal not displayed */
	WorkspaceServices            []string `` /* 265-byte string literal not displayed */
	RunGrantTTLDefault           int      `` /* 246-byte string literal not displayed */
	RunGrantTTLMax               int      `` /* 180-byte string literal not displayed */
	RunGrantBudgetDefault        int      `` /* 127-byte string literal not displayed */
	RunGrantBudgetMax            int      `` /* 137-byte string literal not displayed */
	GrantSocket                  string   `` /* 305-byte string literal not displayed */
	GrantDecideTimeout           string   `` /* 169-byte string literal not displayed */
	ParentURL                    string   `` /* 383-byte string literal not displayed */
	GrantRefusalWindow           string   `` /* 310-byte string literal not displayed */
	Personalities                string   `` /* 224-byte string literal not displayed */
	ShutdownGrace                string   `` /* 387-byte string literal not displayed */
	Repl                         bool     `id:"repl" default:"false" desc:"Run REPL mode"`
	PromNamespace                string   `id:"prom-namespace" default:"txco" desc:"Set the Prometheus namespace (txco)"`
	PromPeriod                   int      `id:"prom-period" default:"5" desc:"Set the Prometheus reporting period (5)"`
	PushActionTimeout            int      `id:"push-action-timeout" default:"300" desc:"Timeout for push actions, in seconds (300)"`
	RegistryFixed                []string `id:"registry-fixed" default:"" desc:"Set to use a fixed operation name registry. Prefix:Address:Port ex: *:localhost:5858 ()"`
	RepoCloneSource              string   `` /* 143-byte string literal not displayed */
	RepoStore                    string   `id:"repostore" default:"file" desc:"Which Repo Store to use? {memory, file} (file)"`
	RepoStoreFileDir             string   `` /* 134-byte string literal not displayed */
	ContinuationStore            string   `` /* 126-byte string literal not displayed */
	ContinuationStoreFileDir     string   `` /* 156-byte string literal not displayed */
	ContinuationStoreS3Bucket    string   `` /* 140-byte string literal not displayed */
	ContinuationStoreS3Prefix    string   `` /* 144-byte string literal not displayed */
	ContinuationCallbackBaseURL  string   `` /* 143-byte string literal not displayed */
	ContinuationSweepPeriod      int      `id:"continuation-sweep-period" default:"900" desc:"Seconds between continuation store sweeps; 0 disables the sweeper (900)"`
	ContinuationRetention        int      `id:"continuation-retention" default:"604800" desc:"Seconds after a run's expiry before its docs are purged (604800 = 7d)"`
	ContinuationStaleResumeAfter int      `` /* 136-byte string literal not displayed */
	ArtifactStore                string   `id:"artifact-store" default:"file" desc:"Snapshot/event artifact store backend: {file} (file)"`
	ArtifactStoreFileDir         string   `` /* 140-byte string literal not displayed */
	FileCASStore                 string   `` /* 132-byte string literal not displayed */
	FileCASStoreFileDir          string   `` /* 144-byte string literal not displayed */
	FileCASStoreS3Bucket         string   `id:"filecas-store-s3-bucket" default:"" desc:"Reserved: S3-compatible filecas bucket (fleet overlay; unused in open core)"`
	FileCASStoreS3Prefix         string   `` /* 126-byte string literal not displayed */
	FileCASCacheBytes            int      `` /* 131-byte string literal not displayed */
	FileCASMaxFileBytes          int      `` /* 180-byte string literal not displayed */
	DatasetCacheDir              string   `` /* 248-byte string literal not displayed */
	DatasetCacheBytes            int      `` /* 194-byte string literal not displayed */
	DatasetMaxFileBytes          int      `` /* 173-byte string literal not displayed */
	DatasetMaxRows               int      `` /* 167-byte string literal not displayed */
	OutletMaxRows                int      `` /* 250-byte string literal not displayed */
	OutletMaxBytes               int      `` /* 180-byte string literal not displayed */
	OutletPoolMaxConns           int      `` /* 193-byte string literal not displayed */
	OutletPoolIdle               string   `id:"outlet-pool-idle" default:"60s" desc:"How long an outlet pool keeps an unused connection open before closing it (60s)."`
	OutletIdleClose              string   `` /* 158-byte string literal not displayed */
	OutletEgress                 string   `` /* 285-byte string literal not displayed */
	OutletEgressRelays           []string `` /* 313-byte string literal not displayed */
	OutletPGExecMode             string   `` /* 338-byte string literal not displayed */
	OutletEgressWGConfig         string   `` /* 414-byte string literal not displayed */
	SnapshotBootstrapRef         string   `` /* 178-byte string literal not displayed */
	FeedSource                   string   `` /* 136-byte string literal not displayed */
	FeedSourceFileDir            string   `id:"feed-source-file-dir" default:"./chassis/data/feed" desc:"Root directory for the file feed source (./chassis/data/feed)"`
	FeedPollPeriod               int      `id:"feed-poll-period" default:"15" desc:"Seconds between control-event feed polls; applies when feed-source != nop (15)"`
	FeedSink                     string   `` /* 151-byte string literal not displayed */
	FeedSinkBatchSize            int      `id:"feed-sink-batch-size" default:"64" desc:"Max outbox rows drained per pump tick when feed-sink != nop (64)"`
	RoomRelay                    string   `id:"room-relay" default:"" desc:"Cross-node room-message relay: empty (default) = in-process only (single node). ()"`
	EgressPolicy                 string   `` /* 481-byte string literal not displayed */
	EgressDenyCIDRs              []string `` /* 155-byte string literal not displayed */
	EgressAllowCIDRs             []string `` /* 188-byte string literal not displayed */
	SystemOpstacksDir            string   `` /* 255-byte string literal not displayed */
	SystemOpstacksWatch          bool     `` /* 176-byte string literal not displayed */
	ReadFileMaxBytes             int      `` /* 288-byte string literal not displayed */
	ServerId                     string   `id:"sid" default:"" desc:"Set the Server Id ()"`
	LMTPListenAddrs              []string `` /* 321-byte string literal not displayed */
	LMTPMaxMsgBytes              int      `` /* 149-byte string literal not displayed */
	LMTPMaxRecipients            int      `id:"lmtp-max-recipients" default:"50" desc:"Max RCPT TO addresses per LMTP transaction. (50)"`
	LMTPReadTimeout              string   `id:"lmtp-read-timeout" default:"30s" desc:"Per-command read timeout for the LMTP listener. (30s)"`
	LMTPDataTimeout              string   `id:"lmtp-data-timeout" default:"60s" desc:"DATA phase read timeout for the LMTP listener. (60s)"`
	LMTPRespTimeout              string   `` /* 134-byte string literal not displayed */
	LMTPHostname                 string   `id:"lmtp-hostname" default:"" desc:"Greeting hostname for the LMTP server. Empty (default) uses os.Hostname(). ()"`
	LMTPDefaultHosts             []string `` /* 264-byte string literal not displayed */
	MailMapListenAddrs           []string `` /* 500-byte string literal not displayed */
	MailMapReadTimeout           string   `id:"mailmap-read-timeout" default:"5s" desc:"Per-request read timeout for the mailmap tcp_table responder. (5s)"`
	MailRelayAddr                string   `` /* 265-byte string literal not displayed */
	MailRelayTLS                 string   `` /* 287-byte string literal not displayed */
	MailDialTimeoutMS            int      `` /* 174-byte string literal not displayed */
	MailMaxRecipients            int      `` /* 232-byte string literal not displayed */
	MailRateLimits               string   `` /* 388-byte string literal not displayed */
	MailSpamThresholds           string   `` /* 465-byte string literal not displayed */
	TCPListenAddrs               []string `` /* 1210-byte string literal not displayed */
	TCPConnectRespTimeout        string   `id:"tcp-connect-resp-timeout" default:"3s" desc:"Time that backends must accept a new connection before dropping it. (3s)"`
	TCPMaxIdleTimeout            string   `id:"tcp-max-idle-timeout" default:"5s" desc:"Max idle time between commands. May be set lower at runtime. (5s)"`
	TCPRespTimeout               string   `id:"tcp-resp-timeout" default:"10s" desc:"Max time for us to respond to command. (10s)"`
	TCPMaxConns                  int      `` /* 215-byte string literal not displayed */
	TCPDrainTimeout              string   `` /* 170-byte string literal not displayed */
	TCPMaxConnsPerTenant         int      `` /* 256-byte string literal not displayed */
	TCPConnFuel                  int      `` /* 368-byte string literal not displayed */
	TCPHandshakeTimeout          string   `` /* 218-byte string literal not displayed */
	DNSListenAddrs               []string `` /* 775-byte string literal not displayed */
	DNSChallengeStore            string   `` /* 627-byte string literal not displayed */
	DNSRRLPerSec                 int      `` /* 171-byte string literal not displayed */
	DNSNameservers               []string `` /* 259-byte string literal not displayed */
	DNSEdgeIPs                   []string `` /* 211-byte string literal not displayed */
	DNSMXHost                    string   `` /* 183-byte string literal not displayed */
	DNSMXPriority                int      `id:"dns-mx-priority" default:"10" desc:"Preference value for synthesized MX records. (10)"`
	DNSSynthTTL                  int      `id:"dns-synth-ttl" default:"60" desc:"TTL (seconds) applied to synthesized pattern records. (60)"`
	DNSSPF                       string   `` /* 244-byte string literal not displayed */
	DNSDMARC                     string   `` /* 281-byte string literal not displayed */
	DNSIMAPSPort                 int      `` /* 576-byte string literal not displayed */
	DNSCalDAVSPort               int      `` /* 480-byte string literal not displayed */
	DNSCardDAVSPort              int      `` /* 457-byte string literal not displayed */
	DNSIPP                       bool     `` /* 390-byte string literal not displayed */
	DNSTenantZoneManagement      bool     `` /* 426-byte string literal not displayed */
	DNSRequireZoneVerification   bool     `` /* 485-byte string literal not displayed */
	DNSUpdateTSIGKeyName         string   `` /* 385-byte string literal not displayed */
	DNSUpdateTSIGSecret          string   `` /* 243-byte string literal not displayed */
	DNSObserveSample             int      `` /* 552-byte string literal not displayed */
	DNSObserveMaxInflight        int      `` /* 266-byte string literal not displayed */
	DNSStackDeadlineMs           int      `` /* 401-byte string literal not displayed */
	DNSStackDispatchPerSec       int      `` /* 343-byte string literal not displayed */
	IMAPListenAddrs              []string `` /* 370-byte string literal not displayed */
	IMAPTLSAddrs                 []string `` /* 320-byte string literal not displayed */
	IMAPHostname                 string   `` /* 196-byte string literal not displayed */
	IMAPTLSCertFile              string   `` /* 207-byte string literal not displayed */
	IMAPTLSKeyFile               string   `id:"imap-tls-key-file" default:"" desc:"PEM private key matching --imap-tls-cert-file. ()"`
	IMAPSelfSigned               bool     `` /* 464-byte string literal not displayed */
	IMAPWireDebug                bool     `` /* 212-byte string literal not displayed */
	IMAPStore                    string   `` /* 611-byte string literal not displayed */
	IMAPDBPath                   string   `` /* 218-byte string literal not displayed */
	NotebookStore                string   `` /* 477-byte string literal not displayed */
	NotebookDBPath               string   `` /* 232-byte string literal not displayed */
	NotebookMaxEntryBytes        int      `` /* 193-byte string literal not displayed */
	NotebookMaxReadRows          int      `` /* 195-byte string literal not displayed */
	NotebookMaxTTL               int      `` /* 167-byte string literal not displayed */
	NotebookMaxExportBytes       int      `` /* 234-byte string literal not displayed */
	NotebookSweepPeriod          string   `` /* 231-byte string literal not displayed */
	NotebookSweepBatch           int      `` /* 145-byte string literal not displayed */
	IMAPInsecureAuth             bool     `` /* 240-byte string literal not displayed */
	IMAPMaxConnsPerAccount       int      `` /* 174-byte string literal not displayed */
	IMAPLoginRate                int      `` /* 323-byte string literal not displayed */
	IMAPRefuseBareUsernames      bool     `` /* 575-byte string literal not displayed */
	LoginRate                    int      `` /* 645-byte string literal not displayed */
	IMAPSyncInterval             string   `` /* 547-byte string literal not displayed */
	IMAPRespTimeout              string   `` /* 276-byte string literal not displayed */
	IMAPObserveSample            int      `` /* 450-byte string literal not displayed */
	IMAPObserveMaxInflight       int      `` /* 238-byte string literal not displayed */
	IMAPProxyProtocol            []string `` /* 382-byte string literal not displayed */
	WebTrustedProxies            []string `` /* 802-byte string literal not displayed */
	IMAPAppendMaxBytes           int      `` /* 260-byte string literal not displayed */
	CalendarStore                string   `` /* 645-byte string literal not displayed */
	CalendarDBPath               string   `` /* 238-byte string literal not displayed */
	CalendarPathPrefix           string   `` /* 393-byte string literal not displayed */
	CalendarInsecureAuth         bool     `` /* 333-byte string literal not displayed */
	CalendarRespTimeout          string   `` /* 280-byte string literal not displayed */
	CalendarObserveSample        int      `` /* 455-byte string literal not displayed */
	CalendarObserveMaxInflight   int      `` /* 250-byte string literal not displayed */
	CalendarObjectMaxBytes       int      `` /* 255-byte string literal not displayed */
	CalendarFeedMaxAge           int      `` /* 243-byte string literal not displayed */
	ContactsStore                string   `` /* 645-byte string literal not displayed */
	ContactsDBPath               string   `` /* 238-byte string literal not displayed */
	ContactsPathPrefix           string   `` /* 418-byte string literal not displayed */
	ContactsInsecureAuth         bool     `` /* 333-byte string literal not displayed */
	ContactsRespTimeout          string   `` /* 285-byte string literal not displayed */
	ContactsObserveSample        int      `` /* 466-byte string literal not displayed */
	ContactsObserveMaxInflight   int      `` /* 250-byte string literal not displayed */
	ContactsObjectMaxBytes       int      `` /* 289-byte string literal not displayed */
	DriveStore                   string   `` /* 646-byte string literal not displayed */
	DriveDBPath                  string   `` /* 223-byte string literal not displayed */
	DriveObjects                 string   `` /* 255-byte string literal not displayed */
	DriveObjectsFileDir          string   `` /* 263-byte string literal not displayed */
	DrivePathPrefix              string   `` /* 423-byte string literal not displayed */
	DriveInsecureAuth            bool     `` /* 330-byte string literal not displayed */
	DriveMaxFileBytes            int      `` /* 240-byte string literal not displayed */
	DriveMaxCollectionBytes      int      `` /* 173-byte string literal not displayed */
	DriveMaxResources            int      `` /* 175-byte string literal not displayed */
	DriveOpMaxBytes              int      `` /* 342-byte string literal not displayed */
	SignedURLBase                string   `` /* 306-byte string literal not displayed */
	DriveSweepPeriod             int      `` /* 316-byte string literal not displayed */
	DriveSweepGrace              int      `` /* 242-byte string literal not displayed */
	DriveTombstoneRetention      int      `` /* 287-byte string literal not displayed */
	WebsocketMaxConns            int      `` /* 468-byte string literal not displayed */
	WebsocketMaxConnsPerTenant   int      `` /* 246-byte string literal not displayed */
	WebsocketMaxMessageBytes     int      `` /* 317-byte string literal not displayed */
	WebsocketInboundQueue        int      `` /* 269-byte string literal not displayed */
	WebsocketRunTimeout          string   `` /* 196-byte string literal not displayed */
	WebsocketIdleTimeout         string   `` /* 257-byte string literal not displayed */
	WebsocketMaxIdleTimeout      string   `id:"websocket-max-idle-timeout" default:"1h" desc:"Ceiling for a per-session idle_timeout a stack asks for at accept. (1h)"`
	WebsocketPingInterval        string   `` /* 257-byte string literal not displayed */
	WebsocketWriteTimeout        string   `` /* 230-byte string literal not displayed */
	WebsocketDrainTimeout        string   `` /* 180-byte string literal not displayed */
	WebsocketRelay               string   `` /* 295-byte string literal not displayed */
	IPPStore                     string   `` /* 399-byte string literal not displayed */
	IPPDBPath                    string   `` /* 219-byte string literal not displayed */
	IPPFormats                   []string `` /* 326-byte string literal not displayed */
	IPPMaxJobBytes               int      `` /* 265-byte string literal not displayed */
	IPPMaxInflight               int      `` /* 174-byte string literal not displayed */
	IPPInsecureAuth              bool     `` /* 252-byte string literal not displayed */
	IPPAnonymousAttributes       bool     `` /* 666-byte string literal not displayed */
	IPPPollInterval              int      `` /* 230-byte string literal not displayed */
	IPPDispatchTimeout           int      `` /* 194-byte string literal not displayed */
	IPPLeaseStaleAfter           int      `` /* 194-byte string literal not displayed */
	IPPMaxAttempts               int      `` /* 147-byte string literal not displayed */
	IPPReceiveTimeout            int      `` /* 246-byte string literal not displayed */
	IPPRetention                 int      `` /* 184-byte string literal not displayed */
	IPPWireDebug                 bool     `` /* 251-byte string literal not displayed */
	WebTLSSelfSigned             bool     `` /* 335-byte string literal not displayed */
	WebTLSSelfSignedCertDir      string   `` /* 208-byte string literal not displayed */
	WebTLSSelfSignedHosts        []string `` /* 166-byte string literal not displayed */
	WebTLSAddr                   string   `` /* 422-byte string literal not displayed */
	ACMEEmail                    string   `` /* 190-byte string literal not displayed */
	ACMECA                       string   `` /* 233-byte string literal not displayed */
	ACMECARootFile               string   `` /* 230-byte string literal not displayed */
	ACMEDNSResolvers             []string `` /* 318-byte string literal not displayed */
	CertStorageDSN               string   `` /* 317-byte string literal not displayed */
	CertStoragePath              string   `` /* 141-byte string literal not displayed */
	WebAddr                      string   `id:"web-addr" default:":8080" desc:"The port to listen on for the web server (:8080)"`
	WebPass                      string   `id:"web-pass" default:"" desc:"Basic Auth password ()"`
	WebUser                      string   `id:"web-user" default:"" desc:"User for basic auth ()"`
	WebIdleTimeout               int      `id:"web-idle-timeout" default:"60" desc:"Idle timeout, seconds (60)"`
	WebReadTimeout               int      `id:"web-read-timeout" default:"15" desc:"Read timeout, seconds (15)"`
	WebWriteTimeout              int      `id:"web-write-timeout" default:"15" desc:"Write timeout, seconds (15)"`
	WebMaxBodyBytes              int      `` /* 318-byte string literal not displayed */
	LLMUpstreamURL               string   `` /* 332-byte string literal not displayed */
	LLMContextMaxTokens          int      `` /* 401-byte string literal not displayed */
	LLMContextMaxItems           int      `` /* 263-byte string literal not displayed */
	ContinuationLongPollMS       int      `` /* 229-byte string literal not displayed */
	WebDebug                     string   `id:"web-debug" default:"" desc:"Debug flags: SHOW_PRIVATE_VARS, HIDE_PRIVATE_VARS"`
	WebMockHeader                bool     `` /* 185-byte string literal not displayed */
	UsageEnabled                 bool     `` /* 216-byte string literal not displayed */
	UsageSink                    string   `` /* 192-byte string literal not displayed */
	TelemetryEnabled             bool     `` /* 238-byte string literal not displayed */
	TelemetryExporter            string   `` /* 201-byte string literal not displayed */
	BackgroundServices           string   `` /* 178-byte string literal not displayed */
}

Command Line Flags / Environment variables to configure runtime environment

func Load

func Load() (Config, error)

func (Config) HasPersonality added in v0.2.21

func (c Config) HasPersonality(name string) bool

HasPersonality reports whether the given head/personality is enabled. It splits Personalities on commas and matches the whole token — unlike a bare strings.Contains, so "admin" does not match "notadmin" or a future "admin-readonly". Prefer this over strings.Contains(Personalities, …) for new checks. (Many existing call sites still use strings.Contains; those match only because none of the current personality names is a substring of another.)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL