cfg

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package cfg defines the tootik configuration file format and defaults.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	DatabaseOptions        string
	MaxDatabaseConnections int

	RequireRegistration                bool
	RequireInvitation                  bool
	MaxInvitationsPerUser              *int
	InvitationTimeout                  time.Duration
	RegistrationInterval               time.Duration
	CertificateApprovalTimeout         time.Duration
	UserNameRegex                      string
	CompiledUserNameRegex              *regexp.Regexp `json:"-"`
	ForbiddenUserNameRegex             string
	CompiledForbiddenUserNameRegex     *regexp.Regexp `json:"-"`
	EnableNonPortableActorRegistration bool

	MaxPostsLength     int
	MaxPostsPerDay     int64
	PostThrottleFactor int64
	PostThrottleUnit   time.Duration

	EditThrottleFactor float64
	EditThrottleUnit   time.Duration

	ShareThrottleFactor int64
	ShareThrottleUnit   time.Duration

	PollMaxOptions int
	PollDuration   time.Duration

	MaxDisplayNameLength int
	MaxBioLength         int
	MaxMetadataFields    int
	MaxAvatarSize        int64
	MaxAvatarWidth       int
	MaxAvatarHeight      int
	AvatarWidth          int
	AvatarHeight         int
	MinActorEditInterval time.Duration

	MaxFollowsPerUser int

	MaxBookmarksPerUser int
	MinBookmarkInterval time.Duration

	PostsPerPage     int
	PostContextDepth int
	RepliesPerPage   int
	MaxOffset        int

	SharesPerPost int
	QuotesPerPost int

	MaxRequestBodySize int64
	MaxRequestAge      time.Duration

	MaxResponseBodySize int64

	CompactViewMaxRunes int
	CompactViewMaxLines int

	CacheUpdateTimeout time.Duration

	GeminiRequestTimeout time.Duration

	DeliveryBatchSize     int
	DeliveryRetryInterval int64
	MaxDeliveryAttempts   int
	DeliveryTimeout       time.Duration
	DeliveryWorkers       int
	DeliveryWorkerBuffer  int

	OutboxPollingInterval time.Duration

	MaxActivitiesQueueSize    int
	ActivitiesBatchSize       int
	ActivitiesPollingInterval time.Duration
	ActivitiesBatchDelay      time.Duration
	ActivityProcessingTimeout time.Duration
	MaxForwardingDepth        int

	MaxRecipients int
	MinActorAge   time.Duration

	ResolverCacheTTL        time.Duration
	ResolverRetryInterval   time.Duration
	ResolverMaxIdleConns    int
	ResolverIdleConnTimeout time.Duration
	MaxInstanceRecoveryTime time.Duration
	MaxResolverRequests     int

	FollowersSyncBatchSize int
	FollowersSyncInterval  time.Duration

	FeedUpdateInterval time.Duration

	NotesTTL          time.Duration
	InvisiblePostsTTL time.Duration
	DeliveryTTL       time.Duration
	ActorTTL          time.Duration
	FeedTTL           time.Duration
	HistoryTTL        time.Duration

	FillNodeInfoUsage bool

	RFC9421Threshold float32
	Ed25519Threshold float32

	DisableIntegrityProofs bool
	MaxGateways            int

	InboxPageSize  int
	OutboxPageSize int

	BackfillDepth    int
	BackfillInterval time.Duration
}

Config represents a tootik configuration file.

func (*Config) FillDefaults

func (c *Config) FillDefaults()

FillDefaults replaces missing or invalid settings with defaults.

Jump to

Keyboard shortcuts

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