Directories
¶
| Path | Synopsis |
|---|---|
|
app
|
|
|
auth-bench
command
auth-bench times what a dial to the yarilo-auth master costs against the lookup it carries -- the ratio the connection pool decision turned on (#1402) and the way to confirm the pool in the field afterwards.
|
auth-bench times what a dial to the yarilo-auth master costs against the lookup it carries -- the ratio the connection pool decision turned on (#1402) and the way to confirm the pool in the field afterwards. |
|
fts-bench
command
|
|
|
smoketest
command
smoketest verifies a live yarilo deployment: exit 0 when every check passed, 1 otherwise.
|
smoketest verifies a live yarilo deployment: exit 0 when every check passed, 1 otherwise. |
|
smoketest-e2e
command
smoketest-e2e drives a live yarilo instance end-to-end:
|
smoketest-e2e drives a live yarilo instance end-to-end: |
|
smoketest-e2e/seed
command
seed creates the yarilo_users table (if missing) and inserts a single user with a bcrypt-hashed password.
|
seed creates the yarilo_users table (if missing) and inserts a single user with a bcrypt-hashed password. |
|
yarctl
command
yarctl is the yarilo operator CLI.
|
yarctl is the yarilo operator CLI. |
|
yarilo
command
|
|
|
yarilo-auth
command
yarilo-auth is the standalone authentication service for the yarilo mail server.
|
yarilo-auth is the standalone authentication service for the yarilo mail server. |
|
yarilo-backend-api
command
yarilo-backend-api is the backend-plane admin HTTP API.
|
yarilo-backend-api is the backend-plane admin HTTP API. |
|
yarilo-backend-reg
command
yarilo-backend-reg is the co-located backend pod's registration sidecar (#788).
|
yarilo-backend-reg is the co-located backend pod's registration sidecar (#788). |
|
yarilo-dict
command
yarilo-dict serves the named dicts from yarilo.yaml: the only process that links a dict engine, which sessions reach by name (#1733).
|
yarilo-dict serves the named dicts from yarilo.yaml: the only process that links a dict engine, which sessions reach by name (#1733). |
|
yarilo-director
command
yarilo-director routes mail sessions to backend pods by consistent hash of the username and proxies them directly to the pod IP (bypassing kube-proxy).
|
yarilo-director routes mail sessions to backend pods by consistent hash of the username and proxies them directly to the pod IP (bypassing kube-proxy). |
|
yarilo-fts
command
yarilo-fts is the full-text-search service: the sole owner of the FTS indexes - indexing queue + worker and the LOOKUP endpoint - speaking the pkg/ftsproto wire protocol.
|
yarilo-fts is the full-text-search service: the sole owner of the FTS indexes - indexing queue + worker and the LOOKUP endpoint - speaking the pkg/ftsproto wire protocol. |
|
yarilo-imap
command
yarilo-imap is the IMAP/IMAPS backend for the yarilo mail server.
|
yarilo-imap is the IMAP/IMAPS backend for the yarilo mail server. |
|
yarilo-imap-login
command
yarilo-imap-login is the IMAP/IMAPS login proxy for the yarilo mail server.
|
yarilo-imap-login is the IMAP/IMAPS login proxy for the yarilo mail server. |
|
yarilo-jmap
command
yarilo-jmap is the JMAP backend (RFC 8620 core, RFC 8621 mail).
|
yarilo-jmap is the JMAP backend (RFC 8620 core, RFC 8621 mail). |
|
yarilo-jmap-login
command
yarilo-jmap-login is the JMAP login proxy.
|
yarilo-jmap-login is the JMAP login proxy. |
|
yarilo-lmtp
command
yarilo-lmtp is the LMTP backend for the yarilo mail server.
|
yarilo-lmtp is the LMTP backend for the yarilo mail server. |
|
yarilo-lmtp-login
command
yarilo-lmtp-login is the LMTP login proxy for the yarilo mail server.
|
yarilo-lmtp-login is the LMTP login proxy for the yarilo mail server. |
|
yarilo-locks
command
yarilo-locks is the cross-process write-coordination service, selected by locks_service.mode in yarilo.yaml:
|
yarilo-locks is the cross-process write-coordination service, selected by locks_service.mode in yarilo.yaml: |
|
yarilo-managesieve
command
yarilo-managesieve is the ManageSieve backend for the yarilo mail server.
|
yarilo-managesieve is the ManageSieve backend for the yarilo mail server. |
|
yarilo-managesieve-login
command
yarilo-managesieve-login is the ManageSieve (RFC 5804) login proxy.
|
yarilo-managesieve-login is the ManageSieve (RFC 5804) login proxy. |
|
yarilo-migrate
command
yarilo-migrate converts a per-user mailbox tree from one storage shape to another.
|
yarilo-migrate converts a per-user mailbox tree from one storage shape to another. |
|
yarilo-pop3
command
yarilo-pop3 is the POP3/POP3S backend for the yarilo mail server.
|
yarilo-pop3 is the POP3/POP3S backend for the yarilo mail server. |
|
yarilo-pop3-login
command
yarilo-pop3-login is the POP3/POP3S login proxy for the yarilo mail server.
|
yarilo-pop3-login is the POP3/POP3S login proxy for the yarilo mail server. |
|
yarilo-quota-status
command
yarilo-quota-status is a Postfix policy service that rejects incoming messages to recipients whose mailbox is over quota.
|
yarilo-quota-status is a Postfix policy service that rejects incoming messages to recipients whose mailbox is over quota. |
|
yarilo-sasl-login
command
yarilo-sasl-login proxies Postfix SASL authentication to yarilo-auth.
|
yarilo-sasl-login proxies Postfix SASL authentication to yarilo-auth. |
|
yarilo-submission
command
yarilo-submission is the SMTP submission proxy: it authenticates the client on 587/465 and relays to the upstream MTA, opening no mailbox.
|
yarilo-submission is the SMTP submission proxy: it authenticates the client on 587/465 and relays to the upstream MTA, opening no mailbox. |
|
yarilo-submission-login
command
yarilo-submission-login is the SMTP submission login proxy for the yarilo mail server.
|
yarilo-submission-login is the SMTP submission login proxy for the yarilo mail server. |
|
yarilo-warden
command
yarilo-warden is the connection-accounting service for the yarilo mail server.
|
yarilo-warden is the connection-accounting service for the yarilo mail server. |
|
hack
|
|
|
commentcensus
command
commentcensus lists the multi-line comment blocks in the tree and measures what share of each package is comment.
|
commentcensus lists the multi-line comment blocks in the tree and measures what share of each package is comment. |
|
fts-decoder-stub
command
fts-decoder-stub is a minimal server implementing the fts_decoder_driver=script wire protocol (see internal/fts/decoder/script.go), for live sandbox verification of the attachment-decoder code path - not for production use.
|
fts-decoder-stub is a minimal server implementing the fts_decoder_driver=script wire protocol (see internal/fts/decoder/script.go), for live sandbox verification of the attachment-decoder code path - not for production use. |
|
settingsexport
command
settingsexport prints every yarilo.yaml key as JSON: full path, section, Go type and the value config.Defaults() gives it.
|
settingsexport prints every yarilo.yaml key as JSON: full path, section, Go type and the value config.Defaults() gives it. |
|
internal
|
|
|
auth/authtest
Package authtest wires a session's auth relay to an in-process auth service, so a test that once held a passdb drives the same credential over the wire.
|
Package authtest wires a session's auth relay to an in-process auth service, so a test that once held a passdb drives the same credential over the wire. |
|
auth/client
Package client implements the yarilo-auth TAB-delimited client protocol.
|
Package client implements the yarilo-auth TAB-delimited client protocol. |
|
auth/oauth2
Package oauth2 validates OAuth 2.0 bearer tokens for the SASL OAUTHBEARER mechanism (RFC 7628) and exposes the result as a passdb.Passdb, so OAuth logins flow through the regular yarilo-auth pipeline unchanged.
|
Package oauth2 validates OAuth 2.0 bearer tokens for the SASL OAUTHBEARER mechanism (RFC 7628) and exposes the result as a passdb.Passdb, so OAuth logins flow through the regular yarilo-auth pipeline unchanged. |
|
auth/passdbs
Package passdbs builds passdb and userdb chains from config entries, dispatching on the driver name.
|
Package passdbs builds passdb and userdb chains from config entries, dispatching on the driver name. |
|
auth/passwdfile
Package passwdfile implements a passwd-file passdb and userdb: a flat, colon-separated file of users (classic /etc/passwd layout with an optional extra-fields column).
|
Package passwdfile implements a passwd-file passdb and userdb: a flat, colon-separated file of users (classic /etc/passwd layout with an optional extra-fields column). |
|
auth/policy
Package policy implements a wforce-compatible HTTP policy client.
|
Package policy implements a wforce-compatible HTTP policy client. |
|
auth/protocol
Package protocol implements the yarilo-auth TCP+mTLS protocol.
|
Package protocol implements the yarilo-auth TCP+mTLS protocol. |
|
auth/scheme
Package scheme verifies a plaintext password against a stored {SCHEME}-prefixed password string and parses SCRAM verifier blobs.
|
Package scheme verifies a plaintext password against a stored {SCHEME}-prefixed password string and parses SCRAM verifier blobs. |
|
auth/scram
Package scram adapts the go-sasl SCRAM servers for session use: it captures the authenticated username (the sasl factory doesn't expose it) and runs a post-success hook before the connection is marked authenticated.
|
Package scram adapts the go-sasl SCRAM servers for session use: it captures the authenticated username (the sasl factory doesn't expose it) and runs a post-success hook before the connection is marked authenticated. |
|
auth/sql
Package sql implements SQL passdb/userdb for yarilo-auth.
|
Package sql implements SQL passdb/userdb for yarilo-auth. |
|
auth/static
Package static implements a static passdb and userdb: one shared credential and a set of templated fields applied to every user.
|
Package static implements a static passdb and userdb: one shared credential and a set of templated fields applied to every user. |
|
authwait
Package authwait holds the guard that keeps startup dials to yarilo-auth bounded by a wait rather than by an immediate exit (#1369).
|
Package authwait holds the guard that keeps startup dials to yarilo-auth bounded by a wait rather than by an immediate exit (#1369). |
|
backend
Package backend wires all server components for the backend (or single) mode.
|
Package backend wires all server components for the backend (or single) mode. |
|
backendapi
Package backendapi is the backend-plane admin HTTP API.
|
Package backendapi is the backend-plane admin HTTP API. |
|
backendreg
Package backendreg self-registers a backend with the director and heartbeats, so the ring reflects live backend pods.
|
Package backendreg self-registers a backend with the director and heartbeats, so the ring reflects live backend pods. |
|
cluster/proto
Package proto implements the yarilo-director TAB-delimited wire protocol.
|
Package proto implements the yarilo-director TAB-delimited wire protocol. |
|
cluster/ring
Package ring implements the director's consistent-hashing ring: MD5, 100 virtual nodes per backend (configurable), binary search.
|
Package ring implements the director's consistent-hashing ring: MD5, 100 virtual nodes per backend (configurable), binary search. |
|
connlimit
Package connlimit provides per-user@IP connection counting for IMAP/POP3/SMTP, enforcing the mail_max_userip_connections limit.
|
Package connlimit provides per-user@IP connection counting for IMAP/POP3/SMTP, enforcing the mail_max_userip_connections limit. |
|
dictsrv
Package dictsrv serves the dict protocol on behalf of named dicts, so the engines live in one process instead of every session binary (#1733).
|
Package dictsrv serves the dict protocol on behalf of named dicts, so the engines live in one process instead of every session binary (#1733). |
|
director
Package director - Membership implements the self-organizing director ring: members ordered by (ip, port), each node dialing its right neighbor, joined via an HMAC-authenticated JOIN against a seed.
|
Package director - Membership implements the self-organizing director ring: members ordered by (ip, port), each node dialing its right neighbor, joined via an HMAC-authenticated JOIN against a seed. |
|
drain
Package drain bounds a server's shutdown by its grace period: the grace is the longest a process waits for its connections, not a fixed sleep (#2433).
|
Package drain bounds a server's shutdown by its grace period: the grace is the longest a process waits for its connections, not a fixed sleep (#2433). |
|
fts/buildmail
Package buildmail turns a raw RFC 5322 message into the FTS build-key stream: KeyHeader/KeyMIMEHeader for indexable header fields, KeyBodyPart for decoded text parts (HTML converted to text, other attachments via an optional external decoder).
|
Package buildmail turns a raw RFC 5322 message into the FTS build-key stream: KeyHeader/KeyMIMEHeader for indexable header fields, KeyBodyPart for decoded text parts (HTML converted to text, other attachments via an optional external decoder). |
|
fts/decoder
Package decoder extracts indexable text from non-text MIME parts (PDF, office documents, etc.) via an external script or Apache Tika; no built-in format parsing.
|
Package decoder extracts indexable text from non-text MIME parts (PDF, office documents, etc.) via an external script or Apache Tika; no built-in format parsing. |
|
fts/flatcurve
Package flatcurve is the Xapian-backed FTS engine, on-disk compatible with the flatcurve index format: per-mailbox "fts-flatcurve" directory of Xapian shards (current.### write shard, index.### sealed shards), docid == IMAP UID, term prefixes A (all headers), H<NAME> (indexed header), B (header existence).
|
Package flatcurve is the Xapian-backed FTS engine, on-disk compatible with the flatcurve index format: per-mailbox "fts-flatcurve" directory of Xapian shards (current.### write shard, index.### sealed shards), docid == IMAP UID, term prefixes A (all headers), H<NAME> (indexed header), B (header existence). |
|
fts/ftsstore
Package ftsstore builds the fts.IndexStore an engine writes its indexes through, from the driver named in fts_index_root.
|
Package ftsstore builds the fts.IndexStore an engine writes its indexes through, from the driver named in fts_index_root. |
|
fts/language
Package language is the tokenization and filter layer shared by FTS indexing and search.
|
Package language is the tokenization and filter layer shared by FTS indexing and search. |
|
fts/query
Package query turns the full-text part of a search into the engine query.
|
Package query turns the full-text part of a search into the engine query. |
|
ftsbench
Package ftsbench is the FTS acceptance benchmark: it builds a synthetic mail corpus, indexes it through the yarilo-fts service (embedded, flatcurve engine), and compares an index-backed SEARCH against the brute-force scan on the two axes the design commits to (https://doc.yarilomail.org/latest/features/fts.html §12): search latency and index size.
|
Package ftsbench is the FTS acceptance benchmark: it builds a synthetic mail corpus, indexes it through the yarilo-fts service (embedded, flatcurve engine), and compares an index-backed SEARCH against the brute-force scan on the two axes the design commits to (https://doc.yarilomail.org/latest/features/fts.html §12): search latency and index size. |
|
ftsservice
Package ftsservice is the yarilo-fts core: the sole owner of the FTS indexes (single writer + lookup endpoint, https://doc.yarilomail.org/latest/features/fts.html §4), an indexing queue with priority inserts for on-demand search catch-up, and the worker that streams messages through buildmail into the engine.
|
Package ftsservice is the yarilo-fts core: the sole owner of the FTS indexes (single writer + lookup endpoint, https://doc.yarilomail.org/latest/features/fts.html §4), an indexing queue with priority inserts for on-demand search catch-up, and the worker that streams messages through buildmail into the engine. |
|
hostnamewiring
Package hostnamewiring holds no code.
|
Package hostnamewiring holds no code. |
|
imap
Package imap wires go-imap/v2 to yarilo's mailbox and index backends.
|
Package imap wires go-imap/v2 to yarilo's mailbox and index backends. |
|
imaptext
Package imaptext writes and reads the ENVELOPE and BODYSTRUCTURE text the reference keeps in its index cache, byte for byte (#1714).
|
Package imaptext writes and reads the ENVELOPE and BODYSTRUCTURE text the reference keeps in its index cache, byte for byte (#1714). |
|
imapthread
Package imapthread implements the THREAD command of RFC 5256.
|
Package imapthread implements the THREAD command of RFC 5256. |
|
jmap
Package jmap is the JMAP backend: the pod that owns one user's state and answers the JMAP methods for it.
|
Package jmap is the JMAP backend: the pod that owns one user's state and answers the JMAP methods for it. |
|
jmaplogin
Package jmaplogin is the JMAP login proxy: client TLS, auth, warden accounting, director lookup, then a proxied request.
|
Package jmaplogin is the JMAP login proxy: client TLS, auth, warden accounting, director lookup, then a proxied request. |
|
lmtp
Package lmtp implements an LMTP server (RFC 2033) for local mail delivery.
|
Package lmtp implements an LMTP server (RFC 2033) for local mail delivery. |
|
lmtplogin
Package lmtplogin implements the yarilo-lmtp-login service.
|
Package lmtplogin implements the yarilo-lmtp-login service. |
|
lmtpreply
Package lmtpreply holds helpers shared by the LMTP proxy implementations (internal/lmtp and internal/lmtplogin) so a fix to the relayed reply format lands in one place rather than diverging between the two proxies.
|
Package lmtpreply holds helpers shared by the LMTP proxy implementations (internal/lmtp and internal/lmtplogin) so a fix to the relayed reply format lands in one place rather than diverging between the two proxies. |
|
login
Package login is the mail-protocol login proxy: authenticate, resolve the backend, proxy the session.
|
Package login is the mail-protocol login proxy: authenticate, resolve the backend, proxy the session. |
|
loginproto
Package loginproto defines the internal login-pod → backend preamble protocol.
|
Package loginproto defines the internal login-pod → backend preamble protocol. |
|
mailboxcreate
Package mailboxcreate makes a folder for a protocol server, and the folders a namespace's configuration says every user has (#2005).
|
Package mailboxcreate makes a folder for a protocol server, and the folders a namespace's configuration says every user has (#2005). |
|
managesieve
Package managesieve implements the RFC 5804 ManageSieve backend.
|
Package managesieve implements the RFC 5804 ManageSieve backend. |
|
msgcache
Package msgcache reads and writes the per-folder index cache (yarilo.index.cache) that lets a listing answer without opening message files.
|
Package msgcache reads and writes the per-folder index cache (yarilo.index.cache) that lets a listing answer without opening message files. |
|
pipelines
Package pipelines holds no code.
|
Package pipelines holds no code. |
|
pop3
Package pop3 implements a POP3 server (RFC 1939).
|
Package pop3 implements a POP3 server (RFC 1939). |
|
quotastatus
Package quotastatus answers Postfix check_policy_service requests on whether a recipient's mailbox can take a message; the answers are quota_status_* settings.
|
Package quotastatus answers Postfix check_policy_service requests on whether a recipient's mailbox can take a message; the answers are quota_status_* settings. |
|
quotawarn
Package quotawarn runs a quota_warning's program from a fixed bin dir, best-effort, with the warning context in the environment.
|
Package quotawarn runs a quota_warning's program from a fixed bin dir, best-effort, with the warning context in the environment. |
|
readyfile
Package readyfile implements the co-located backend pod's readiness signal (#788): each protocol container periodically touches a file in a shared directory ONLY while it is actually ready, and the yarilo-backend-reg sidecar gates its director heartbeat on all those files being fresh.
|
Package readyfile implements the co-located backend pod's readiness signal (#788): each protocol container periodically touches a file in a shared directory ONLY while it is actually ready, and the yarilo-backend-reg sidecar gates its director heartbeat on all those files being fresh. |
|
sasllogin
Package sasllogin proxies Postfix SASL authentication to yarilo-auth.
|
Package sasllogin proxies Postfix SASL authentication to yarilo-auth. |
|
stopaccept
Package stopaccept serves a backend listener until shutdown and then closes it, so a stopping backend refuses new sessions; open ones end with the process.
|
Package stopaccept serves a backend listener until shutdown and then closes it, so a stopping backend refuses new sessions; open ones end with the process. |
|
storage/idxrebuild
Package idxrebuild holds the driver-agnostic folder index rebuild core: scan the physical storage (UserMailbox.Scan), match the result against the current index by filename to preserve UIDs, and atomically replace the record set (UserIndex.ResetFolder).
|
Package idxrebuild holds the driver-agnostic folder index rebuild core: scan the physical storage (UserMailbox.Scan), match the result against the current index by filename to preserve UIDs, and atomically replace the record set (UserIndex.ResetFolder). |
|
storage/index/file
Package file is the per-folder index implementation that underlies every yarilo storage driver (maildir, dbox, mdbox).
|
Package file is the per-folder index implementation that underlies every yarilo storage driver (maildir, dbox, mdbox). |
|
storage/logrotate
Package logrotate owns the thresholds that decide when an append log is folded into its base file.
|
Package logrotate owns the thresholds that decide when an append log is folded into its base file. |
|
storage/mailbox/crlf
Package crlf turns bare LF into CRLF as bytes are read, without holding the message in memory.
|
Package crlf turns bare LF into CRLF as bytes are read, without holding the message in memory. |
|
storage/mailbox/dbox/v1legacy
Package v1legacy is a read-only reader for yarilo's pre-Phase-3 dbox format.
|
Package v1legacy is a read-only reader for yarilo's pre-Phase-3 dbox format. |
|
storage/mailbox/dboxconv
Package dboxconv converts another implementation's dbox store into ours in place: their map entries become ours, pointing at the same files at the same offsets.
|
Package dboxconv converts another implementation's dbox store into ours in place: their map entries become ours, pointing at the same files at the same offsets. |
|
storage/mailbox/dboxindex
Package dboxindex reads the index files another dbox v2 implementation writes, for the one-shot import in #1524.
|
Package dboxindex reads the index files another dbox v2 implementation writes, for the one-shot import in #1524. |
|
storage/mailbox/dboxref
Package dboxref holds dbox v2 files produced by the reference implementation, and hands them to the storage drivers' tests.
|
Package dboxref holds dbox v2 files produced by the reference implementation, and hands them to the storage drivers' tests. |
|
storage/mailbox/dboxv2
Package dboxv2 implements the single-message dbox (sdbox) storage driver, replacing yarilo's pre-Phase-3 internal/storage/mailbox/dbox implementation.
|
Package dboxv2 implements the single-message dbox (sdbox) storage driver, replacing yarilo's pre-Phase-3 internal/storage/mailbox/dbox implementation. |
|
storage/mailbox/maildir
Package maildir implements MailboxBackend for Maildir format.
|
Package maildir implements MailboxBackend for Maildir format. |
|
storage/mailbox/mboxenc
Package mboxenc implements folder name encoding helpers shared across all mailbox storage backends (maildir, sdbox, mdbox).
|
Package mboxenc implements folder name encoding helpers shared across all mailbox storage backends (maildir, sdbox, mdbox). |
|
storage/mailbox/mdbox
Package mdbox is the multi-message dbox storage driver over mdboxmap.
|
Package mdbox is the multi-message dbox storage driver over mdboxmap. |
|
storage/mailbox/mdbox/mdboxmap
Package mdboxmap implements the per-user mdbox map (`yarilo.map.index`): one record per stored message under a map_uid every folder index references and no storage file carries, so the map is not derivable from the messages on disk.
|
Package mdboxmap implements the per-user mdbox map (`yarilo.map.index`): one record per stored message under a map_uid every folder index references and no storage file carries, so the map is not derivable from the messages on disk. |
|
storage/mailbox/mdbox/v1legacy
Package v1legacy is a read-only reader for yarilo's pre-Phase-5 mdbox format.
|
Package v1legacy is a read-only reader for yarilo's pre-Phase-5 mdbox format. |
|
storage/mailbox/virtual
Package virtual holds the virtual mailbox: a mailbox whose messages live in other folders.
|
Package virtual holds the virtual mailbox: a mailbox whose messages live in other folders. |
|
storage/mailboxbuild
Package mailboxbuild is the single place a MailboxBackend is constructed from storage config.
|
Package mailboxbuild is the single place a MailboxBackend is constructed from storage config. |
|
storage/mailboxmetrics
Package mailboxmetrics holds the timings shared by the mailbox drivers.
|
Package mailboxmetrics holds the timings shared by the mailbox drivers. |
|
storage/mailindex
Package mailindex is a wire-compatible Go implementation of the mail-index binary format (major=7 minor=3).
|
Package mailindex is a wire-compatible Go implementation of the mail-index binary format (major=7 minor=3). |
|
storage/mailops
Package mailops runs the mutations of one user's mail and what follows them: quota, the full-text index and mailbox events (#2207).
|
Package mailops runs the mutations of one user's mail and what follows them: quota, the full-text index and mailbox events (#2207). |
|
storage/search
Package search evaluates IMAP search criteria over a folder's messages, with the full-text index where it can answer: SEARCH and virtual mailboxes use it.
|
Package search evaluates IMAP search criteria over a folder's messages, with the full-text index where it can answer: SEARCH and virtual mailboxes use it. |
|
submission
Package submission implements the submission servers (port 587 / 465).
|
Package submission implements the submission servers (port 587 / 465). |
|
submission/proxy
Package proxy implements the outbound submission proxy.
|
Package proxy implements the outbound submission proxy. |
|
telemetry
Package telemetry exposes /healthz, /readyz, and /metrics on a dedicated port.
|
Package telemetry exposes /healthz, /readyz, and /metrics on a dedicated port. |
|
threading
Package threading decides which messages belong to one conversation.
|
Package threading decides which messages belong to one conversation. |
|
toolchain
Package toolchain holds no code.
|
Package toolchain holds no code. |
|
userdbinfo
Package userdbinfo overlays a userdb lookup onto a resolver-derived UserInfo.
|
Package userdbinfo overlays a userdb lookup onto a resolver-derived UserInfo. |
|
userstate/acl
Package acl persists per-mailbox ACL state in a yarilo-acl file inside the folder's mailbox directory: the ACL lives with the mail data and does NOT follow INDEX=.
|
Package acl persists per-mailbox ACL state in a yarilo-acl file inside the folder's mailbox directory: the ACL lives with the mail data and does NOT follow INDEX=. |
|
userstate/counters
Package counters names the JMAP data types a push stream reports a change of.
|
Package counters names the JMAP data types a push stream reports a change of. |
|
userstate/folders
Package folders keeps one durable per-user record of folder identity: for each folder name, the UIDVALIDITY it was created with, and the watermark that makes a fresh one impossible to repeat.
|
Package folders keeps one durable per-user record of folder identity: for each folder name, the UIDVALIDITY it was created with, and the watermark that makes a fresh one impossible to repeat. |
|
userstate/specialuse
Package specialuse persists per-user RFC 6154 special-use overrides set via IMAP CREATE (USE ...).
|
Package specialuse persists per-user RFC 6154 special-use overrides set via IMAP CREATE (USE ...). |
|
userstate/subs
Package subs persists the set of mailbox names a user has SUBSCRIBE'd.
|
Package subs persists the set of mailbox names a user has SUBSCRIBE'd. |
|
userstate/threads
Package threads persists which conversation each message belongs to.
|
Package threads persists which conversation each message belongs to. |
|
userstate/uidvalidity
Package uidvalidity hands out per-user UIDVALIDITY values that are never handed out twice.
|
Package uidvalidity hands out per-user UIDVALIDITY values that are never handed out twice. |
|
warden
Package warden implements the yarilo-warden TCP+mTLS connection-accounting server.
|
Package warden implements the yarilo-warden TCP+mTLS connection-accounting server. |
|
xclient
Package xclient implements the XCLIENT SMTP extension (Postfix-compatible).
|
Package xclient implements the XCLIENT SMTP extension (Postfix-compatible). |
|
pkg
|
|
|
authclient
Package authclient is the Go client for the yarilo-auth master protocol.
|
Package authclient is the Go client for the yarilo-auth master protocol. |
|
authtoken
Package authtoken implements the one-time session token store used by yarilo-auth to hand off authenticated sessions to backend pods without replaying credentials.
|
Package authtoken implements the one-time session token store used by yarilo-auth to hand off authenticated sessions to backend pods without replaying credentials. |
|
build
Package build exposes build-time metadata stamped via -ldflags.
|
Package build exposes build-time metadata stamped via -ldflags. |
|
config
Package config loads yarilo.yaml: Defaults fills every key, the file overrides what it names, and Load refuses a value no component can use.
|
Package config loads yarilo.yaml: Defaults fills every key, the file overrides what it names, and Load refuses a value no component can use. |
|
dict
Package dict is yarilo's pluggable key-value store abstraction.
|
Package dict is yarilo's pluggable key-value store abstraction. |
|
dict/dicttest
Package dicttest is a contract test suite that any pkg/dict driver can run against.
|
Package dicttest is a contract test suite that any pkg/dict driver can run against. |
|
dict/drivers/all
Package all blank-imports every in-tree dict driver so a single import enables all of them in the importing binary.
|
Package all blank-imports every in-tree dict driver so a single import enables all of them in the importing binary. |
|
dict/fail
Package fail is a dict driver that fails every operation.
|
Package fail is a dict driver that fails every operation. |
|
dict/file
Package file is a JSON-backed local-filesystem dict driver.
|
Package file is a JSON-backed local-filesystem dict driver. |
|
dict/memory
Package memory is an in-process dict driver backed by a sync.Map.
|
Package memory is an in-process dict driver backed by a sync.Map. |
|
dict/proxy
Package proxy speaks the dict protocol to yarilo-dict, so a session holds a dict by name while the engines live in one process (#1733).
|
Package proxy speaks the dict protocol to yarilo-dict, so a session holds a dict by name while the engines live in one process (#1733). |
|
dict/redis
Package redis is a Redis-backed dict driver for state shared across pods.
|
Package redis is a Redis-backed dict driver for state shared across pods. |
|
dict/sql
Package sql is a database/sql-backed dict driver.
|
Package sql is a database/sql-backed dict driver. |
|
dict/varexpand
Package varexpand performs %-variable substitution for templated path / prefix strings used by dict drivers.
|
Package varexpand performs %-variable substitution for templated path / prefix strings used by dict drivers. |
|
expand
Package expand is the %{...} template language of configuration values: variables, providers such as env: and filters chained with |.
|
Package expand is the %{...} template language of configuration values: variables, providers such as env: and filters chained with |. |
|
filelock
Package filelock takes the kernel's lock on a file: what arbitrates writers on one volume, between processes and across hosts (#1840).
|
Package filelock takes the kernel's lock on a file: what arbitrates writers on one volume, between processes and across hosts (#1840). |
|
fts
Package fts defines the full-text-search engine contract: the build-key model an indexer feeds documents through, the query/result shapes a lookup speaks, and the per-user index handle engines implement.
|
Package fts defines the full-text-search engine contract: the build-key model an indexer feeds documents through, the query/result shapes a lookup speaks, and the per-user index handle engines implement. |
|
ftsproto
Package ftsproto is the TAB-delimited, LF-terminated wire protocol between session processes and the yarilo-fts service, plus the client.
|
Package ftsproto is the TAB-delimited, LF-terminated wire protocol between session processes and the yarilo-fts service, plus the client. |
|
jmapcore
Package jmapcore is the JMAP protocol layer: the wire types of RFC 8620 (core) and RFC 8621 (mail), and the encoding rules around them.
|
Package jmapcore is the JMAP protocol layer: the wire types of RFC 8620 (core) and RFC 8621 (mail), and the encoding rules around them. |
|
lineio
Package lineio reads LF-terminated lines without holding more than a bound.
|
Package lineio reads LF-terminated lines without holding more than a bound. |
|
lineio/linetest
Package linetest checks that a line-oriented server bounds the line it reads.
|
Package linetest checks that a line-oriented server bounds the line it reads. |
|
locks
Package locks is the single cross-process write-coordination abstraction for yarilo.
|
Package locks is the single cross-process write-coordination abstraction for yarilo. |
|
locks/lockstest
Package lockstest holds lock service doubles for tests.
|
Package lockstest holds lock service doubles for tests. |
|
logging
Package logging installs the process-wide slog handler with a runtime-changeable level.
|
Package logging installs the process-wide slog handler with a runtime-changeable level. |
|
mailbox
Package mailbox is the contract between the session processes and every storage driver: the per-user mailbox and index interfaces and their types.
|
Package mailbox is the contract between the session processes and every storage driver: the per-user mailbox and index interfaces and their types. |
|
mimesalvage
Package mimesalvage reads a message whose MIME is damaged.
|
Package mimesalvage reads a message whose MIME is damaged. |
|
mtls
Package mtls provides helpers for building mutual-TLS configs used between yarilo components (auth, warden, director, imap-login → imap, etc.).
|
Package mtls provides helpers for building mutual-TLS configs used between yarilo components (auth, warden, director, imap-login → imap, etc.). |
|
mtls/mtlstest
Package mtlstest issues an internal CA and role certificates for tests.
|
Package mtlstest issues an internal CA and role certificates for tests. |
|
quota
Package quota tracks and enforces per-user storage and message-count quota.
|
Package quota tracks and enforces per-user storage and message-count quota. |
|
redisopt
Package redisopt builds Redis clients from a URL and a password kept apart from it, so the password can come from a Secret, not the ConfigMap.
|
Package redisopt builds Redis clients from a URL and a password kept apart from it, so the password can come from a Secret, not the ConfigMap. |
|
retry
Package retry provides a simple exponential-backoff retry helper for startup-time dials that must succeed before a service can accept traffic.
|
Package retry provides a simple exponential-backoff retry helper for startup-time dials that must succeed before a service can accept traffic. |
|
sockaddr
Package sockaddr reads the addresses internal services listen on and dial: host:port is TCP, unix:/path is a Unix socket (#2415).
|
Package sockaddr reads the addresses internal services listen on and dial: host:port is TCP, unix:/path is a Unix socket (#2415). |
|
sqlitefile
Package sqlitefile creates a SQLite database file with its mode set, ahead of the driver, which would leave the mode to the umask.
|
Package sqlitefile creates a SQLite database file with its mode set, ahead of the driver, which would leave the mode to the umask. |
|
sqlpool
Package sqlpool applies connection-pool limits to a database/sql handle.
|
Package sqlpool applies connection-pool limits to a database/sql handle. |
|
sqlvars
Package sqlvars is the variable grammar of the SQL passdb and userdb queries: which variables a query may name, and how they become bound parameters.
|
Package sqlvars is the variable grammar of the SQL passdb and userdb queries: which variables a query may name, and how they become bound parameters. |
|
userfmt
Package userfmt expands the username templates yarilo-auth and OAuth2 share.
|
Package userfmt expands the username templates yarilo-auth and OAuth2 share. |
Click to show internal directories.
Click to hide internal directories.