James Hillyerd
28adcf0437
Graceful shutdown on error for httpd, smtpd, pop3d
2016-02-29 20:21:49 -08:00
James Hillyerd
4b4121bb3a
Use channels to communicate shutdown request
...
- httpd now uses shutdown channel
- smtpd now uses shutdown channel
- pop3d now uses shutdown channel
- timedExit now removes PID file
- tidy up some struct instantiations, var blocks
2016-02-28 23:48:09 -08:00
James Hillyerd
3a7be7d89c
Reorganize logging
...
- Move the opening/closing of logs to the log package
- Use conditional compilation for redirecting stdout/err to logfile,
Unix allows a superior method to Windows
- Panic output will now to go log file on Unix platforms
2016-02-28 19:45:27 -08:00
James Hillyerd
e4d12e60aa
Add SIGINT to traps, triggers clean shutdown
2016-02-28 16:25:35 -08:00
James Hillyerd
982ad857e8
Take care of more TODO flagged code
...
- Improve TODO comments, mention related issues
- Export ErrNotWritable, move it to datastore.go
- Improve logging of corrupt mailbox GOB file
2016-02-28 16:14:37 -08:00
James Hillyerd
075aa0dd38
Remove PID file during shutdown
2016-02-28 14:41:15 -08:00
James Hillyerd
3f654e48be
Fix retention tests on Windows
2016-02-28 13:42:17 -08:00
James Hillyerd
bbfdd4216f
Session cookie key is now configurable
...
- Added [web] cookie.auth.key to configuration
- Inbucket generates a random key if none is configured
- Added [default] default.domain to be reference by SMTP and POP3
configs
- Updated default/sample config files
2016-02-27 15:43:44 -08:00
James Hillyerd
5e15300d02
Bowerize more components
...
- Move jquery-color into bower
- Move jquery-sparklines into bower
- Make swaks-tests/run-tests.sh discover its directory
- Update _base.html public resource includes to /public
2016-02-26 21:57:15 -08:00
James Hillyerd
5daa40b081
go.enmime API now uses HTML instead of Html
2016-02-26 20:35:28 -08:00
James Hillyerd
3eb2b5ce19
Add "No-Store Domain" info to status page
2016-02-25 20:29:21 -08:00
James Hillyerd
f36e21a65c
REST APIv1 now uses lowercase JSON property names
...
- Updated rest-apiv1.sh to pretty print JSON with jq if available
- Fixed some missing checks on JSON testutils
2016-02-25 19:21:47 -08:00
James Hillyerd
5da5d3e509
Move mocks and utility functions out of apiv1 tests
2016-02-25 18:38:01 -08:00
James Hillyerd
7b8161042c
Redesign REST API tests
...
- Unmarshall JSON into maps instead of structs, this allows for better
detection of incorrect output
- JSON tests are now case sensitive
2016-02-25 18:28:22 -08:00
James Hillyerd
b9535c126c
Implement REST API v1
...
- Add rest package with REST-only controller, tests
- Remove individual shell scripts in favor of rest-apivh1.sh
2016-02-25 14:42:10 -08:00
James Hillyerd
8e084b5697
Refactor web package into two packages: httpd and webui
2016-02-24 22:38:14 -08:00
James Hillyerd
0b32af5495
Homogenize HTTP logging and error handling
...
- Prefix many web package log messages with HTTP
- Return 404 in cases where it makes sense
- Improve error messages where possible
- Improve comments
- Closes #18
2016-02-24 20:51:43 -08:00
James Hillyerd
f996fa2ae7
Docker best practices
...
- Install and remove OS and Go build deps in a single layer
- Use COPY instead of ADD
- WORKDIR now resolves ENV variables, use one
- Use VOLUMES for configuration and datastore
- Added launcher script start-inbucket.sh
- Made docker-run.sh more powerful
2016-02-23 22:09:39 -08:00
James Hillyerd
9fafbf73d0
Dockerfile now builds from golang:1.6-alpine
2016-02-22 21:10:48 -08:00
James Hillyerd
a2606a14f6
Update default greeting.html files
2016-02-22 20:11:39 -08:00
James Hillyerd
30fe43dcc7
Add favicon to bootstrap theme
2016-02-22 19:24:37 -08:00
James Hillyerd
bcc36ee965
Update bootstrap and jquery versions for bootstrap theme
2016-02-22 19:15:37 -08:00
James Hillyerd
44f6407de8
Swaks updates
2016-02-22 12:17:59 -08:00
James Hillyerd
e6b7e335cb
Follow meta-linter recommendations for all of Inbucket
...
- Rename BUILD_DATE to BUILDDATE in goxc
- Update travis config
- Follow linter recommendations for inbucket.go
- Follow linter recommendations for config package
- Follow linter recommendations for log package
- Follow linter recommendations for pop3d package
- Follow linter recommendations for smtpd package
- Follow linter recommendations for web package
- Fix Id -> ID in templates
- Add shebang to REST demo scripts
- Add or refine many comments
2016-02-22 00:16:45 -08:00
James Hillyerd
83f9c6aa49
Minor goxc tweaks
2016-02-20 22:14:45 -08:00
James Hillyerd
ef5a10457e
Implement recent mailboxes feature
2016-02-20 20:55:02 -08:00
James Hillyerd
e72c5c4b92
Version going to 1.1.0-snapshot, Go 1.5
2015-08-25 22:14:54 -07:00
James Hillyerd
0f5ba4a7a9
Make message-list scroll on some devices
2015-08-25 21:54:02 -07:00
James Hillyerd
c263129711
Add test message from Outlook
2015-08-24 13:15:41 -07:00
James Hillyerd
b107cb8787
Tweak attachment display
2015-08-24 12:49:48 -07:00
James Hillyerd
44ff0be01e
Add a gmail message to test with
2015-08-24 12:33:50 -07:00
James Hillyerd
3b0d17867e
Docker updates
...
- Build from official golang image
- Modernize docker build script
- Remove sudo from docker-run.sh, relocate
2015-08-23 23:39:07 -07:00
James Hillyerd
4d8aa340ff
Make replace integral with bootstrap as default theme
2015-08-23 21:57:29 -07:00
James Hillyerd
5760d72bcd
Extract mailbox javascript
2015-08-23 19:15:13 -07:00
James Hillyerd
8e6745b8b7
Add in bootstrap-theme and switch to minified assets
2015-08-23 19:00:53 -07:00
James Hillyerd
517c68a6b7
Columnize status for mobile
2015-08-23 15:28:49 -07:00
James Hillyerd
4144e2b6f0
Panel-ize status, move js to public
2015-08-23 12:26:04 -07:00
James Hillyerd
5623ac1e8e
More bootstrap work, status page now updates
2015-08-18 22:58:29 -07:00
James Hillyerd
da28a8ee55
Message formatting checkpoint
2015-08-18 21:20:42 -07:00
James Hillyerd
f48704b6a6
Bootstrap navbar and message list
2015-08-16 23:05:13 -07:00
James Hillyerd
7b8b872ef0
Copy integral templates into bootstrap theme
2015-08-16 19:52:35 -07:00
James Hillyerd
028ac2994b
Use bower to add bootstrap and jquery for bootstrap theme
2015-08-16 19:46:11 -07:00
James Hillyerd
834efefe46
Update travis golang to 1.4.2, run gofmt -s
2015-08-16 15:37:32 -07:00
James Hillyerd
affcc01d19
Convert test message lengths to int64 to fix tests
2015-05-02 10:34:33 -07:00
James Hillyerd
eadc61605a
Ignore *.swo files
2015-05-02 10:33:50 -07:00
James Hillyerd
9ca1711252
Update website links
2014-05-25 21:51:55 -07:00
James Hillyerd
bb398498d4
More Docker work
...
- Dockerfile now builds Inbucket inside the container
- Add starter inbucket.conf for Docker
- Add install.sh to build inbucket inside container
- Add customized greeting.html for Docker
2014-05-25 16:10:05 -07:00
James Hillyerd
cb487c3c7b
Switch to crosbymichael/golang trusted base
2014-05-25 13:46:17 -07:00
James Hillyerd
9ebdb06a7a
Fix typo in comment
2014-05-25 13:44:08 -07:00
James Hillyerd
8f5ac7ba5b
Add Dockerfile (experimental)
...
- Does not build inside of Docker, just copies from local machine
2014-05-19 23:09:37 -07:00