Directories
¶
| Path | Synopsis |
|---|---|
|
auth
|
|
|
audit
Package audit records authorization decisions — who was allowed or denied which action on which resource, and why — as durable, structured, queryable events, distinct from aggregate metrics and ephemeral logs.
|
Package audit records authorization decisions — who was allowed or denied which action on which resource, and why — as durable, structured, queryable events, distinct from aggregate metrics and ephemeral logs. |
|
audit/sinks/dataaudit
Package dataaudit bridges the authorization-decision [audit.Sink] seam to the project's general-purpose data/audit dispatcher.
|
Package dataaudit bridges the authorization-decision [audit.Sink] seam to the project's general-purpose data/audit dispatcher. |
|
denylist
Package denylist provides a reusable token-revocation seam shared across the token packages.
|
Package denylist provides a reusable token-revocation seam shared across the token packages. |
|
denylist/mirror
Package mirror adapts an asynchronous, distributed revocation store to the synchronous github.com/altessa-s/go-atlas/auth/jwt.RevocationChecker seam that auth/jwt and auth/selfjwt verifiers accept.
|
Package mirror adapts an asynchronous, distributed revocation store to the synchronous github.com/altessa-s/go-atlas/auth/jwt.RevocationChecker seam that auth/jwt and auth/selfjwt verifiers accept. |
|
denylist/negcache
Package negcache places a probabilistic negative cache in front of an authoritative — typically distributed — revocation store, so the common case (a token that was never revoked) is answered locally without a network round trip.
|
Package negcache places a probabilistic negative cache in front of an authoritative — typically distributed — revocation store, so the common case (a token that was never revoked) is answered locally without a network round trip. |
|
denylist/negcache/factory
Package factory provides a fluent builder that constructs a github.com/altessa-s/go-atlas/auth/denylist/negcache.Cache from a probabilistic-filter configuration and injected dependencies.
|
Package factory provides a fluent builder that constructs a github.com/altessa-s/go-atlas/auth/denylist/negcache.Cache from a probabilistic-filter configuration and injected dependencies. |
|
denylist/storages/redis
Package redis provides a Redis-backed distributed exact revocation store for the denylist subsystem.
|
Package redis provides a Redis-backed distributed exact revocation store for the denylist subsystem. |
|
jwt
Package jwt is a generic, low-level toolkit for signing and verifying JWTs.
|
Package jwt is a generic, low-level toolkit for signing and verifying JWTs. |
|
mtls
Package mtls turns a verified mutual-TLS client certificate into an authenticated principal.
|
Package mtls turns a verified mutual-TLS client certificate into an authenticated principal. |
|
mtls/factory
Package factory turns a github.com/altessa-s/go-atlas/config.MTLS into the github.com/altessa-s/go-atlas/auth/mtls validator options it describes, giving the mTLS subsystem the same config→component path the OPA and scope factories provide.
|
Package factory turns a github.com/altessa-s/go-atlas/config.MTLS into the github.com/altessa-s/go-atlas/auth/mtls validator options it describes, giving the mTLS subsystem the same config→component path the OPA and scope factories provide. |
|
mtls/revocation
Package revocation provides a live OCSP peer-revocation check as an github.com/altessa-s/go-atlas/auth/mtls.CertValidator.
|
Package revocation provides a live OCSP peer-revocation check as an github.com/altessa-s/go-atlas/auth/mtls.CertValidator. |
|
oauth2client
Package oauth2client acquires OAuth2 tokens from an external identity provider as a client.
|
Package oauth2client acquires OAuth2 tokens from an external identity provider as a client. |
|
oauth2client/factory
Package factory builds client-side OAuth2 token acquisition from a github.com/altessa-s/go-atlas/config.OAuth2Client template and injected dependencies.
|
Package factory builds client-side OAuth2 token acquisition from a github.com/altessa-s/go-atlas/config.OAuth2Client template and injected dependencies. |
|
oidc
Package oidc provides OpenID Connect JWT token validation with automatic JWKS key rotation.
|
Package oidc provides OpenID Connect JWT token validation with automatic JWKS key rotation. |
|
oidc/factory
Package factory provides a fluent builder for creating OIDC providers from configuration.
|
Package factory provides a fluent builder for creating OIDC providers from configuration. |
|
opa
Package opa provides Open Policy Agent (OPA) integration for authorization.
|
Package opa provides Open Policy Agent (OPA) integration for authorization. |
|
opa/factory
Package factory provides a fluent builder for creating OPA managers from configuration.
|
Package factory provides a fluent builder for creating OPA managers from configuration. |
|
opa/sources/embed
Package embed implements opa.PolicySource backed by an fs.FS (typically an embed.FS) containing .rego policy files.
|
Package embed implements opa.PolicySource backed by an fs.FS (typically an embed.FS) containing .rego policy files. |
|
opa/sources/filesystem
Package filesystem provides a PolicySource implementation that reads OPA policies from the local filesystem.
|
Package filesystem provides a PolicySource implementation that reads OPA policies from the local filesystem. |
|
opa/sources/gitlab
Package gitlab provides a opa.PolicySource implementation that reads OPA policies from a GitLab repository.
|
Package gitlab provides a opa.PolicySource implementation that reads OPA policies from a GitLab repository. |
|
opa/sources/s3
Package s3 implements opa.PolicySource backed by an S3-compatible object store (AWS S3, MinIO, etc.).
|
Package s3 implements opa.PolicySource backed by an S3-compatible object store (AWS S3, MinIO, etc.). |
|
principal
Package principal defines the canonical verified-identity type shared across the auth stack.
|
Package principal defines the canonical verified-identity type shared across the auth stack. |
|
scope
Package scope is a transport-neutral, deny-by-default authorization policy built on permission scopes.
|
Package scope is a transport-neutral, deny-by-default authorization policy built on permission scopes. |
|
scope/factory
Package factory builds a frozen github.com/altessa-s/go-atlas/auth/scope.Registry from a github.com/altessa-s/go-atlas/config.ScopeRegistry.
|
Package factory builds a frozen github.com/altessa-s/go-atlas/auth/scope.Registry from a github.com/altessa-s/go-atlas/config.ScopeRegistry. |
|
selfjwt
Package selfjwt mints and verifies self-issued JWTs.
|
Package selfjwt mints and verifies self-issued JWTs. |
|
spiffe
Package spiffe parses SPIFFE IDs from X.509 certificates.
|
Package spiffe parses SPIFFE IDs from X.509 certificates. |
|
static
Package static provides transport-neutral static-token authentication.
|
Package static provides transport-neutral static-token authentication. |
|
cmd
|
|
|
goconfig
command
goconfig is a tool for converting configuration between formats.
|
goconfig is a tool for converting configuration between formats. |
|
optgen
command
optgen generates functional option functions from struct field tags.
|
optgen generates functional option functions from struct field tags. |
|
plugin-sign
command
Command plugin-sign creates and verifies cryptographic signatures for Go plugins, and generates the key pairs used to do so.
|
Command plugin-sign creates and verifies cryptographic signatures for Go plugins, and generates the key pairs used to do so. |
|
Package config defines the configuration structures and validation logic for all infrastructure components managed by go-atlas.
|
Package config defines the configuration structures and validation logic for all infrastructure components managed by go-atlas. |
|
internal/utils
Package utils provides internal utilities for the config package.
|
Package utils provides internal utilities for the config package. |
|
internal/validators
Package validators provides custom validation rules for configuration fields.
|
Package validators provides custom validation rules for configuration fields. |
|
loader
Package loader provides multi-source configuration loading with YAML/TOML backends and environment variable mapping.
|
Package loader provides multi-source configuration loading with YAML/TOML backends and environment variable mapping. |
|
loader/backend
Package backend defines interfaces for configuration file backends.
|
Package backend defines interfaces for configuration file backends. |
|
loader/backend/toml
Package toml provides a TOML backend for the configuration parser.
|
Package toml provides a TOML backend for the configuration parser. |
|
loader/backend/yaml3
Package yaml3 provides a YAML backend for the configuration parser.
|
Package yaml3 provides a YAML backend for the configuration parser. |
|
loader/secrets
Package secrets provides secret expansion functionality for configuration loading.
|
Package secrets provides secret expansion functionality for configuration loading. |
|
core
|
|
|
collections/maps
Package maps provides utilities for map transformation, filtering, and conversion.
|
Package maps provides utilities for map transformation, filtering, and conversion. |
|
collections/slices
Package slices provides generic utilities for slice operations like deduplication, filtering, and transformation.
|
Package slices provides generic utilities for slice operations like deduplication, filtering, and transformation. |
|
context
Package context provides helpers for working with contexts.
|
Package context provides helpers for working with contexts. |
|
encoding/etag
Package etag produces and compares entity-tags (ETags) as defined by RFC 7232, in both strong (`"value"`) and weak (`W/"value"`) forms.
|
Package etag produces and compares entity-tags (ETags) as defined by RFC 7232, in both strong (`"value"`) and weak (`W/"value"`) forms. |
|
encoding/hash
Package hash provides small, stdlib-only helpers for producing deterministic, hex-encoded SHA-256 digest strings.
|
Package hash provides small, stdlib-only helpers for producing deterministic, hex-encoded SHA-256 digest strings. |
|
encoding/serializer
Package serializer provides a common Serializer interface for encoding and decoding arbitrary Go values.
|
Package serializer provides a common Serializer interface for encoding and decoding arbitrary Go values. |
|
errors
Package errors provides general error classification and wrapping utilities.
|
Package errors provides general error classification and wrapping utilities. |
|
factory
Package factory provides common utilities for factory pattern implementations.
|
Package factory provides common utilities for factory pattern implementations. |
|
io
Package io provides I/O utilities: buffer pooling, byte-limited readers, and a lazy range-based read-seeker for remote objects.
|
Package io provides I/O utilities: buffer pooling, byte-limited readers, and a lazy range-based read-seeker for remote objects. |
|
io/files
Package files provides utilities for file system operations.
|
Package files provides utilities for file system operations. |
|
io/spool
Package spool materializes a streaming io.Reader into a local, rewindable backing store — memory for small content, a temp file for larger content — so callers can re-read it from offset 0 without touching the origin again.
|
Package spool materializes a streaming io.Reader into a local, rewindable backing store — memory for small content, a temp file for larger content — so callers can re-read it from offset 0 without touching the origin again. |
|
io/spoolbudget
Package spoolbudget bounds the aggregate disk held by concurrent spools.
|
Package spoolbudget bounds the aggregate disk held by concurrent spools. |
|
io/wal
Package wal implements a segmented, append-only write-ahead log for crash-safe durability of opaque byte payloads.
|
Package wal implements a segmented, append-only write-ahead log for crash-safe durability of opaque byte payloads. |
|
net/http
Package http provides foundational HTTP utilities and types.
|
Package http provides foundational HTTP utilities and types. |
|
retry
Package retry provides small, stdlib-only retry helpers.
|
Package retry provides small, stdlib-only retry helpers. |
|
runtime
Package runtime provides low-level runtime utilities wrapping Go's runtime package.
|
Package runtime provides low-level runtime utilities wrapping Go's runtime package. |
|
runtime/appinfo
Package appinfo provides standardized access to application metadata and configuration.
|
Package appinfo provides standardized access to application metadata and configuration. |
|
runtime/capabilities
Package capabilities wraps the Linux capabilities subsystem (capset(2), capget(2), prctl(2) PR_CAPBSET_*, PR_CAP_AMBIENT_*).
|
Package capabilities wraps the Linux capabilities subsystem (capset(2), capget(2), prctl(2) PR_CAPBSET_*, PR_CAP_AMBIENT_*). |
|
runtime/concurrency
Package concurrency provides utilities for managing concurrent execution.
|
Package concurrency provides utilities for managing concurrent execution. |
|
runtime/helpers
Package helpers provides low-level runtime utilities for debugging and tracing.
|
Package helpers provides low-level runtime utilities for debugging and tracing. |
|
runtime/internal/exectest
Package exectest provides a helper for tests that need to execute syscalls with irreversible process-wide side effects — Linux security primitives like capset(2), prctl(PR_SET_NO_NEW_PRIVS), landlock_restrict_self(2), seccomp(SET_MODE_FILTER), and persistent setrlimit calls.
|
Package exectest provides a helper for tests that need to execute syscalls with irreversible process-wide side effects — Linux security primitives like capset(2), prctl(PR_SET_NO_NEW_PRIVS), landlock_restrict_self(2), seccomp(SET_MODE_FILTER), and persistent setrlimit calls. |
|
runtime/landlock
Package landlock wraps the Linux Landlock LSM unprivileged filesystem sandbox syscalls (landlock_create_ruleset, landlock_add_rule, and landlock_restrict_self) added in kernel 5.13.
|
Package landlock wraps the Linux Landlock LSM unprivileged filesystem sandbox syscalls (landlock_create_ruleset, landlock_add_rule, and landlock_restrict_self) added in kernel 5.13. |
|
runtime/nonewprivs
Package nonewprivs installs the Linux PR_SET_NO_NEW_PRIVS bit on the calling process.
|
Package nonewprivs installs the Linux PR_SET_NO_NEW_PRIVS bit on the calling process. |
|
runtime/panics
Package panics provides utilities for panic handling and runtime assertions.
|
Package panics provides utilities for panic handling and runtime assertions. |
|
runtime/rlimits
Package rlimits installs Linux process resource limits (setrlimit(2)) on the calling process.
|
Package rlimits installs Linux process resource limits (setrlimit(2)) on the calling process. |
|
runtime/seccomp
Package seccomp installs a Linux seccomp-BPF filter that denies a fixed list of syscalls a Go process never legitimately calls.
|
Package seccomp installs a Linux seccomp-BPF filter that denies a fixed list of syscalls a Go process never legitimately calls. |
|
runtime/signals
Package signals provides OS signal handling with priority-based execution and rate limiting.
|
Package signals provides OS signal handling with priority-based execution and rate limiting. |
|
scheduler
Package scheduler defines the core interface and value types for task scheduling.
|
Package scheduler defines the core interface and value types for task scheduling. |
|
text/strings
Package strings provides utilities for string manipulation, conversion, and secure operations.
|
Package strings provides utilities for string manipulation, conversion, and secure operations. |
|
time
Package time provides utilities for safe timer management.
|
Package time provides utilities for safe timer management. |
|
time/timeformat
Package timeformat provides time formatting with RFC3339 and Unix timestamp support.
|
Package timeformat provides time formatting with RFC3339 and Unix timestamp support. |
|
types/bits
Package bits provides generic bit manipulation functions for all integer types.
|
Package bits provides generic bit manipulation functions for all integer types. |
|
types/constraints
Package constraints provides reusable generic constraints for numbers, primitives, and strings.
|
Package constraints provides reusable generic constraints for numbers, primitives, and strings. |
|
types/nilcheck
Package nilcheck provides utilities for checking nil interface values.
|
Package nilcheck provides utilities for checking nil interface values. |
|
types/optional
Package optional provides a generic Optional[T] type that holds either a value of type T or nothing.
|
Package optional provides a generic Optional[T] type that holds either a value of type T or nothing. |
|
types/ptr
Package ptr provides helpers for creating and dereferencing pointers to primitive types.
|
Package ptr provides helpers for creating and dereferencing pointers to primitive types. |
|
types/redacted
Package redacted provides RedactedString, a named string type for credential and other sensitive fields that substitutes its content with a fixed placeholder in every standard output context (fmt, log/slog, encoding/json, gopkg.in/yaml.v3, encoding.TextMarshaler, go.mongodb.org/mongo-driver/v2/bson).
|
Package redacted provides RedactedString, a named string type for credential and other sensitive fields that substitutes its content with a fixed placeholder in every standard output context (fmt, log/slog, encoding/json, gopkg.in/yaml.v3, encoding.TextMarshaler, go.mongodb.org/mongo-driver/v2/bson). |
|
types/result
Package result provides a generic Result[T] type that holds either a value of type T or an error.
|
Package result provides a generic Result[T] type that holds either a value of type T or an error. |
|
data
|
|
|
audit
Package audit provides high-performance, asynchronous user action auditing with at-least-once delivery semantics.
|
Package audit provides high-performance, asynchronous user action auditing with at-least-once delivery semantics. |
|
audit/factory
Package factory provides a fluent builder for creating audit auditors from configuration.
|
Package factory provides a fluent builder for creating audit auditors from configuration. |
|
audit/storages/memory
Package memory provides an in-memory audit.Storage implementation.
|
Package memory provides an in-memory audit.Storage implementation. |
|
audit/storages/mongo
Package mongo provides a MongoDB-backed audit.Storage implementation.
|
Package mongo provides a MongoDB-backed audit.Storage implementation. |
|
cache
Package cache provides a unified caching interface with multiple backends and serialization support.
|
Package cache provides a unified caching interface with multiple backends and serialization support. |
|
cache/factory
Package factory provides a fluent builder for creating cache providers from configuration.
|
Package factory provides a fluent builder for creating cache providers from configuration. |
|
cache/lru
Package lru provides generic thread-safe and sharded LRU cache implementations.
|
Package lru provides generic thread-safe and sharded LRU cache implementations. |
|
cache/providers
Package providers defines the cache Provider interface and common errors.
|
Package providers defines the cache Provider interface and common errors. |
|
cache/providers/freecache
Package freecache provides an in-memory cache provider using FreeCache.
|
Package freecache provides an in-memory cache provider using FreeCache. |
|
cache/providers/lru
Package lru provides an LRU-based cache provider implementing the providers.Provider interface.
|
Package lru provides an LRU-based cache provider implementing the providers.Provider interface. |
|
cache/providers/noop
Package noop provides a no-operation cache provider that discards all writes.
|
Package noop provides a no-operation cache provider that discards all writes. |
|
cache/providers/redis
Package redis provides a Redis-backed cache provider.
|
Package redis provides a Redis-backed cache provider. |
|
filter
Package filter provides CEL expression parsing and translation to database-specific filters.
|
Package filter provides CEL expression parsing and translation to database-specific filters. |
|
filter/translators/lua
Package lua provides a translator that converts filter AST nodes to Lua boolean expressions for use in Redis EVAL scripts.
|
Package lua provides a translator that converts filter AST nodes to Lua boolean expressions for use in Redis EVAL scripts. |
|
filter/translators/meili
Package meili provides a translator that converts filter AST nodes to Meilisearch filter expressions.
|
Package meili provides a translator that converts filter AST nodes to Meilisearch filter expressions. |
|
filter/translators/mongo
Package mongo provides a translator that converts filter AST nodes to MongoDB bson.M filters.
|
Package mongo provides a translator that converts filter AST nodes to MongoDB bson.M filters. |
|
filter/translators/redisearch
Package redisearch provides a translator that converts filter AST nodes to RediSearch query strings.
|
Package redisearch provides a translator that converts filter AST nodes to RediSearch query strings. |
|
idempotency
Package idempotency provides duplicate request detection using idempotency keys.
|
Package idempotency provides duplicate request detection using idempotency keys. |
|
idempotency/factory
Package factory provides a fluent builder for creating idempotency keepers from configuration.
|
Package factory provides a fluent builder for creating idempotency keepers from configuration. |
|
idempotency/storages
Package storages defines the Storage interface for idempotency key persistence.
|
Package storages defines the Storage interface for idempotency key persistence. |
|
idempotency/storages/memory
Package memory provides in-memory storage for idempotency keys with TTL support.
|
Package memory provides in-memory storage for idempotency keys with TTL support. |
|
idempotency/storages/nats
Package nats provides NATS JetStream KeyValue storage for idempotency keys.
|
Package nats provides NATS JetStream KeyValue storage for idempotency keys. |
|
idempotency/storages/redis
Package redis provides Redis storage for idempotency keys with TTL support.
|
Package redis provides Redis storage for idempotency keys with TTL support. |
|
internal/memcleanup
Package memcleanup provides a generic two-phase TTL sweep for RWMutex-guarded in-memory maps.
|
Package memcleanup provides a generic two-phase TTL sweep for RWMutex-guarded in-memory maps. |
|
internal/natsbase
Package natsbase provides a base type for NATS JetStream KeyValue providers.
|
Package natsbase provides a base type for NATS JetStream KeyValue providers. |
|
internal/natskvlease
Package natskvlease provides common utilities for NATS JetStream KeyValue-based distributed resource management, including distributed locks and leader election.
|
Package natskvlease provides common utilities for NATS JetStream KeyValue-based distributed resource management, including distributed locks and leader election. |
|
internal/redisbase
Package redisbase provides common utilities for Redis-based storage implementations.
|
Package redisbase provides common utilities for Redis-based storage implementations. |
|
internal/redisutils
Package redisutils provides common utilities for Redis-based data providers.
|
Package redisutils provides common utilities for Redis-based data providers. |
|
leadelect
Package leadelect provides distributed leader election for service coordination.
|
Package leadelect provides distributed leader election for service coordination. |
|
leadelect/errs
Package errs provides common errors for leader election providers.
|
Package errs provides common errors for leader election providers. |
|
leadelect/factory
Package factory provides a fluent builder for creating leader electors from configuration.
|
Package factory provides a fluent builder for creating leader electors from configuration. |
|
leadelect/providers
Package providers defines the Provider interface for leader election backends.
|
Package providers defines the Provider interface for leader election backends. |
|
leadelect/providers/nats
Package nats provides NATS JetStream KeyValue-based leader election for distributed systems.
|
Package nats provides NATS JetStream KeyValue-based leader election for distributed systems. |
|
limiters
Package limiters provides shared types and interfaces for rate limiting functionality used by both gRPC interceptors and HTTP middlewares.
|
Package limiters provides shared types and interfaces for rate limiting functionality used by both gRPC interceptors and HTTP middlewares. |
|
limiters/budget
Package budget implements a distributed budget limiter for outbound requests.
|
Package budget implements a distributed budget limiter for outbound requests. |
|
limiters/budget/factory
Package factory provides a fluent builder for creating budget limiters from configuration.
|
Package factory provides a fluent builder for creating budget limiters from configuration. |
|
limiters/storages
Package storages defines the Storage interface for rate limiting.
|
Package storages defines the Storage interface for rate limiting. |
|
limiters/storages/memory
Package memory provides in-memory rate limit storage for single-instance tokenbucket deployments.
|
Package memory provides in-memory rate limit storage for single-instance tokenbucket deployments. |
|
limiters/storages/nats
Package nats provides NATS JetStream KeyValue rate limit storage for distributed tokenbucket deployments.
|
Package nats provides NATS JetStream KeyValue rate limit storage for distributed tokenbucket deployments. |
|
limiters/storages/redis
Package redis provides Redis-based rate limit storage for distributed tokenbucket deployments.
|
Package redis provides Redis-based rate limit storage for distributed tokenbucket deployments. |
|
limiters/tokenbucket
Package tokenbucket implements rule-based rate limiting using a sliding window algorithm.
|
Package tokenbucket implements rule-based rate limiting using a sliding window algorithm. |
|
limiters/tokenbucket/factory
Package factory provides a fluent builder for creating rate limiters from configuration.
|
Package factory provides a fluent builder for creating rate limiters from configuration. |
|
locks/dlock
Package dlock provides distributed locks for coordinating access across multiple service instances.
|
Package dlock provides distributed locks for coordinating access across multiple service instances. |
|
locks/dlock/errs
Package errs provides common errors for distributed lock providers.
|
Package errs provides common errors for distributed lock providers. |
|
locks/dlock/factory
Package factory provides a fluent builder for creating distributed locks from configuration.
|
Package factory provides a fluent builder for creating distributed locks from configuration. |
|
locks/dlock/providers
Package providers defines the Provider and Lock interfaces for distributed locking.
|
Package providers defines the Provider and Lock interfaces for distributed locking. |
|
locks/dlock/providers/nats
Package nats provides NATS JetStream KeyValue-based distributed locks with automatic renewal.
|
Package nats provides NATS JetStream KeyValue-based distributed locks with automatic renewal. |
|
locks/dlock/providers/noop
Package noop provides no-operation distributed lock for testing without external dependencies.
|
Package noop provides no-operation distributed lock for testing without external dependencies. |
|
meilisearch
Package meilisearch provides a thin wrapper around the meilisearch-go SDK for full-text search and document indexing.
|
Package meilisearch provides a thin wrapper around the meilisearch-go SDK for full-text search and document indexing. |
|
mongo
Package mongo provides a MongoDB client wrapper with CSFLE encryption, transaction handling, and structured logging.
|
Package mongo provides a MongoDB client wrapper with CSFLE encryption, transaction handling, and structured logging. |
|
mongo/cursor_storages/kvstore
Package kvstore provides a common interface and adapter for key-value based cursor storage implementations.
|
Package kvstore provides a common interface and adapter for key-value based cursor storage implementations. |
|
mongo/cursor_storages/memory
Package memory provides in-memory cursor storage for MongoDB pagination.
|
Package memory provides in-memory cursor storage for MongoDB pagination. |
|
mongo/cursor_storages/nats
Package nats provides NATS JetStream KeyValue cursor storage for MongoDB pagination.
|
Package nats provides NATS JetStream KeyValue cursor storage for MongoDB pagination. |
|
mongo/cursor_storages/redis
Package redis provides Redis cursor storage for MongoDB pagination.
|
Package redis provides Redis cursor storage for MongoDB pagination. |
|
mongo/factory
Package factory provides a fluent builder for creating cursor storages from configuration.
|
Package factory provides a fluent builder for creating cursor storages from configuration. |
|
mongo/internal/testhelpers
Package testhelpers provides shared test fixtures for the data/mongo subtree.
|
Package testhelpers provides shared test fixtures for the data/mongo subtree. |
|
mongo/kms
Package kms provides a unified KMS provider interface for MongoDB CSFLE.
|
Package kms provides a unified KMS provider interface for MongoDB CSFLE. |
|
mongo/kms/aws
Package kmsaws provides AWS KMS integration for MongoDB CSFLE.
|
Package kmsaws provides AWS KMS integration for MongoDB CSFLE. |
|
mongo/kms/azure
Package kmsazure provides Azure Key Vault integration for MongoDB CSFLE.
|
Package kmsazure provides Azure Key Vault integration for MongoDB CSFLE. |
|
mongo/kms/factory
Package factory creates kms.Provider instances from config.MongoKMS configuration, routing to the appropriate cloud or local KMS implementation (AWS, Azure, GCP, local).
|
Package factory creates kms.Provider instances from config.MongoKMS configuration, routing to the appropriate cloud or local KMS implementation (AWS, Azure, GCP, local). |
|
mongo/kms/gcp
Package kmsgcp provides Google Cloud KMS integration for MongoDB CSFLE.
|
Package kmsgcp provides Google Cloud KMS integration for MongoDB CSFLE. |
|
mongo/kms/local
Package kmslocal provides local key management for MongoDB CSFLE.
|
Package kmslocal provides local key management for MongoDB CSFLE. |
|
orderby
Package orderby parses the AIP-132 order_by DSL into a flat AST and translates it to database-specific sort representations.
|
Package orderby parses the AIP-132 order_by DSL into a flat AST and translates it to database-specific sort representations. |
|
orderby/translators/meili
Package meili translates an orderby.Spec into a Meilisearch sort argument.
|
Package meili translates an orderby.Spec into a Meilisearch sort argument. |
|
orderby/translators/mongo
Package mongo translates an orderby.Spec into a MongoDB bson.D sort document.
|
Package mongo translates an orderby.Spec into a MongoDB bson.D sort document. |
|
orderby/translators/redisearch
Package redisearch translates an orderby.Spec into a single-field RediSearch sort instruction.
|
Package redisearch translates an orderby.Spec into a single-field RediSearch sort instruction. |
|
outbox
Package outbox implements the Transactional Outbox pattern for at-least-once event delivery guarantees.
|
Package outbox implements the Transactional Outbox pattern for at-least-once event delivery guarantees. |
|
outbox/factory
Package factory provides a fluent builder for creating generic outbox instances from configuration.
|
Package factory provides a fluent builder for creating generic outbox instances from configuration. |
|
outbox/store/mongo
Package outboxstore provides MongoDB implementation of outbox.Store.
|
Package outboxstore provides MongoDB implementation of outbox.Store. |
|
probfilter
Package probfilter provides probabilistic data structures for optimizing existence checks.
|
Package probfilter provides probabilistic data structures for optimizing existence checks. |
|
probfilter/bloom
Package bloom provides a Bloom filter implementation for probabilistic existence checks.
|
Package bloom provides a Bloom filter implementation for probabilistic existence checks. |
|
probfilter/bloom/storages
Package storages defines the storage interface for Bloom filter backends.
|
Package storages defines the storage interface for Bloom filter backends. |
|
probfilter/bloom/storages/memory
Package memory provides an in-memory Bloom filter storage implementation using the bits-and-blooms/bloom library.
|
Package memory provides an in-memory Bloom filter storage implementation using the bits-and-blooms/bloom library. |
|
probfilter/bloom/storages/redis
Package redis provides a Redis-backed Bloom filter storage implementation using RedisBloom module BF.* commands.
|
Package redis provides a Redis-backed Bloom filter storage implementation using RedisBloom module BF.* commands. |
|
probfilter/cuckoo
Package cuckoo provides a Cuckoo filter implementation for probabilistic existence checks.
|
Package cuckoo provides a Cuckoo filter implementation for probabilistic existence checks. |
|
probfilter/cuckoo/storages
Package storages defines the storage interface for Cuckoo filter backends.
|
Package storages defines the storage interface for Cuckoo filter backends. |
|
probfilter/cuckoo/storages/memory
Package memory provides an in-memory Cuckoo filter storage implementation using the seiflotfy/cuckoofilter library.
|
Package memory provides an in-memory Cuckoo filter storage implementation using the seiflotfy/cuckoofilter library. |
|
probfilter/cuckoo/storages/redis
Package redis provides a Redis-backed Cuckoo filter storage implementation using RedisBloom module CF.* commands.
|
Package redis provides a Redis-backed Cuckoo filter storage implementation using RedisBloom module CF.* commands. |
|
probfilter/factory
Package factory provides fluent builders for creating probabilistic filters and filter managers from configuration.
|
Package factory provides fluent builders for creating probabilistic filters and filter managers from configuration. |
|
probfilter/internal/redisfilter
Package redisfilter provides the shared plumbing for Redis-backed probabilistic filter storages built on RedisBloom module commands.
|
Package redisfilter provides the shared plumbing for Redis-backed probabilistic filter storages built on RedisBloom module commands. |
|
probfilter/stats
Package stats provides statistics types for probabilistic filters.
|
Package stats provides statistics types for probabilistic filters. |
|
saga
Package saga runs inter-service distributed transactions using the orchestration-based saga pattern: a sequence of local steps, each with an optional compensating action that undoes it.
|
Package saga runs inter-service distributed transactions using the orchestration-based saga pattern: a sequence of local steps, each with an optional compensating action that undoes it. |
|
saga/errs
Package errs holds the sentinel errors returned by the saga orchestrator and its storage backends.
|
Package errs holds the sentinel errors returned by the saga orchestrator and its storage backends. |
|
saga/factory
Package factory assembles a saga.Orchestrator from a config.Saga and injected backend clients.
|
Package factory assembles a saga.Orchestrator from a config.Saga and injected backend clients. |
|
saga/storages/memory
Package memory provides an in-process, concurrency-safe saga.Store backed by a map.
|
Package memory provides an in-process, concurrency-safe saga.Store backed by a map. |
|
saga/storages/mongo
Package mongo provides a durable saga.Store backed by a MongoDB collection.
|
Package mongo provides a durable saga.Store backed by a MongoDB collection. |
|
saga/storages/nats
Package nats provides a durable saga.Store backed by a NATS JetStream KeyValue bucket.
|
Package nats provides a durable saga.Store backed by a NATS JetStream KeyValue bucket. |
|
saga/storages/redis
Package redis provides a durable saga.Store backed by Redis.
|
Package redis provides a durable saga.Store backed by Redis. |
|
domain
|
|
|
behavior
Package behavior strips fields from a plain Go struct based on `behavior` struct tags, the reflection-based counterpart to github.com/altessa-s/go-atlas/domain/proto/fieldbehavior.
|
Package behavior strips fields from a plain Go struct based on `behavior` struct tags, the reflection-based counterpart to github.com/altessa-s/go-atlas/domain/proto/fieldbehavior. |
|
behavior/translators/mongo
Package mongo provides github.com/altessa-s/go-atlas/domain/behavior.Translator implementations that fold behavior-tagged Go structs into MongoDB BSON documents from a single behavior reflection walk.
|
Package mongo provides github.com/altessa-s/go-atlas/domain/behavior.Translator implementations that fold behavior-tagged Go structs into MongoDB BSON documents from a single behavior reflection walk. |
|
converter
Package converter provides high-performance struct-to-struct conversion with field mapping, filtering, embedded structs, slices, maps, and protocol buffers.
|
Package converter provides high-performance struct-to-struct conversion with field mapping, filtering, embedded structs, slices, maps, and protocol buffers. |
|
converter/codec
Package convcodec provides core types for custom conversion codecs and a chain execution engine.
|
Package convcodec provides core types for custom conversion codecs and a chain execution engine. |
|
converter/codec/durpb
Package durpb provides a codec for bidirectional conversion between durationpb.Duration and time.Duration.
|
Package durpb provides a codec for bidirectional conversion between durationpb.Duration and time.Duration. |
|
converter/codec/jsonpb
Package jsonpb provides a codec for bidirectional conversion between json.RawMessage and structpb.Struct.
|
Package jsonpb provides a codec for bidirectional conversion between json.RawMessage and structpb.Struct. |
|
converter/codec/mapslice
Package mapslice provides codecs for converting map values or keys to slices.
|
Package mapslice provides codecs for converting map values or keys to slices. |
|
converter/codec/oneof
Package oneof provides a codec for bidirectional conversion between struct-based oneof representations and protobuf oneof interface types.
|
Package oneof provides a codec for bidirectional conversion between struct-based oneof representations and protobuf oneof interface types. |
|
converter/codec/pbwrap
Package pbwrap provides a codec for bidirectional conversion between protobuf wrapper types (wrapperspb.*) and primitive Go types.
|
Package pbwrap provides a codec for bidirectional conversion between protobuf wrapper types (wrapperspb.*) and primitive Go types. |
|
converter/codec/tspb
Package tspb provides a codec for bidirectional conversion between timestamppb.Timestamp and time.Time or int64 Unix timestamps.
|
Package tspb provides a codec for bidirectional conversion between timestamppb.Timestamp and time.Time or int64 Unix timestamps. |
|
converter/codec/unixtime
Package unixtime provides a codec for bidirectional conversion between time.Time and int64 Unix timestamps with optional millisecond precision.
|
Package unixtime provides a codec for bidirectional conversion between time.Time and int64 Unix timestamps with optional millisecond precision. |
|
converter/codecs/optionalcodec
Package optionalcodec provides a converter codec that bridges optional.Optional[T] fields and matching pointer or value counterparts during struct-to-struct conversion.
|
Package optionalcodec provides a converter codec that bridges optional.Optional[T] fields and matching pointer or value counterparts during struct-to-struct conversion. |
|
converter/internal/reflect
Package reflect provides low-level reflection utilities shared across the converter and its codec sub-packages.
|
Package reflect provides low-level reflection utilities shared across the converter and its codec sub-packages. |
|
eventbus
Package eventbus provides a synchronous, lock-free, in-process event bus used to decouple domains that must coordinate without taking a direct dependency on one another.
|
Package eventbus provides a synchronous, lock-free, in-process event bus used to decouple domains that must coordinate without taking a direct dependency on one another. |
|
eventbus/uow
Package uow is an in-process unit of work that pairs a database transaction with non-transactional side effects via post-commit compensation (an in-process saga).
|
Package uow is an in-process unit of work that pairs a database transaction with non-transactional side effects via post-commit compensation (an in-process saga). |
|
fieldtracker
Package fieldtracker detects changed fields between two struct instances.
|
Package fieldtracker detects changed fields between two struct instances. |
|
normalizer
Package normalizer provides tag-based string normalization for struct fields.
|
Package normalizer provides tag-based string normalization for struct fields. |
|
normalizer/modifiers
Package modifiers provides value transformation functions for the [normalizer] package.
|
Package modifiers provides value transformation functions for the [normalizer] package. |
|
proto/fieldbehavior
Package fieldbehavior strips fields from a proto.Message based on its google.api.field_behavior annotations.
|
Package fieldbehavior strips fields from a proto.Message based on its google.api.field_behavior annotations. |
|
proto/fieldmask
Package fieldmask provides hierarchical field mask utilities for Protocol Buffers.
|
Package fieldmask provides hierarchical field mask utilities for Protocol Buffers. |
|
proto/internal/behavior
Package behavior reads the google.api.field_behavior annotation from a protoreflect.FieldDescriptor.
|
Package behavior reads the google.api.field_behavior annotation from a protoreflect.FieldDescriptor. |
|
validation/iso7064
Package iso7064 provides check-digit validation using the ISO 7064 MOD 11-10 algorithm for 9-digit numeric identifiers.
|
Package iso7064 provides check-digit validation using the ISO 7064 MOD 11-10 algorithm for 9-digit numeric identifiers. |
|
infrastructure
|
|
|
meilisearch/factory
Package factory provides a fluent builder for creating Meilisearch clients from configuration.
|
Package factory provides a fluent builder for creating Meilisearch clients from configuration. |
|
mongo/factory
Package factory provides a fluent builder for creating MongoDB clients from configuration.
|
Package factory provides a fluent builder for creating MongoDB clients from configuration. |
|
nats/factory
Package factory provides a fluent builder for creating NATS connections and JetStream consumer configurations from configuration.
|
Package factory provides a fluent builder for creating NATS connections and JetStream consumer configurations from configuration. |
|
redis/factory
Package factory provides a fluent builder for creating Redis clients from configuration.
|
Package factory provides a fluent builder for creating Redis clients from configuration. |
|
internal
|
|
|
testhelpers
Package testhelpers provides common testing utilities and helpers shared across the go-atlas project.
|
Package testhelpers provides common testing utilities and helpers shared across the go-atlas project. |
|
observability
|
|
|
appstats
Package appstats provides high-performance application statistics monitoring.
|
Package appstats provides high-performance application statistics monitoring. |
|
health
Package health provides transport-agnostic health check coordination and monitoring.
|
Package health provides transport-agnostic health check coordination and monitoring. |
|
health/factory
Package factory provides a fluent builder for creating health coordinators from configuration.
|
Package factory provides a fluent builder for creating health coordinators from configuration. |
|
internal/shared
Package shared provides common types and utilities for observability packages.
|
Package shared provides common types and utilities for observability packages. |
|
metrics
Package metrics provides an abstract metrics collection system that is not tied to any specific format (Prometheus, StatsD, OpenTelemetry, etc.).
|
Package metrics provides an abstract metrics collection system that is not tied to any specific format (Prometheus, StatsD, OpenTelemetry, etc.). |
|
metrics/adapters
Package adapters defines the Adapter interface for metrics backends.
|
Package adapters defines the Adapter interface for metrics backends. |
|
metrics/adapters/memory
Package memory provides an in-memory adapters.Adapter implementation for use in tests.
|
Package memory provides an in-memory adapters.Adapter implementation for use in tests. |
|
metrics/adapters/prometheus
Package prometheus provides a Prometheus adapters.Adapter for the metrics system.
|
Package prometheus provides a Prometheus adapters.Adapter for the metrics system. |
|
metrics/factory
Package factory provides a fluent builder for creating metrics collectors from configuration.
|
Package factory provides a fluent builder for creating metrics collectors from configuration. |
|
slog
Package slog provides nil-safe attribute helpers, context integration, and advanced handlers for Go's log/slog.
|
Package slog provides nil-safe attribute helpers, context integration, and advanced handlers for Go's log/slog. |
|
slog/factory
Package factory provides a fluent builder for creating slog loggers from configuration.
|
Package factory provides a fluent builder for creating slog loggers from configuration. |
|
slog/handler/buffered
Package buffered provides an asynchronous slog.Handler that buffers log records and writes them via a background goroutine.
|
Package buffered provides an asynchronous slog.Handler that buffers log records and writes them via a background goroutine. |
|
slog/handler/colorized
Package colorized provides a slog.Handler with color-coded terminal output.
|
Package colorized provides a slog.Handler with color-coded terminal output. |
|
slog/handler/internal/base
Package base provides a base implementation for slog handler middlewares.
|
Package base provides a base implementation for slog handler middlewares. |
|
slog/handler/leveled
Package leveled provides a slog.Handler that filters log records based on per-subsystem log levels.
|
Package leveled provides a slog.Handler that filters log records based on per-subsystem log levels. |
|
slog/handler/masking
Package masking provides a slog.Handler that masks sensitive data in log records.
|
Package masking provides a slog.Handler that masks sensitive data in log records. |
|
slog/handler/multi
Package multi provides a slog.Handler that fans out log records to multiple child handlers.
|
Package multi provides a slog.Handler that fans out log records to multiple child handlers. |
|
slog/handler/prefixed
Package prefixed provides a slog.Handler middleware that adds prefixes to log messages.
|
Package prefixed provides a slog.Handler middleware that adds prefixes to log messages. |
|
tracing
Package tracing provides an abstract distributed tracing system that is not tied to any specific format (Jaeger, Zipkin, OpenTelemetry, etc.).
|
Package tracing provides an abstract distributed tracing system that is not tied to any specific format (Jaeger, Zipkin, OpenTelemetry, etc.). |
|
tracing/adapters
Package adapters defines the Adapter interface for tracing backends.
|
Package adapters defines the Adapter interface for tracing backends. |
|
tracing/adapters/console
Package console provides a console adapters.Adapter for tracing.
|
Package console provides a console adapters.Adapter for tracing. |
|
tracing/adapters/otlp
Package otlp provides an OTLP adapters.Adapter for tracing.
|
Package otlp provides an OTLP adapters.Adapter for tracing. |
|
tracing/factory
Package factory provides a fluent builder for creating tracers from configuration.
|
Package factory provides a fluent builder for creating tracers from configuration. |
|
tracing/propagation
Package propagation provides context propagation for distributed tracing.
|
Package propagation provides context propagation for distributed tracing. |
|
tracing/sampler
Package sampler provides sampling strategies for distributed tracing.
|
Package sampler provides sampling strategies for distributed tracing. |
|
Package plugins provides a dynamic plugin manager for loading and managing .so plugins at runtime, inspired by Keycloak's SPI (Service Provider Interface).
|
Package plugins provides a dynamic plugin manager for loading and managing .so plugins at runtime, inspired by Keycloak's SPI (Service Provider Interface). |
|
factory
Package factory provides a configuration-driven builder for plugins.Manager.
|
Package factory provides a configuration-driven builder for plugins.Manager. |
|
proto
|
|
|
security
|
|
|
hmacsign
Package hmacsign signs and verifies HTTP request bodies with a shared-secret HMAC, the scheme webhook providers such as Stripe and GitHub use to prove a request came from them and was not tampered with in transit.
|
Package hmacsign signs and verifies HTTP request bodies with a shared-secret HMAC, the scheme webhook providers such as Stripe and GitHub use to prove a request came from them and was not tampered with in transit. |
|
hmacsign/factory
Package factory builds security/hmacsign signers and verifiers from a github.com/altessa-s/go-atlas/config.WebhookSignature template.
|
Package factory builds security/hmacsign signers and verifiers from a github.com/altessa-s/go-atlas/config.WebhookSignature template. |
|
hmacsign/httpsign
Package httpsign is the net/http adapter for github.com/altessa-s/go-atlas/security/hmacsign.
|
Package httpsign is the net/http adapter for github.com/altessa-s/go-atlas/security/hmacsign. |
|
secrets
Package secrets provides centralized secret management with automatic caching, typed errors, and real-time watch capabilities.
|
Package secrets provides centralized secret management with automatic caching, typed errors, and real-time watch capabilities. |
|
secrets/codec
Package codec provides interfaces for encoding and decoding secret keys and values.
|
Package codec provides interfaces for encoding and decoding secret keys and values. |
|
secrets/codec/keys/base64
Package base64 provides a KeyDecoder implementation using base64 URL-safe encoding.
|
Package base64 provides a KeyDecoder implementation using base64 URL-safe encoding. |
|
secrets/codec/values/json
Package json provides a generic ValueDecoder implementation using JSON encoding.
|
Package json provides a generic ValueDecoder implementation using JSON encoding. |
|
secrets/factory
Package factory provides a fluent builder for creating secrets managers and providers from configuration.
|
Package factory provides a fluent builder for creating secrets managers and providers from configuration. |
|
secrets/internal/base
Package base provides common utilities and patterns for secret storage providers.
|
Package base provides common utilities and patterns for secret storage providers. |
|
secrets/providers/gcp
Package gcp provides an implementation of the secrets.Provider interface for Google Cloud Platform's Secret Manager service.
|
Package gcp provides an implementation of the secrets.Provider interface for Google Cloud Platform's Secret Manager service. |
|
secrets/providers/lockbox
Package lockbox provides an implementation of the secrets.Provider interface for Yandex Cloud Lockbox service.
|
Package lockbox provides an implementation of the secrets.Provider interface for Yandex Cloud Lockbox service. |
|
secrets/providers/memory
Package memory provides an implementation of the secrets.Provider interface for in-memory secret storage.
|
Package memory provides an implementation of the secrets.Provider interface for in-memory secret storage. |
|
secrets/providers/vault
Package vault provides an implementation of the secrets.Provider interface for HashiCorp Vault's Key-Value v2 engine.
|
Package vault provides an implementation of the secrets.Provider interface for HashiCorp Vault's Key-Value v2 engine. |
|
tlsutils
Package tlsutils provides TLS certificate loading and secure configuration utilities.
|
Package tlsutils provides TLS certificate loading and secure configuration utilities. |
|
tlsutils/factory
Package factory provides a fluent builder for creating TLS configurations and providers from configuration.
|
Package factory provides a fluent builder for creating TLS configurations and providers from configuration. |
|
tlsutils/ocsp
Package ocsp provides OCSP stapling for TLS certificates with caching and compression.
|
Package ocsp provides OCSP stapling for TLS certificates with caching and compression. |
|
tlsutils/providers
Package tlsproviders defines interfaces for TLS certificate providers.
|
Package tlsproviders defines interfaces for TLS certificate providers. |
|
tlsutils/providers/file
Package tlsfile provides file-based TLS certificate provider with optional automatic reloading.
|
Package tlsfile provides file-based TLS certificate provider with optional automatic reloading. |
|
tlsutils/providers/le
Package tlsle provides Let's Encrypt TLS certificate provider using HTTP-01 ACME challenges.
|
Package tlsle provides Let's Encrypt TLS certificate provider using HTTP-01 ACME challenges. |
|
tlsutils/providers/s3
Package tlss3 provides an S3-based TLS certificate provider with automatic polling for changes.
|
Package tlss3 provides an S3-based TLS certificate provider with automatic polling for changes. |
|
tlsutils/providers/vault
Package tlsvault provides HashiCorp Vault-based TLS certificate provider.
|
Package tlsvault provides HashiCorp Vault-based TLS certificate provider. |
|
tlsutils/spiffe
Package spiffe sources rotating mutual-TLS configurations from the SPIFFE Workload API.
|
Package spiffe sources rotating mutual-TLS configurations from the SPIFFE Workload API. |
|
tlsutils/spiffe/factory
Package factory builds a SPIFFE Workload API source from configuration.
|
Package factory builds a SPIFFE Workload API source from configuration. |
|
vault
Package vault provides high-level HashiCorp Vault client with pluggable authentication and automatic token renewal.
|
Package vault provides high-level HashiCorp Vault client with pluggable authentication and automatic token renewal. |
|
vault/auth
Package auth provides pluggable authentication methods for HashiCorp Vault with automatic token renewal and lifecycle management.
|
Package auth provides pluggable authentication methods for HashiCorp Vault with automatic token renewal and lifecycle management. |
|
vault/auth/approle
Package approle provides AppRole authentication for HashiCorp Vault.
|
Package approle provides AppRole authentication for HashiCorp Vault. |
|
vault/auth/token
Package token provides direct token-based authentication for HashiCorp Vault.
|
Package token provides direct token-based authentication for HashiCorp Vault. |
|
vault/auth/userpass
Package userpass provides username/password authentication for HashiCorp Vault.
|
Package userpass provides username/password authentication for HashiCorp Vault. |
|
vault/factory
Package factory provides a fluent builder for creating Vault clients from configuration.
|
Package factory provides a fluent builder for creating Vault clients from configuration. |
|
service
|
|
|
dispatch
Package dispatch provides a generic, non-blocking, batching dispatch engine with optional crash-safe persistence backed by github.com/altessa-s/go-atlas/core/io/wal.
|
Package dispatch provides a generic, non-blocking, batching dispatch engine with optional crash-safe persistence backed by github.com/altessa-s/go-atlas/core/io/wal. |
|
dispatch/factory
Package factory provides a fluent builder for creating dispatch engines from configuration.
|
Package factory provides a fluent builder for creating dispatch engines from configuration. |
|
id
Package id provides stable, unique Service ID generation and management for distributed applications.
|
Package id provides stable, unique Service ID generation and management for distributed applications. |
|
scheduler
Package scheduler provides an internal task scheduler for periodic job execution.
|
Package scheduler provides an internal task scheduler for periodic job execution. |
|
scheduler/factory
Package factory provides a fluent builder for creating scheduler.Scheduler instances and their storage backends from configuration.
|
Package factory provides a fluent builder for creating scheduler.Scheduler instances and their storage backends from configuration. |
|
scheduler/storages/memory
Package memory provides an in-memory implementation of scheduler.Storage for the scheduler service.
|
Package memory provides an in-memory implementation of scheduler.Storage for the scheduler service. |
|
scheduler/storages/mongodb
Package mongodb implements scheduler.Storage using MongoDB as the backing store.
|
Package mongodb implements scheduler.Storage using MongoDB as the backing store. |
|
scheduler/storages/redis
Package redis provides a Redis-backed implementation of the scheduler.Storage interface.
|
Package redis provides a Redis-backed implementation of the scheduler.Storage interface. |
|
Package tools contains code generation utilities and related tooling.
|
Package tools contains code generation utilities and related tooling. |
|
codegen/goconfig
command
Package main provides goconfig, a CLI tool for converting configuration files between formats.
|
Package main provides goconfig, a CLI tool for converting configuration files between formats. |
|
codegen/goconfig/commands
Package commands wires the cobra root command for goconfig and registers all subcommands (currently convert).
|
Package commands wires the cobra root command for goconfig and registers all subcommands (currently convert). |
|
codegen/goconfig/commands/convert
Package convert implements the "goconfig convert" subcommand and the converters that transform configuration files between YAML, TOML, .env, and Markdown formats.
|
Package convert implements the "goconfig convert" subcommand and the converters that transform configuration files between YAML, TOML, .env, and Markdown formats. |
|
codegen/optgen
command
Package main provides optgen, a code generator for the functional option pattern.
|
Package main provides optgen, a code generator for the functional option pattern. |
|
codegen/optgen/commands
Package commands implements the cobra-based CLI for the optgen code generator.
|
Package commands implements the cobra-based CLI for the optgen code generator. |
|
codegen/optgen/config
Package config loads and merges .optgen.yaml configuration files.
|
Package config loads and merges .optgen.yaml configuration files. |
|
codegen/optgen/internal
Package internal provides the core implementation for the optgen code generator.
|
Package internal provides the core implementation for the optgen code generator. |
|
codegen/optgen/internal/generator
Package generator produces Go source files containing functional-option functions for struct types annotated with opt tags.
|
Package generator produces Go source files containing functional-option functions for struct types annotated with opt tags. |
|
codegen/optgen/internal/parser
Package parser extracts struct field metadata from Go AST packages for the optgen code generator.
|
Package parser extracts struct field metadata from Go AST packages for the optgen code generator. |
|
codegen/optgen/internal/plugin/builtin
Package builtin provides shared helpers and template infrastructure used by the built-in optgen field-handler plugins.
|
Package builtin provides shared helpers and template infrastructure used by the built-in optgen field-handler plugins. |
|
codegen/optgen/internal/plugin/builtin/check
Package check provides validation check plugins for optgen.
|
Package check provides validation check plugins for optgen. |
|
codegen/optgen/internal/plugin/builtin/defaults
Package defaults provides type-default plugins that supply initial values for struct fields when the user has not specified an explicit default in the optgen tag.
|
Package defaults provides type-default plugins that supply initial values for struct fields when the user has not specified an explicit default in the optgen tag. |
|
codegen/optgen/internal/plugin/builtin/fields
Package fields provides field-handler plugins that generate With* (or Without*) functional-option functions for each struct field.
|
Package fields provides field-handler plugins that generate With* (or Without*) functional-option functions for each struct field. |
|
codegen/optgen/internal/plugin/builtin/guard
Package guard provides early-return guard plugins for optgen.
|
Package guard provides early-return guard plugins for optgen. |
|
codegen/optgen/internal/plugin/builtin/postprocess
Package postprocess provides modifier plugins that run in plugin.PhasePostProcess, after transforms and before the final struct field assignment.
|
Package postprocess provides modifier plugins that run in plugin.PhasePostProcess, after transforms and before the final struct field assignment. |
|
codegen/optgen/internal/plugin/builtin/transform
Package transform provides string-transformation plugins that wrap input expressions in standard library calls during code generation.
|
Package transform provides string-transformation plugins that wrap input expressions in standard library calls during code generation. |
|
codegen/optgen/internal/validator
Package validator provides compile-safety checks for Go identifiers used in generated code.
|
Package validator provides compile-safety checks for Go identifiers used in generated code. |
|
codegen/optgen/model
Package model defines the public data structures shared between optgen's parser, generator, and plugin subsystems.
|
Package model defines the public data structures shared between optgen's parser, generator, and plugin subsystems. |
|
codegen/optgen/plugin
Package plugin defines the public extension API for the optgen code generator.
|
Package plugin defines the public extension API for the optgen code generator. |
|
codegen/shared/rootcmd
Package rootcmd provides a reusable foundation for cobra-based CLI tools in the go-atlas codegen family.
|
Package rootcmd provides a reusable foundation for cobra-based CLI tools in the go-atlas codegen family. |
|
transport
|
|
|
broker
Package broker provides a high-level message broker abstraction for reliable asynchronous communication.
|
Package broker provides a high-level message broker abstraction for reliable asynchronous communication. |
|
broker/factory
Package factory provides a fluent builder for creating message brokers and related components from configuration.
|
Package factory provides a fluent builder for creating message brokers and related components from configuration. |
|
broker/inprogress
Package inprogress provides a Manager that periodically sends InProgress heartbeats for messages being processed, preventing premature redelivery during long-running tasks.
|
Package inprogress provides a Manager that periodically sends InProgress heartbeats for messages being processed, preventing premature redelivery during long-running tasks. |
|
broker/msg
Package msg defines the message envelope for broker systems.
|
Package msg defines the message envelope for broker systems. |
|
broker/outbox
Package outbox provides a broker-specific adapter for the generic transactional outbox pattern.
|
Package outbox provides a broker-specific adapter for the generic transactional outbox pattern. |
|
broker/providers/nats
Package natsprovider provides a NATS JetStream implementation of broker.Provider.
|
Package natsprovider provides a NATS JetStream implementation of broker.Provider. |
|
broker/providers/nats/recovery
Package recovery provides automatic recovery for NATS JetStream streams and consumers.
|
Package recovery provides automatic recovery for NATS JetStream streams and consumers. |
|
broker/providers/nats/topics
Package topics provides type-safe NATS subject templating with macro placeholders.
|
Package topics provides type-safe NATS subject templating with macro placeholders. |
|
grpc
Package grpc provides gRPC server and client utilities for go-atlas services.
|
Package grpc provides gRPC server and client utilities for go-atlas services. |
|
grpc/client
Package client provides a generic gRPC client with connection management, retry, health checking, and error handling.
|
Package client provides a generic gRPC client with connection management, retry, health checking, and error handling. |
|
grpc/client/pool
Package pool provides gRPC client connection pooling with automatic cleanup and health monitoring.
|
Package pool provides gRPC client connection pooling with automatic cleanup and health monitoring. |
|
grpc/handlers/health
Package health implements the gRPC health checking protocol (grpc_health_v1).
|
Package health implements the gRPC health checking protocol (grpc_health_v1). |
|
grpc/handlers/scheduler
Package scheduler implements the gRPC SchedulerService defined in proto/scheduler/v1/scheduler.proto.
|
Package scheduler implements the gRPC SchedulerService defined in proto/scheduler/v1/scheduler.proto. |
|
grpc/handlers/serviceinfo
Package serviceinfo implements the gRPC ServiceInfoService (github.com/altessa-s/proto-gen-go/io/altessa/serviceinfo/v1).
|
Package serviceinfo implements the gRPC ServiceInfoService (github.com/altessa-s/proto-gen-go/io/altessa/serviceinfo/v1). |
|
grpc/interceptors
Package interceptors provides a unified framework for gRPC interceptors.
|
Package interceptors provides a unified framework for gRPC interceptors. |
|
grpc/interceptors/audit
Package audit provides a gRPC server interceptor that emits audit events for every processed RPC.
|
Package audit provides a gRPC server interceptor that emits audit events for every processed RPC. |
|
grpc/interceptors/auth
Package auth provides gRPC interceptors for token-based authentication and scope-based authorization.
|
Package auth provides gRPC interceptors for token-based authentication and scope-based authorization. |
|
grpc/interceptors/auth/mtls
Package mtls is the gRPC adapter for mutual-TLS authentication.
|
Package mtls is the gRPC adapter for mutual-TLS authentication. |
|
grpc/interceptors/auth/oidc
Package oidc provides OIDC (OpenID Connect) token validation support for the auth interceptor.
|
Package oidc provides OIDC (OpenID Connect) token validation support for the auth interceptor. |
|
grpc/interceptors/auth/oidc/validator
Package validator provides OIDC token validation and claims extraction functionality.
|
Package validator provides OIDC token validation and claims extraction functionality. |
|
grpc/interceptors/auth/static
Package static plugs static-token authentication into the gRPC auth interceptor.
|
Package static plugs static-token authentication into the gRPC auth interceptor. |
|
grpc/interceptors/cache
Package cache provides gRPC server interceptors for response caching with compression support.
|
Package cache provides gRPC server interceptors for response caching with compression support. |
|
grpc/interceptors/cache/compression
Package compression provides high-performance gzip compression for cache operations.
|
Package compression provides high-performance gzip compression for cache operations. |
|
grpc/interceptors/defaults
Package defaults provides shared default values for gRPC interceptors.
|
Package defaults provides shared default values for gRPC interceptors. |
|
grpc/interceptors/driver
Package driver defines the core interfaces for the driven interceptor pattern.
|
Package driver defines the core interfaces for the driven interceptor pattern. |
|
grpc/interceptors/errstatus
Package errstatus provides gRPC interceptors for consistent error-to-status and status-to-error conversion.
|
Package errstatus provides gRPC interceptors for consistent error-to-status and status-to-error conversion. |
|
grpc/interceptors/fieldbehavior
Package fieldbehavior is a gRPC server interceptor that runs the matching github.com/altessa-s/go-atlas/domain/proto/fieldbehavior Strip* function against the request and the response based on the gRPC method name.
|
Package fieldbehavior is a gRPC server interceptor that runs the matching github.com/altessa-s/go-atlas/domain/proto/fieldbehavior Strip* function against the request and the response based on the gRPC method name. |
|
grpc/interceptors/fieldmask
Package fieldmask is a gRPC server interceptor that wires github.com/altessa-s/go-atlas/domain/proto/fieldmask into the gRPC chain.
|
Package fieldmask is a gRPC server interceptor that wires github.com/altessa-s/go-atlas/domain/proto/fieldmask into the gRPC chain. |
|
grpc/interceptors/geoacl
Package geoacl provides gRPC interceptors for geographic access control.
|
Package geoacl provides gRPC interceptors for geographic access control. |
|
grpc/interceptors/health
Package health provides gRPC interceptors for service health checking.
|
Package health provides gRPC interceptors for service health checking. |
|
grpc/interceptors/idempotency
Package idempotency provides gRPC interceptors and helpers for idempotent request handling on both ends of the wire.
|
Package idempotency provides gRPC interceptors and helpers for idempotent request handling on both ends of the wire. |
|
grpc/interceptors/ipacl
Package ipacl provides gRPC interceptors for IP-based access control.
|
Package ipacl provides gRPC interceptors for IP-based access control. |
|
grpc/interceptors/limiter
Package limiter provides gRPC interceptors for rate limiting incoming requests.
|
Package limiter provides gRPC interceptors for rate limiting incoming requests. |
|
grpc/interceptors/logger
Package logger provides gRPC interceptors for request and response logging.
|
Package logger provides gRPC interceptors for request and response logging. |
|
grpc/interceptors/metadata
Package metadata provides gRPC call metadata extraction and context injection.
|
Package metadata provides gRPC call metadata extraction and context injection. |
|
grpc/interceptors/metrics
Package metrics provides metrics collection for gRPC servers via the observability/metrics.Collector abstraction.
|
Package metrics provides metrics collection for gRPC servers via the observability/metrics.Collector abstraction. |
|
grpc/interceptors/protovalidator
Package protovalidator provides gRPC interceptors for validating incoming protocol buffer messages.
|
Package protovalidator provides gRPC interceptors for validating incoming protocol buffer messages. |
|
grpc/interceptors/protovalidator/buf
Package bufhelpers provides helpers for working with buf protovalidate validation errors in gRPC interceptors.
|
Package bufhelpers provides helpers for working with buf protovalidate validation errors in gRPC interceptors. |
|
grpc/interceptors/realip
Package realip provides gRPC interceptors for extracting real client IP from proxy headers.
|
Package realip provides gRPC interceptors for extracting real client IP from proxy headers. |
|
grpc/interceptors/recovery
Package recovery provides gRPC interceptors for recovering from panics in RPC handlers.
|
Package recovery provides gRPC interceptors for recovering from panics in RPC handlers. |
|
grpc/interceptors/requestid
Package requestid provides gRPC interceptors for request ID generation and propagation.
|
Package requestid provides gRPC interceptors for request ID generation and propagation. |
|
grpc/interceptors/tracing
Package tracing provides gRPC interceptors for distributed tracing.
|
Package tracing provides gRPC interceptors for distributed tracing. |
|
grpc/server
Package grpc provides a production-ready gRPC server wrapper with graceful shutdown, TLS support, and reflection.
|
Package grpc provides a production-ready gRPC server wrapper with graceful shutdown, TLS support, and reflection. |
|
grpc/server/factory
Package factory provides a fluent builder for creating gRPC servers and interceptors from configuration.
|
Package factory provides a fluent builder for creating gRPC servers and interceptors from configuration. |
|
http/client
Package client provides a resilient HTTP client with automatic retries, circuit breaker protection, rate limiting, and SSRF safeguards.
|
Package client provides a resilient HTTP client with automatic retries, circuit breaker protection, rate limiting, and SSRF safeguards. |
|
http/client/limiters
Package limiters provides a pluggable rate limiting layer for HTTP clients.
|
Package limiters provides a pluggable rate limiting layer for HTTP clients. |
|
http/server
Package server provides an HTTP server with graceful shutdown, middleware support, and pluggable router implementations.
|
Package server provides an HTTP server with graceful shutdown, middleware support, and pluggable router implementations. |
|
http/server/codec
Package codec provides HTTP body encoding/decoding with content negotiation.
|
Package codec provides HTTP body encoding/decoding with content negotiation. |
|
http/server/codec/providers/json
Package json provides a JSON [codec.Codec] and [codec.StreamingEncoder] backed by encoding/json.
|
Package json provides a JSON [codec.Codec] and [codec.StreamingEncoder] backed by encoding/json. |
|
http/server/codec/providers/xml
Package xml provides an XML [codec.Codec] backed by encoding/xml.
|
Package xml provides an XML [codec.Codec] backed by encoding/xml. |
|
http/server/factory
Package factory provides a fluent builder for creating HTTP servers and middleware from configuration.
|
Package factory provides a fluent builder for creating HTTP servers and middleware from configuration. |
|
http/server/handlers/health
Package health provides HTTP handlers for liveness and readiness probes.
|
Package health provides HTTP handlers for liveness and readiness probes. |
|
http/server/handlers/metrics
Package metrics mounts the Prometheus default-gatherer handler on a router.Router.
|
Package metrics mounts the Prometheus default-gatherer handler on a router.Router. |
|
http/server/handlers/ping
Package ping provides a tiny `/ping` HTTP handler that returns `{"message":"pong"}` with HTTP 200.
|
Package ping provides a tiny `/ping` HTTP handler that returns `{"message":"pong"}` with HTTP 200. |
|
http/server/handlers/pprof
Package pprof mounts Go's runtime/pprof debug handlers on a router.Router.
|
Package pprof mounts Go's runtime/pprof debug handlers on a router.Router. |
|
http/server/middlewares
Package middlewares provides HTTP middleware interfaces, utilities, and dependency-based ordering.
|
Package middlewares provides HTTP middleware interfaces, utilities, and dependency-based ordering. |
|
http/server/middlewares/audit
Package audit provides HTTP middleware that emits audit events for every processed request.
|
Package audit provides HTTP middleware that emits audit events for every processed request. |
|
http/server/middlewares/auth
Package auth provides HTTP authentication middleware with support for various token schemes including Bearer tokens and API keys.
|
Package auth provides HTTP authentication middleware with support for various token schemes including Bearer tokens and API keys. |
|
http/server/middlewares/auth/mtls
Package mtls is the HTTP adapter for mutual-TLS authentication.
|
Package mtls is the HTTP adapter for mutual-TLS authentication. |
|
http/server/middlewares/auth/static
Package static plugs static-token authentication into the HTTP auth middleware.
|
Package static plugs static-token authentication into the HTTP auth middleware. |
|
http/server/middlewares/bodylimit
Package bodylimit provides middleware that rejects requests whose body exceeds a configured size limit.
|
Package bodylimit provides middleware that rejects requests whose body exceeds a configured size limit. |
|
http/server/middlewares/cors
Package cors provides middleware for handling Cross-Origin Resource Sharing (CORS).
|
Package cors provides middleware for handling Cross-Origin Resource Sharing (CORS). |
|
http/server/middlewares/defaults
Package defaults provides shared default configurations and constants for HTTP middlewares.
|
Package defaults provides shared default configurations and constants for HTTP middlewares. |
|
http/server/middlewares/driver
Package driver provides the Driven Middleware pattern for HTTP middlewares.
|
Package driver provides the Driven Middleware pattern for HTTP middlewares. |
|
http/server/middlewares/geoacl
Package geoacl provides HTTP middleware for geographic access control.
|
Package geoacl provides HTTP middleware for geographic access control. |
|
http/server/middlewares/idempotency
Package idempotency provides middleware that prevents duplicate processing of non-safe HTTP requests (POST, PUT, PATCH, DELETE).
|
Package idempotency provides middleware that prevents duplicate processing of non-safe HTTP requests (POST, PUT, PATCH, DELETE). |
|
http/server/middlewares/ipacl
Package ipacl provides HTTP middleware for IP-based access control.
|
Package ipacl provides HTTP middleware for IP-based access control. |
|
http/server/middlewares/limiter
Package limiter provides middleware for per-request rate limiting.
|
Package limiter provides middleware for per-request rate limiting. |
|
http/server/middlewares/logger
Package logger provides HTTP middleware for structured request/response logging.
|
Package logger provides HTTP middleware for structured request/response logging. |
|
http/server/middlewares/metrics
Package metrics provides middleware that records HTTP server metrics via the observability/metrics.Collector abstraction.
|
Package metrics provides middleware that records HTTP server metrics via the observability/metrics.Collector abstraction. |
|
http/server/middlewares/realip
Package realip provides middleware that extracts the real client IP address from request headers and stores it in the request context.
|
Package realip provides middleware that extracts the real client IP address from request headers and stores it in the request context. |
|
http/server/middlewares/recovery
Package recovery provides middleware that recovers from panics in HTTP handlers, logs the panic with a stack trace, and returns a 500 response.
|
Package recovery provides middleware that recovers from panics in HTTP handlers, logs the panic with a stack trace, and returns a 500 response. |
|
http/server/middlewares/requestid
Package requestid provides middleware that extracts or generates a UUID v4 request ID for every HTTP request.
|
Package requestid provides middleware that extracts or generates a UUID v4 request ID for every HTTP request. |
|
http/server/middlewares/securityheaders
Package securityheaders provides middleware for adding security-related HTTP headers.
|
Package securityheaders provides middleware for adding security-related HTTP headers. |
|
http/server/middlewares/tracing
Package tracing provides HTTP middleware for distributed tracing.
|
Package tracing provides HTTP middleware for distributed tracing. |
|
http/server/responder
Package responder provides unified error response handling for HTTP middleware and handlers.
|
Package responder provides unified error response handling for HTTP middleware and handlers. |
|
http/server/router
Package router defines the Router and Route interfaces that abstract HTTP routing functionality.
|
Package router defines the Router and Route interfaces that abstract HTTP routing functionality. |
|
http/server/router/gorilla
Package gorilla provides a router.Router implementation using gorilla/mux.
|
Package gorilla provides a router.Router implementation using gorilla/mux. |
|
http/server/router/std
Package std provides a router.Router implementation using the standard library http.ServeMux with Go 1.22+ enhanced pattern matching.
|
Package std provides a router.Router implementation using the standard library http.ServeMux with Go 1.22+ enhanced pattern matching. |
|
http/server/writer
Package writer provides HTTP response writing with content negotiation and request body decoding.
|
Package writer provides HTTP response writing with content negotiation and request body decoding. |
|
internal/base
Package base provides the shared foundation for HTTP middlewares and gRPC interceptors.
|
Package base provides the shared foundation for HTTP middlewares and gRPC interceptors. |
|
internal/clientip
Package clientip extracts the real client IP address from HTTP and gRPC requests by traversing proxy header chains.
|
Package clientip extracts the real client IP address from HTTP and gRPC requests by traversing proxy header chains. |
|
internal/depgraph
Package depgraph resolves ordering dependencies among interceptors and middlewares using topological sort (Kahn's algorithm).
|
Package depgraph resolves ordering dependencies among interceptors and middlewares using topological sort (Kahn's algorithm). |
|
internal/endpointfilter
Package endpointfilter decides whether a given HTTP path or gRPC method should be excluded from middleware/interceptor processing (e.g.
|
Package endpointfilter decides whether a given HTTP path or gRPC method should be excluded from middleware/interceptor processing (e.g. |
|
internal/factoryconv
Package factoryconv provides shared config-to-runtime conversion helpers used by the HTTP and gRPC server factories.
|
Package factoryconv provides shared config-to-runtime conversion helpers used by the HTTP and gRPC server factories. |
|
internal/fallback
Package fallback defines three error-handling strategies for middlewares and interceptors:
|
Package fallback defines three error-handling strategies for middlewares and interceptors: |
|
internal/geoacl
Package geoacl provides geographic access control logic shared by the gRPC interceptor and HTTP middleware layers.
|
Package geoacl provides geographic access control logic shared by the gRPC interceptor and HTTP middleware layers. |
|
internal/headers
Package headers centralizes HTTP and gRPC header name constants and provides adapter types that unify header access across transports.
|
Package headers centralizes HTTP and gRPC header name constants and provides adapter types that unify header access across transports. |
|
internal/idempotency
Package idempotency holds the shared kernel of the HTTP middleware and gRPC interceptor idempotency twins: the default key-format validator, its sentinel error, the canonical header/metadata names, and the storage-key format.
|
Package idempotency holds the shared kernel of the HTTP middleware and gRPC interceptor idempotency twins: the default key-format validator, its sentinel error, the canonical header/metadata names, and the storage-key format. |
|
internal/ipacl
Package ipacl provides IP-based access control logic shared by the gRPC interceptor and HTTP middleware layers.
|
Package ipacl provides IP-based access control logic shared by the gRPC interceptor and HTTP middleware layers. |
|
internal/mtlstest
Package mtlstest provides a self-signed certificate authority for mutual-TLS integration tests across the transport layer.
|
Package mtlstest provides a self-signed certificate authority for mutual-TLS integration tests across the transport layer. |
|
internal/observability
Package observability provides shared structured-logging field keys and utilities used by both HTTP middlewares and gRPC interceptors.
|
Package observability provides shared structured-logging field keys and utilities used by both HTTP middlewares and gRPC interceptors. |
|
internal/recovery
Package recovery captures stack traces during panic recovery and wraps the recovered value into a structured PanicError.
|
Package recovery captures stack traces during panic recovery and wraps the recovered value into a structured PanicError. |
|
internal/requestid
Package requestid extracts, validates, and generates UUID v4 request identifiers from HTTP headers or gRPC metadata.
|
Package requestid extracts, validates, and generates UUID v4 request identifiers from HTTP headers or gRPC metadata. |
|
internal/server
Package server provides the shared lifecycle primitives used by both the HTTP and gRPC server implementations.
|
Package server provides the shared lifecycle primitives used by both the HTTP and gRPC server implementations. |
|
internal/timeouts
Package timeouts defines the timeout parameters that govern transport server lifecycle: startup verification, graceful shutdown deadline, and shutdown-progress warning interval.
|
Package timeouts defines the timeout parameters that govern transport server lifecycle: startup verification, graceful shutdown deadline, and shutdown-progress warning interval. |
|
internal/validation
Package validation provides lightweight, allocation-free validators shared across the transport layer.
|
Package validation provides lightweight, allocation-free validators shared across the transport layer. |
|
proxydial
Package proxydial provides forward-proxy dialers for client connections that do not go through net/http: SMTP, SOAP, raw TCP, gRPC, and any other protocol that needs to tunnel through a corporate or egress proxy.
|
Package proxydial provides forward-proxy dialers for client connections that do not go through net/http: SMTP, SOAP, raw TCP, gRPC, and any other protocol that needs to tunnel through a corporate or egress proxy. |
|
proxydial/factory
Package factory provides a fluent builder for materializing a github.com/altessa-s/go-atlas/config.Proxy into a github.com/altessa-s/go-atlas/transport/proxydial.DialContextFunc suitable for any client that needs raw-TCP-through-proxy: SMTP (go-mail's WithDialContextFunc), SOAP, gRPC's WithContextDialer, or any custom protocol that does not go through net/http.
|
Package factory provides a fluent builder for materializing a github.com/altessa-s/go-atlas/config.Proxy into a github.com/altessa-s/go-atlas/transport/proxydial.DialContextFunc suitable for any client that needs raw-TCP-through-proxy: SMTP (go-mail's WithDialContextFunc), SOAP, gRPC's WithContextDialer, or any custom protocol that does not go through net/http. |
Click to show internal directories.
Click to hide internal directories.