942eb7c3d8
This is a major breaking change that moves away from having the entire app configuration in external TOML files to settings being in the database with a UI to update them dynamically. The app loads all config into memory (app settings, SMTP conf) on boot. "Hot" replacing them is complex and it's a fair tradeoff to instead just restart the application as it is practically instant. A new `settings` table stores arbitrary string keys with a JSONB value field which happens to support arbitrary types. After every settings update, the app gracefully releases all resources (HTTP server, DB pool, SMTP pool etc.) and restarts itself, occupying the same PID. If there are any running campaigns, the auto-restart doesn't happen and the user is prompted to invoke it manually with a one-click button once all running campaigns have been paused.
26 lines
1,004 B
Modula-2
26 lines
1,004 B
Modula-2
module github.com/knadh/listmonk
|
|
|
|
go 1.13
|
|
|
|
require (
|
|
github.com/disintegration/imaging v1.6.2
|
|
github.com/gofrs/uuid v3.2.0+incompatible
|
|
github.com/jaytaylor/html2text v0.0.0-20200220170450-61d9dc4d7195
|
|
github.com/jmoiron/sqlx v1.2.0
|
|
github.com/knadh/goyesql/v2 v2.1.1
|
|
github.com/knadh/koanf v0.12.0
|
|
github.com/knadh/smtppool v0.2.0
|
|
github.com/knadh/stuffbin v1.1.0
|
|
github.com/labstack/echo v3.3.10+incompatible
|
|
github.com/labstack/gommon v0.3.0 // indirect
|
|
github.com/lib/pq v1.3.0
|
|
github.com/nats-io/nats-server/v2 v2.1.7 // indirect
|
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
|
github.com/olekukonko/tablewriter v0.0.4 // indirect
|
|
github.com/rhnvrm/simples3 v0.5.0
|
|
github.com/spf13/pflag v1.0.5
|
|
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
|
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
|
|
gopkg.in/volatiletech/null.v6 v6.0.0-20170828023728-0bef4e07ae1b
|
|
jaytaylor.com/html2text v0.0.0-20200220170450-61d9dc4d7195
|
|
)
|