Help us shape the future of Go! Take the 2026 Go Developer Survey

config

package
v0.2.50 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 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      `` /* 382-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 */
	CallDefaultTimeout           string   `` /* 372-byte string literal not displayed */
	CallDepthMax                 int      `` /* 175-byte string literal not displayed */
	CallStopGrace                string   `` /* 402-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 */
	StaticReadTimeout            string   `` /* 269-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 */
	HTMLExtractTimeout           string   `` /* 219-byte string literal not displayed */
	HTMLExtractMaxBytes          int      `` /* 205-byte string literal not displayed */
	HTMLExtractConcurrency       int      `` /* 180-byte string literal not displayed */
	HTMLExtractParseConcurrency  int      `` /* 230-byte string literal not displayed */
	HTMLExtractTenantConcurrency int      `` /* 187-byte string literal not displayed */
	HTMLExtractRatePerMin        int      `` /* 195-byte string literal not displayed */
	WebSearch                    bool     `` /* 157-byte string literal not displayed */
	WebSearchBraveURL            string   `` /* 340-byte string literal not displayed */
	WebSearchTimeout             string   `` /* 167-byte string literal not displayed */
	WebSearchConcurrency         int      `` /* 163-byte string literal not displayed */
	WebSearchTenantConcurrency   int      `` /* 168-byte string literal not displayed */
	WebSearchRatePerMin          int      `` /* 176-byte string literal not displayed */
	WebFeed                      bool     `id:"web-feed" default:"true" desc:"Serve txco://web/feed. Off, the op answers txco_feed_disabled and fetches nothing. (true)"`
	WebFeedTimeout               string   `` /* 197-byte string literal not displayed */
	WebFeedMaxBytes              int      `` /* 183-byte string literal not displayed */
	WebFeedConcurrency           int      `` /* 158-byte string literal not displayed */
	WebFeedTenantConcurrency     int      `` /* 165-byte string literal not displayed */
	WebFeedRatePerMin            int      `` /* 173-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