maddy/internal/README.md
fox.cpp bf188e454f
Move most code from the repo root into subdirectories
The intention is to keep to repo root clean while the list of packages
is slowly growing.

Additionally, a bunch of small (~30 LoC) files in the repo root is
merged into a single maddy.go file, for the same reason.

Most of the internal code is moved into the internal/ directory. Go
toolchain will make it impossible to import these packages from external
applications.

Some packages are renamed and moved into the pkg/ directory in the root.
According to https://github.com/golang-standards/project-layout this is
the de-facto standard to place "library code that's ok to use by
external applications" in.

To clearly define the purpose of top-level directories, README.md files
are added to each.
2019-12-06 01:35:12 +03:00

630 B

maddy source tree

Main maddy code base lives here. No packages are intended to be used in third-party software hence API is not stable.

Subdirectories are organised as follows:

/
  auxiliary libraries
endpoint/
  modules - protocol listeners (e.g. SMTP server, etc)
target/
  modules - final delivery targets (including outbound delivery, such as
  smtp_downstream, remote)
auth/
  modules - authentication providers
check/
  modules - message checkers (module.Check)
modify/
  modules - message modifiers (module.Modifier)
storage/
  modules - local messages storage implementations (module.Storage)