func (s *standardSTEKProvider) Initialize(config *caddytls.SessionTicketService) ([][32]byte, error) {
	s.stekConfig = config
	itvl := time.Duration(s.stekConfig.RotationInterval)
	mutex.Lock()
	defer mutex.Unlock()
	since := time.Since(lastRotation)
	if lastRotation.IsZero() || since > itvl {
		var err error
		keys, err = s.stekConfig.RotateSTEKs(keys)
		if err != nil {
			return nil, err
		}
		since = 0  
		lastRotation = time.Now()
	}
	s.timer = time.NewTimer(itvl - since)
	return keys, nil
}
Initialize sets the configuration for s and returns the starting keys.
package standardstek
import (
	"log"
	"runtime/debug"
	"sync"
	"time"
	"github.com/caddyserver/caddy/v2"
	"github.com/caddyserver/caddy/v2/modules/caddytls"
)
func init() {
	caddy.RegisterModule(standardSTEKProvider{})
}
type standardSTEKProvider struct {
	stekConfig *caddytls.SessionTicketService
	timer      *time.Timer
}
func (standardSTEKProvider) CaddyModule() caddy.ModuleInfo {
	return caddy.ModuleInfo{
		ID:  "tls.stek.standard",
		New: func() caddy.Module { return new(standardSTEKProvider) },
	}
}