diff --git a/lib/tbot/internal/sds/handler.go b/lib/tbot/internal/sds/handler.go index ab7c2fb4e791f..c36d4c8abf014 100644 --- a/lib/tbot/internal/sds/handler.go +++ b/lib/tbot/internal/sds/handler.go @@ -338,6 +338,8 @@ func (h *Handler) StreamSecrets( case <-renewalTimer.C: // Handle renewal time! log.DebugContext(ctx, "Renewing SVIDs for StreamSecrets stream") + // Set svids to nil to fetching of fresh SVIDs + svids = nil } // Fetch the SVIDs if necessary diff --git a/lib/tbot/services/workloadidentity/workload_api.go b/lib/tbot/services/workloadidentity/workload_api.go index 2dc7bacb98cf9..1dd52cef0f9fb 100644 --- a/lib/tbot/services/workloadidentity/workload_api.go +++ b/lib/tbot/services/workloadidentity/workload_api.go @@ -198,8 +198,10 @@ func (s *WorkloadAPIService) Run(ctx context.Context) error { ) workloadpb.RegisterSpiffeWorkloadAPIServer(srv, s) sdsHandler, err := sds.NewHandler(sds.HandlerConfig{ - Logger: s.log, - RenewalInterval: s.defaultCredentialLifetime.RenewalInterval, + Logger: s.log, + RenewalInterval: cmp.Or( + s.cfg.CredentialLifetime, s.defaultCredentialLifetime, + ).RenewalInterval, TrustBundleCache: s.trustBundleCache, ClientAuthenticator: func(ctx context.Context) (*slog.Logger, sds.SVIDFetcher, error) { log, attrs, err := s.authenticateClient(ctx)