fix(jointoken): initialize HMAC secret on service startup
Consume() called loadSecret() which failed with "no such file" when cluster-join-secret didn't exist yet. New() now calls ensureSecret() so the file is always created before any Consume() attempt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,7 +60,7 @@ import (
|
||||
usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users"
|
||||
)
|
||||
|
||||
var version = "1.1.159"
|
||||
var version = "1.1.160"
|
||||
|
||||
func main() {
|
||||
addr := os.Getenv("EDGEGUARD_API_ADDR")
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/setup"
|
||||
)
|
||||
|
||||
var version = "1.1.159"
|
||||
var version = "1.1.160"
|
||||
|
||||
const usage = `edgeguard-ctl — EdgeGuard CLI
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ import (
|
||||
"git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts"
|
||||
)
|
||||
|
||||
var version = "1.1.159"
|
||||
var version = "1.1.160"
|
||||
|
||||
const (
|
||||
// renewTickInterval — how often we re-evaluate expiring certs.
|
||||
|
||||
@@ -61,12 +61,19 @@ type Service struct {
|
||||
}
|
||||
|
||||
func New(pool *pgxpool.Pool, getCAFinger func() (string, error)) *Service {
|
||||
return &Service{
|
||||
s := &Service{
|
||||
Pool: pool,
|
||||
SecretPath: DefaultSecretPath,
|
||||
GetCAFinger: getCAFinger,
|
||||
TTL: DefaultTTL,
|
||||
}
|
||||
// Ensure the HMAC secret file exists at startup so Consume() never
|
||||
// fails with "no such file" on the first join attempt.
|
||||
if _, err := s.ensureSecret(); err != nil {
|
||||
// Non-fatal: generate won't work either, but we log and continue.
|
||||
_ = err
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// payload ist das JSON inside-the-token.
|
||||
|
||||
Reference in New Issue
Block a user