1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00

config: Add a "data_dir" option

This patch adds a "data_dir" option, that chasquid will use to store
persistent data. It defaults to "/var/lib/chasquid" (for now, at least).

Users will come in subsequent patches.
This commit is contained in:
Alberto Bertogli
2016-09-18 06:10:43 +01:00
parent e9d62e0467
commit 9ed30a747b
5 changed files with 32 additions and 15 deletions

View File

@@ -58,6 +58,10 @@ func Load(path string) (*Config, error) {
"-d", "%user%") "-d", "%user%")
} }
if c.DataDir == "" {
c.DataDir = "/var/lib/chasquid"
}
logConfig(c) logConfig(c)
return c, nil return c, nil
} }
@@ -70,4 +74,5 @@ func logConfig(c *Config) {
glog.Infof(" Submission Addresses: %v", c.SubmissionAddress) glog.Infof(" Submission Addresses: %v", c.SubmissionAddress)
glog.Infof(" Monitoring address: %s", c.MonitoringAddress) glog.Infof(" Monitoring address: %s", c.MonitoringAddress)
glog.Infof(" MDA: %s %v", c.MailDeliveryAgentBin, c.MailDeliveryAgentArgs) glog.Infof(" MDA: %s %v", c.MailDeliveryAgentBin, c.MailDeliveryAgentArgs)
glog.Infof(" Data directory: %s", c.DataDir)
} }

View File

@@ -59,6 +59,9 @@ type Config struct {
// - "%domain%" -> domain (anything after the @) // - "%domain%" -> domain (anything after the @)
// Default: "-d", "%user" (adequate for procmail) // Default: "-d", "%user" (adequate for procmail)
MailDeliveryAgentArgs []string `protobuf:"bytes,7,rep,name=mail_delivery_agent_args,json=mailDeliveryAgentArgs" json:"mail_delivery_agent_args,omitempty"` MailDeliveryAgentArgs []string `protobuf:"bytes,7,rep,name=mail_delivery_agent_args,json=mailDeliveryAgentArgs" json:"mail_delivery_agent_args,omitempty"`
// Directory where we store our persistent data.
// Default: "/var/lib/chasquid"
DataDir string `protobuf:"bytes,8,opt,name=data_dir,json=dataDir" json:"data_dir,omitempty"`
} }
func (m *Config) Reset() { *m = Config{} } func (m *Config) Reset() { *m = Config{} }
@@ -73,20 +76,21 @@ func init() {
func init() { proto.RegisterFile("config.proto", fileDescriptor0) } func init() { proto.RegisterFile("config.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 236 bytes of a gzipped FileDescriptorProto // 251 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x90, 0x41, 0x2f, 0x04, 0x31, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x90, 0x41, 0x2f, 0x04, 0x31,
0x14, 0xc7, 0xb3, 0x3b, 0x0c, 0x6a, 0x25, 0xb6, 0x21, 0x1a, 0xa7, 0xe5, 0xc2, 0x85, 0x8b, 0x88, 0x14, 0xc7, 0xb3, 0x3b, 0xcc, 0x8e, 0x67, 0x25, 0xb6, 0x21, 0xca, 0x69, 0xb9, 0x70, 0xe1, 0x22,
0xf3, 0xb0, 0x57, 0x97, 0xf5, 0x01, 0x9a, 0x57, 0x53, 0xf5, 0x92, 0xed, 0xeb, 0xa6, 0xaf, 0x04, 0xe2, 0x3c, 0xcc, 0xd5, 0x65, 0x7d, 0x80, 0xa6, 0xd5, 0x1a, 0x2f, 0xd9, 0xb6, 0x9b, 0xbe, 0x12,
0x1f, 0xce, 0x67, 0xd3, 0x29, 0x66, 0x24, 0xf6, 0x38, 0xbf, 0xdf, 0xef, 0x3f, 0x79, 0xa9, 0x98, 0x7c, 0x53, 0xdf, 0x46, 0x5b, 0xcc, 0x4a, 0x38, 0xbe, 0xff, 0xef, 0xf7, 0x6f, 0x5f, 0x1e, 0x4c,
0x3c, 0x06, 0x7a, 0x42, 0x77, 0xb9, 0x8a, 0x21, 0x85, 0xd3, 0xcf, 0xb1, 0xa8, 0xef, 0x0a, 0x90, 0x1f, 0xbc, 0x7b, 0xc4, 0xfe, 0x62, 0x15, 0x7c, 0xf4, 0x27, 0x1f, 0x63, 0xa8, 0x6f, 0x4b, 0xc0,
0xc7, 0x62, 0xfb, 0x39, 0x70, 0x22, 0xf0, 0x56, 0x8d, 0x66, 0xa3, 0xf3, 0x9d, 0x45, 0xff, 0x2d, 0x8e, 0xa0, 0x79, 0xf2, 0x14, 0x9d, 0xb4, 0x86, 0x8f, 0xe6, 0xa3, 0xb3, 0xad, 0xc5, 0x30, 0xb3,
0xcf, 0xc4, 0xbe, 0x87, 0x37, 0xdd, 0x42, 0x02, 0xcd, 0xf8, 0x61, 0xb5, 0x37, 0x6a, 0x9c, 0x9b, 0x53, 0xd8, 0xb5, 0xf2, 0x55, 0x68, 0x19, 0xa5, 0x20, 0x7c, 0x37, 0xc2, 0x2a, 0x3e, 0x4e, 0x4e,
0x6a, 0xb1, 0x97, 0xf9, 0x3c, 0xe3, 0x87, 0x4c, 0xef, 0x8d, 0x3c, 0x11, 0x13, 0xf6, 0x69, 0xa5, 0xb5, 0xd8, 0x49, 0x79, 0x97, 0xe2, 0xfb, 0x94, 0xde, 0x29, 0x76, 0x0c, 0x53, 0xb2, 0x71, 0x25,
0xa1, 0x6d, 0xa3, 0x65, 0x56, 0xd5, 0xac, 0xca, 0x3f, 0xda, 0xed, 0x58, 0xf3, 0x8d, 0xe4, 0x85, 0xa4, 0xd6, 0xc1, 0x10, 0xf1, 0x6a, 0x5e, 0xa5, 0x87, 0xb6, 0x73, 0xd6, 0x7e, 0x45, 0xec, 0x1c,
0x90, 0xfc, 0x62, 0x3c, 0x32, 0x63, 0xa0, 0x3e, 0xdc, 0x28, 0xe1, 0x74, 0x30, 0x7f, 0x72, 0x1f, 0x18, 0x3d, 0x2b, 0x8b, 0x44, 0xe8, 0xdd, 0x20, 0x6e, 0x14, 0x71, 0xb6, 0x26, 0xbf, 0x74, 0xeb,
0x08, 0x53, 0x88, 0x48, 0xae, 0xcf, 0x37, 0xcb, 0x81, 0xd3, 0xc1, 0xfc, 0xe6, 0xd7, 0xe2, 0xc8, 0x1d, 0x46, 0x1f, 0xd0, 0xf5, 0x83, 0xbe, 0x59, 0x16, 0x9c, 0xad, 0xc9, 0x8f, 0x7e, 0x05, 0x07,
0x03, 0x2e, 0x75, 0x6b, 0x97, 0xf8, 0x6a, 0xe3, 0xbb, 0x06, 0x67, 0x29, 0x69, 0x83, 0xa4, 0xea, 0x56, 0xe2, 0x52, 0x68, 0xb3, 0xc4, 0x17, 0x13, 0xde, 0x84, 0xec, 0x8d, 0x8b, 0x42, 0xa1, 0xe3,
0xb2, 0x39, 0xe8, 0xf4, 0xfc, 0xc7, 0x36, 0x9d, 0xbc, 0x45, 0x92, 0x37, 0x42, 0xad, 0x9b, 0x41, 0x75, 0xe9, 0xec, 0x65, 0xdc, 0x7d, 0xd3, 0x36, 0xc3, 0x1b, 0x74, 0xec, 0x1a, 0xf8, 0x7f, 0x35,
0x74, 0xac, 0xb6, 0xca, 0x69, 0x87, 0xff, 0x76, 0x4d, 0x96, 0xa6, 0x2e, 0xef, 0x78, 0xf5, 0x15, 0x19, 0x7a, 0xe2, 0x93, 0xb2, 0xda, 0xfe, 0x9f, 0x5e, 0x9b, 0x20, 0x3b, 0x84, 0xa6, 0x5c, 0x45,
0x00, 0x00, 0xff, 0xff, 0x23, 0xe3, 0xdb, 0x23, 0x57, 0x01, 0x00, 0x00, 0x63, 0xe0, 0x4d, 0xf9, 0x60, 0x92, 0xe7, 0x0e, 0x83, 0xaa, 0xcb, 0x89, 0x2f, 0x3f, 0x03, 0x00,
0x00, 0xff, 0xff, 0xc5, 0x2e, 0x79, 0xef, 0x72, 0x01, 0x00, 0x00,
} }

View File

@@ -38,5 +38,9 @@ message Config {
// - "%domain%" -> domain (anything after the @) // - "%domain%" -> domain (anything after the @)
// Default: "-d", "%user" (adequate for procmail) // Default: "-d", "%user" (adequate for procmail)
repeated string mail_delivery_agent_args = 7; repeated string mail_delivery_agent_args = 7;
// Directory where we store our persistent data.
// Default: "/var/lib/chasquid"
string data_dir = 8;
} }

View File

@@ -4,3 +4,5 @@ monitoring_address: ":1099"
mail_delivery_agent_bin: "test-mda" mail_delivery_agent_bin: "test-mda"
mail_delivery_agent_args: "%user%@%domain%" mail_delivery_agent_args: "%user%@%domain%"
data_dir: "../.data"

View File

@@ -4,3 +4,5 @@ monitoring_address: ":1099"
mail_delivery_agent_bin: "test-mda" mail_delivery_agent_bin: "test-mda"
mail_delivery_agent_args: "%user%@%domain%" mail_delivery_agent_args: "%user%@%domain%"
data_dir: "../.data"