James Hillyerd
e2ba10c8ca
Replace pkg/log with zerolog for normal logging #90
2018-03-27 20:26:06 -07:00
James Hillyerd
64ecd810b4
Merge branch 'feature/distro-pkgs' into develop, closes #89
2018-03-25 20:19:59 -07:00
James Hillyerd
393a5b8d4e
redhat: Use goreleaser to generate .rpm package for #89
2018-03-25 20:13:19 -07:00
James Hillyerd
0055b84916
debian: Use goreleaser to generate .deb package for #89
2018-03-25 19:34:51 -07:00
James Hillyerd
7ab9ea92ad
Merge branch 'feature/envconfig' into develop
2018-03-25 17:05:52 -07:00
James Hillyerd
06989c8218
Update goreleaser config for #86
...
- Remove inbucket.bat, with new env defaults Windows does not need a
script to launch.
2018-03-25 16:52:29 -07:00
James Hillyerd
23dc357202
etc: Add dev-start.sh script for #86
2018-03-25 16:16:06 -07:00
James Hillyerd
2d09e94f87
log: Fix another deadlock.
2018-03-25 16:08:34 -07:00
James Hillyerd
86c8ccf9ea
docker: Update for environment config for #86
...
- Change to default ports (less surprising)
- Drop `/con/` volume naming, never caught on
2018-03-25 15:39:04 -07:00
James Hillyerd
ce2339ee9c
conf: Delete obsolete config files for #86
2018-03-25 14:30:34 -07:00
James Hillyerd
69a0d355f9
doc: Add doc/config.md to document config for #86
...
- Increase default max message size to 10MB.
2018-03-25 14:12:18 -07:00
James Hillyerd
04bb842549
config: Combine TemplateDir and PublicDir into UIDir
...
- Define static names for `templates` and `static`
2018-03-25 11:55:23 -07:00
James Hillyerd
b50c926745
webui: Renamed themes dir to ui
...
- Eliminated intermediate bootstrap dir
2018-03-25 11:32:59 -07:00
James Hillyerd
0d6936d1b3
Merge branch 'feature/memstore' into develop
2018-03-24 21:07:25 -07:00
James Hillyerd
412b62d6fa
storage/mem: implement size enforcer for #88
2018-03-24 20:27:05 -07:00
James Hillyerd
b42ea130ea
storage/mem: implement message cap for #88
...
- Move message cap tests into storage test suite.
- Update change log.
2018-03-24 14:36:23 -07:00
James Hillyerd
281cc21412
storage: Make type/params configurable for #88
2018-03-24 13:18:51 -07:00
James Hillyerd
bb0fb410c1
mem: Initial in-memory store implementation for #88
...
- Reduce default retention sleep, change description.
2018-03-22 22:29:25 -07:00
James Hillyerd
3c7c24b698
storage: Calculate size of store for status page
2018-03-22 20:30:23 -07:00
James Hillyerd
f0a94f4848
More config cleanups for #86
2018-03-22 20:03:05 -07:00
James Hillyerd
845cbedc0d
config: Replace robfig with envconfig for #86
...
- Initial envconfig system is working, not bulletproof.
- Added sane defaults for required parameters.
2018-03-21 22:50:21 -07:00
James Hillyerd
be940dd2bc
rest: fix timezone in controller tests
2018-03-20 19:18:07 -07:00
James Hillyerd
e7a86bd8f8
Hide envelope, use Part.Content for #85
2018-03-20 17:55:43 -07:00
James Hillyerd
6d250a47b4
Merge giant storage/service layer refactor #69 #81
2018-03-18 15:24:21 -07:00
James Hillyerd
e5785e81aa
Update CHANGELOG for refactor
2018-03-18 15:14:48 -07:00
James Hillyerd
30f5c163e4
log: Add locking to prevent race
2018-03-18 14:30:56 -07:00
James Hillyerd
0d0e07da70
file: Remove index and dir mutexes
...
HashLock makes these redundant. #77
2018-03-18 13:58:47 -07:00
James Hillyerd
5cb07d5780
rest: Refactor JSON result value testing
2018-03-18 12:08:40 -07:00
James Hillyerd
30a329c0d3
Renames, closes #69
...
- storage: rename StoreMessage to Message
- storage: rename Message.RawReader() to Source()
2018-03-17 17:56:06 -07:00
James Hillyerd
f953bcf4bb
smtp: Move delivery into message.Manager for #69
2018-03-17 17:04:12 -07:00
James Hillyerd
a22412f65e
manager: Add MailboxForAddress(), calls policy pkg #84
2018-03-17 15:17:44 -07:00
James Hillyerd
dc4db59211
smtp: Don't require MIME headers for metadata
...
This was a regression, will again fall back to MAIL FROM/RCPT TO data.
2018-03-17 14:41:03 -07:00
James Hillyerd
e84b1f8952
storage: Make locking an implementation detail for #69
...
- file: Store handles its own locking #77
- file: Move mbox into its own file
- file & test: remove LockFor()
2018-03-17 14:02:50 -07:00
James Hillyerd
b9003a9328
smtp: Wire in policy.Recipient for #84
2018-03-17 12:39:09 -07:00
James Hillyerd
469a778d81
policy: Impl Addressing{} and Recipient{} for #84
2018-03-17 11:16:20 -07:00
James Hillyerd
d132efd6fa
policy: Create new policy package for #84
2018-03-17 09:48:53 -07:00
James Hillyerd
9b3d3c2ea8
test: Finish initial storage test suite, closes #82
2018-03-16 22:43:32 -07:00
James Hillyerd
5e13e50763
test: Start work on test suite for #82
...
- smtp: Tidy up []byte/buffer/string use in delivery #69
2018-03-14 22:51:40 -07:00
James Hillyerd
519779b7ba
storage: eliminate mocks, closes #80
2018-03-14 21:05:59 -07:00
James Hillyerd
2cc0da3093
storage: More refactoring for #69
...
- impl Store.AddMessage
- file: Use AddMessage() in tests
- smtp: Switch to AddMessage
- storage: Remove NewMessage, Append, Close methods
2018-03-14 20:37:20 -07:00
James Hillyerd
9be4eec31c
storage: eliminate ReadBody, ReadRaw for #69
2018-03-12 21:23:13 -07:00
James Hillyerd
219862797e
web: remove DataStore from Context and controllers for #81
2018-03-12 20:49:06 -07:00
James Hillyerd
10bc07a18e
message: Implement service layer, stubs for #81
...
I've made some effort to wire the manager into the controllers, but
tests are currently failing.
2018-03-12 20:21:59 -07:00
James Hillyerd
3bc66d2788
storage: Store addresses as mail.Address for #69
2018-03-11 16:57:53 -07:00
James Hillyerd
487e491d6f
storage: Message refactoring for #69
...
- Message interface renamed to StoreMessage
- Message.Delete becomes Store.RemoveMessage
- Added deleted message tracking to Store stub for #80
2018-03-11 15:01:40 -07:00
James Hillyerd
12ad0cb3f0
storage: Eliminate storage.Mailbox interface for #69
...
storage/file Mailbox has been renamed mbox, and is now just an
implementation detail.
2018-03-11 11:54:35 -07:00
James Hillyerd
137466f89b
storage: Move NewMessage() into Store interface for #69
2018-03-11 10:48:50 -07:00
James Hillyerd
d9b5e40c87
storage: More refactoring for #69
...
- retention: Start from pkg main instead of server/smtp
- file: Remove DefaultStore() constructor
- storage: AllMailboxes replaced with VisitMailboxes for #69
- test: Stub VisitMailboxes for #80
2018-03-10 22:05:10 -08:00
James Hillyerd
9c18f1fb30
Large refactor for #69
...
- makefile: Don't refresh deps automatically, causes double build
- storage: Move GetMessage, GetMessages (Mailbox), PurgeMessages to the
Store API for #69
- storage: Remove Mailbox.Name method for #69
- test: Create new test package for #79
- test: Implement StoreStub, migrate some tests off MockDataStore for
task #80
- rest & webui: update controllers to use new Store methods
2018-03-10 19:34:51 -08:00
James Hillyerd
a58dfc5e4f
storage: finish renaming storage packages for #79 #69
...
- storage: rename DataStore to Store
- file: rename types to appease linter
2018-03-10 14:00:21 -08:00