API can now be started without properly configured SMTP (it complains when it is used)
Send() function can now use alternative dialers (mostly used for testing)
Added mailhog service (make mailhog.up) to ease mail testing
Add default .env example that points to localhost:1025 (mailhog) setup
Proper unit testing
- config fixes for singleton values (most)
- add monitor into internal/metrics
- clean up cmd folders to remove monitor
- implement versions on all apps
- moved rbac store and config to internal pkg,
- split auth authenticators to internal pkg,
- add rbac config object to internal/config,
- update package imports and references for auth,
- clean up main with pkg aliases
- introduces auth package, for common (sam, crm) auth handlers
- routes are now generated inside server package, each handler got its own MountRoutes(r chi.Router, middlewares ...func(http.Handler) http.Handler)
- there MountRoute methods are now called from non-generated code so we can inject services to (rest) controllers