+1
-28
cmd/up.go
+1
-28
cmd/up.go
···
24
24
_ "embed"
25
25
26
26
"github.com/bmatcuk/doublestar/v4"
27
-
"github.com/caddyserver/certmagic"
28
27
"github.com/charmbracelet/ssh"
29
28
"github.com/charmbracelet/wish"
30
29
"github.com/coreos/go-oidc/v3/oidc"
···
33
32
"github.com/mattn/go-isatty"
34
33
"github.com/mhale/smtpd"
35
34
sloghttp "github.com/samber/slog-http"
36
-
"go.uber.org/zap"
37
-
"go.uber.org/zap/zapcore"
38
35
39
36
"github.com/knadh/koanf/providers/posflag"
40
37
"github.com/knadh/koanf/v2"
···
151
148
WithRequestID: false,
152
149
})
153
150
154
-
if flags.onDemandTLS {
155
-
config := zap.NewProductionConfig()
156
-
config.EncoderConfig.TimeKey = "time"
157
-
config.OutputPaths = []string{"stdout"}
158
-
config.EncoderConfig.EncodeTime = zapcore.RFC3339NanoTimeEncoder
159
-
config.EncoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
160
-
161
-
caddyLogger, _ := config.Build()
162
-
certmagic.Default.Logger = caddyLogger
163
-
certmagic.Default.OnDemand = &certmagic.OnDemandConfig{
164
-
DecisionFunc: func(ctx context.Context, name string) error {
165
-
if _, _, ok := lookupApp(name); ok {
166
-
return nil
167
-
}
168
-
169
-
if _, err := os.Stat(filepath.Join(k.String("dir"), name)); err == nil {
170
-
return nil
171
-
}
172
-
173
-
return fmt.Errorf("domain not found")
174
-
},
175
-
}
176
-
logger.Info("serving on-demand https", "domain", k.String("domain"), "dir", k.String("dir"))
177
-
go certmagic.HTTPS(nil, logMiddleware(handler))
178
-
} else if flags.tlsCert != "" && flags.tlsKey != "" {
151
+
if flags.tlsCert != "" && flags.tlsKey != "" {
179
152
cert, err := tls.LoadX509KeyPair(flags.tlsCert, flags.tlsKey)
180
153
if err != nil {
181
154
logger.Error("failed to load tls certificate", "error", err)