Rewrite the README as highlights with screenshots; move the detail into docs/ #43

Merged
niklas merged 4 commits from operator-key-and-docs into main 2026-10-09 13:34:16 +00:00
4 changed files with 4 additions and 4 deletions
Showing only changes of commit 01922291f6 - Show all commits
+1 -1
View File
@@ -132,7 +132,7 @@ func purgeRateLimits(ctx context.Context, db *sql.DB) {
// trustedProxies is how many X-Forwarded-For hops clientAddr trusts. Set once
// by NewRouter from config.
var trustedProxies atomic.Int32
var trustedProxies atomic.Int64
// clientAddr is the address a login is counted against. Behind the gateway
// RemoteAddr is the gateway itself, so the client address is read from
+1 -1
View File
@@ -77,7 +77,7 @@ func serverError(w http.ResponseWriter, r *http.Request, err error) {
if rc := chi.RouteContext(r.Context()); rc != nil && rc.RoutePattern() != "" {
route = rc.RoutePattern()
}
log.Printf("%s %s: %v", r.Method, route, err)
log.Printf("%s %s: %v", strconv.Quote(r.Method), strconv.Quote(route), err)
respond(w, http.StatusInternalServerError, errResp("internal error"))
}
+1 -1
View File
@@ -447,6 +447,6 @@ func requestLogger(next http.Handler) http.Handler {
if status == 0 {
status = http.StatusOK
}
log.Printf("%s %s %d %dB %s", r.Method, route, status, ww.BytesWritten(), time.Since(start).Round(time.Millisecond))
log.Printf("%q %q %d %dB %s", r.Method, route, status, ww.BytesWritten(), time.Since(start).Round(time.Millisecond)) // #nosec G706 -- method and route are %q-quoted, the route is a registered pattern, the rest are numbers
})
}
+1 -1
View File
@@ -23,7 +23,7 @@ func NewRouter(db *sql.DB, notify NotifyConfig, cfg config.Config, version strin
// One limiter each, both process-wide for the life of the router: login
// counts failed passwords, sign-up counts account creation, and mixing the
// two would let a burst of sign-ups lock somebody out of logging in.
trustedProxies.Store(int32(cfg.TrustedProxies))
trustedProxies.Store(int64(cfg.TrustedProxies))
loginLimit := newLoginLimiter(db)
signupLimiter := newLoginLimiter(db)
oidcLimit := newLoginLimiter(db)