|
@@ -6,7 +6,6 @@ import (
|
6
|
6
|
"github.com/docker/docker/client"
|
7
|
7
|
"github.com/xenolf/lego/certcrypto"
|
8
|
8
|
"github.com/xenolf/lego/lego"
|
9
|
|
- "github.com/xenolf/lego/platform/config/env"
|
10
|
9
|
"go.uber.org/zap"
|
11
|
10
|
"go.uber.org/zap/zapcore"
|
12
|
11
|
"os"
|
|
@@ -54,22 +53,29 @@ func createConfig() *model.Config {
|
54
|
53
|
Hostnames: "com.chameth.vhost",
|
55
|
54
|
RequireAuth: "com.chameth.auth",
|
56
|
55
|
},
|
|
56
|
+ Acme: model.AcmeConfig{
|
|
57
|
+ DnsProvider: "httpreq",
|
|
58
|
+ Email: "dotege.test@chameth.com",
|
|
59
|
+ Endpoint: lego.LEDirectoryStaging,
|
|
60
|
+ KeyType: certcrypto.EC256,
|
|
61
|
+ CacheLocation: "/config/certs.json",
|
|
62
|
+ },
|
57
|
63
|
DefaultCertActions: model.COMBINE | model.FLATTEN,
|
58
|
64
|
DefaultCertDestination: "/data/certs/",
|
59
|
65
|
}
|
60
|
66
|
}
|
61
|
67
|
|
62
|
|
-func createTemplateGenerator(logger *zap.SugaredLogger, config *model.Config) *TemplateGenerator {
|
|
68
|
+func createTemplateGenerator(logger *zap.SugaredLogger, templates []model.TemplateConfig) *TemplateGenerator {
|
63
|
69
|
templateGenerator := NewTemplateGenerator(logger)
|
64
|
|
- for _, template := range config.Templates {
|
|
70
|
+ for _, template := range templates {
|
65
|
71
|
templateGenerator.AddTemplate(template)
|
66
|
72
|
}
|
67
|
73
|
return templateGenerator
|
68
|
74
|
}
|
69
|
75
|
|
70
|
|
-func createCertificateManager(logger *zap.SugaredLogger) *CertificateManager {
|
71
|
|
- certificateManager := NewCertificateManager(logger, lego.LEDirectoryStaging, certcrypto.EC256, env.GetOrDefaultString("DOTEGE_DNS_PROVIDER", ""), "/config/certs.json")
|
72
|
|
- err := certificateManager.Init(env.GetOrDefaultString("DOTEGE_ACME_EMAIL", ""))
|
|
76
|
+func createCertificateManager(logger *zap.SugaredLogger, config model.AcmeConfig) *CertificateManager {
|
|
77
|
+ certificateManager := NewCertificateManager(logger, config.Endpoint, config.KeyType, config.DnsProvider, config.CacheLocation)
|
|
78
|
+ err := certificateManager.Init(config.Email)
|
73
|
79
|
if err != nil {
|
74
|
80
|
panic(err)
|
75
|
81
|
}
|
|
@@ -89,8 +95,8 @@ func main() {
|
89
|
95
|
panic(err)
|
90
|
96
|
}
|
91
|
97
|
|
92
|
|
- templateGenerator := createTemplateGenerator(logger, config)
|
93
|
|
- certificateManager := createCertificateManager(logger)
|
|
98
|
+ templateGenerator := createTemplateGenerator(logger, config.Templates)
|
|
99
|
+ certificateManager := createCertificateManager(logger, config.Acme)
|
94
|
100
|
|
95
|
101
|
jitterTimer := time.NewTimer(time.Minute)
|
96
|
102
|
redeployTimer := time.NewTicker(time.Hour * 24)
|