pomerium/internal/log/warnings.go
Joe Kralicky fe31799eb5
Fix many instances of contexts and loggers not being propagated (#5340)
This also replaces instances where we manually write "return ctx.Err()"
with "return context.Cause(ctx)" which is functionally identical, but
will also correctly propagate cause errors if present.
2024-10-25 14:50:56 -04:00

50 lines
1.2 KiB
Go

package log
import (
"sync"
"github.com/pomerium/pomerium/internal/syncutil"
)
var warnCookieSecretOnce sync.Once
// WarnCookieSecret warns about the cookie secret.
func WarnCookieSecret() {
warnCookieSecretOnce.Do(func() {
if DebugDisableGlobalWarnings.Load() {
return
}
Info().
Msg("using a generated COOKIE_SECRET. " +
"Set the COOKIE_SECRET to avoid users being logged out on restart. " +
"https://www.pomerium.com/docs/reference/cookie-secret")
})
}
var warnNoTLSCertificateOnce syncutil.OnceMap[string]
// WarnNoTLSCertificate warns about no TLS certificate.
func WarnNoTLSCertificate(domain string) {
warnNoTLSCertificateOnce.Do(domain, func() {
if DebugDisableGlobalWarnings.Load() {
return
}
Info().
Str("domain", domain).
Msg("no TLS certificate found for domain, using a self-signed certificate")
})
}
var warnWebSocketHTTP1_1Once syncutil.OnceMap[string]
// WarnWebSocketHTTP1_1 warns about falling back to http 1.1 due to web socket support.
func WarnWebSocketHTTP1_1(clusterID string) {
warnWebSocketHTTP1_1Once.Do(clusterID, func() {
if DebugDisableGlobalWarnings.Load() {
return
}
Info().
Str("cluster-id", clusterID).
Msg("forcing http/1.1 due to web socket support")
})
}