21 lines
901 B
Markdown
21 lines
901 B
Markdown
# Integrations
|
|
|
|
`app/system/internal/integration` contains adapters that talk to systems outside the
|
|
application process. They may open sockets, create SDK clients, keep reloadable
|
|
state, or translate provider-specific protocols into `biz` interfaces.
|
|
|
|
## Packages
|
|
|
|
- `cache`: Redis-backed cache with an in-memory fallback.
|
|
- `email`: SMTP email repository.
|
|
- `payment`: payment-channel SDKs and callback/signature handling.
|
|
- `storage`: local and object-storage implementations of `biz.FileStorage`.
|
|
|
|
These packages are not `utils`: they perform I/O and own external dependency
|
|
lifecycles. Their constructors are exposed through `ProviderSet`; `cmd` binds
|
|
the `cache.RedisProvider` implementation to the shared `data.Data` container.
|
|
|
|
Stateless protocol helpers that do not own clients live in
|
|
`pkg/paymentkit`. They are intentionally small and dependency
|
|
light, while provider adapters remain here.
|