-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.go
75 lines (65 loc) · 2.64 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package main
type Config struct {
ApiVersion string `fig:"apiVersion" validate:"required"`
BackoffDurationMultiplier uint64 `fig:"backoffDurationMultiplier" default:"100"`
BackoffNumCeiling uint64 `fig:"backoffNumCeiling" default:"15"` // 54m36.6s
LogLevel string `fig:"logLevel" default:"info"`
MaxRetries uint64 `fig:"maxRetries" default:"5"`
MsgTimeout string `fig:"msgTimeout" default:"30m"`
ShutdownWait string `fig:"shutdownWait" default:"0s"`
SkipEventBucketValidation bool `fig:"skipEventBucketValidation"`
SkipLifecycleExpired bool `fig:"skipLifecycleExpired"`
WaitForMatchingETag bool `fig:"waitForMatchingETag"`
Src struct {
AccessKey string `fig:"accessKey"`
Bucket string `fig:"bucket"`
Endpoint string `fig:"endpoint"`
GoogleCredentials string `fig:"googleCredentials"`
Name string `fig:"name" default:"destination"`
SecretKey string `fig:"secretKey"`
UseSSL bool `fig:"useSSL"`
}
Dest struct {
AccessKey string `fig:"accessKey"`
Bucket string `fig:"bucket"`
Endpoint string `fig:"endpoint"`
GoogleCredentials string `fig:"googleCredentials"`
Name string `fig:"name" default:"source"`
PartSize uint64 `fig:"partSize" default:"16"`
SecretKey string `fig:"secretKey"`
Threads uint `fig:"threads" default:"4"`
UseSSL bool `fig:"useSSL"`
}
ExcludePaths struct {
CopyObject []string `fig:"copyObject"`
RemoveObject []string `fig:"removeObject"`
}
HealthCheck struct {
Disabled bool
Port int `default:"8080"`
}
Metrics struct {
Port int `default:"9999"`
}
Jetstream struct {
BatchSize int `fig:"batchSize" default:"1"`
Password string `fig:"password"`
ProvisioningDisabled bool `fig:"provisioningDisabled"`
RootCA string `fig:"rootCA"`
Subject string `fig:"subject" default:"archie-minio-events"`
URL string `fig:"url" default:"nats://localhost:4222"`
Username string `fig:"username"`
Stream struct {
MaxAge string `fig:"maxAge"`
MaxSize int64 `fig:"maxSize" default:"-1"`
Name string `fig:"name" default:"archie-stream"`
Replicas int `fig:"replicas" default:"1"`
RepublishSubject string `fig:"republishSubject"`
Retention string `fig:"retention" default:"limits"`
}
Consumer struct {
Name string `fig:"name" default:"archie-consumer"`
MaxAckPending int `fig:"maxAckPending" default:"1000"`
}
}
}