@@ -193,25 +193,22 @@ func run(cfg config.Config, logger *slog.Logger) error {
193193 return fmt .Errorf ("build CA certificate: %w" , err )
194194 }
195195
196- // Optional landmark sequence. Built before the log so we
197- // can pass the OnFlush hook to log.Config.
198- var landmarkSeq * landmark.Sequence
199- if cfg .Landmarks .Enabled {
200- landmarkSeq , err = landmark .New (landmark.Config {
201- CAID : caID ,
202- LogNumber : cfg .Log .Number ,
203- TimeBetweenLandmarks : cfg .Landmarks .TimeBetweenLandmarks (),
204- MaxCertLifetime : cfg .Landmarks .MaxCertLifetime (),
205- }, fsRoot , time .Now ())
206- if err != nil {
207- return fmt .Errorf ("landmark sequence: %w" , err )
208- }
209- logger .Info ("landmarks enabled" ,
210- "ca_id" , string (caID ),
211- "log_number" , cfg .Log .Number ,
212- "interval" , cfg .Landmarks .TimeBetweenLandmarks (),
213- "max_active" , landmarkSeq .MaxActive ())
196+ // Landmark sequence. Built before the log so we can pass the
197+ // OnFlush hook to log.Config. Landmarks are mandatory.
198+ landmarkSeq , err := landmark .New (landmark.Config {
199+ CAID : caID ,
200+ LogNumber : cfg .Log .Number ,
201+ TimeBetweenLandmarks : cfg .Landmarks .TimeBetweenLandmarks (),
202+ MaxCertLifetime : cfg .Landmarks .MaxCertLifetime (),
203+ }, fsRoot , time .Now ())
204+ if err != nil {
205+ return fmt .Errorf ("landmark sequence: %w" , err )
214206 }
207+ logger .Info ("landmarks ready" ,
208+ "ca_id" , string (caID ),
209+ "log_number" , cfg .Log .Number ,
210+ "interval" , cfg .Landmarks .TimeBetweenLandmarks (),
211+ "max_active" , landmarkSeq .MaxActive ())
215212
216213 // Issuance log. The MirrorRequester closure (CA-mode quorum)
217214 // needs `l` to compute consistency proofs, so we forward-declare
@@ -231,17 +228,15 @@ func run(cfg config.Config, logger *slog.Logger) error {
231228 SignatureDuration : m .SignatureDurationVec (),
232229 },
233230 }
234- if landmarkSeq != nil {
235- logCfg .OnFlush = func (treeSize uint64 ) {
236- lm , ok , err := landmarkSeq .Append (ctx , treeSize , time .Now ())
237- if err != nil {
238- logger .Error ("landmark append" , "err" , err )
239- return
240- }
241- if ok {
242- logger .Info ("landmark allocated" ,
243- "number" , lm .Number , "tree_size" , lm .TreeSize )
244- }
231+ logCfg .OnFlush = func (treeSize uint64 ) {
232+ lm , ok , err := landmarkSeq .Append (ctx , treeSize , time .Now ())
233+ if err != nil {
234+ logger .Error ("landmark append" , "err" , err )
235+ return
236+ }
237+ if ok {
238+ logger .Info ("landmark allocated" ,
239+ "number" , lm .Number , "tree_size" , lm .TreeSize )
245240 }
246241 }
247242 if len (cfg .CACosignerQuorum .Mirrors ) > 0 {
@@ -336,11 +331,9 @@ func run(cfg config.Config, logger *slog.Logger) error {
336331 LogID : logID ,
337332 CAID : caID ,
338333 }
339- if landmarkSeq != nil {
340- acmeCfg .Landmarks = landmarkSeq
341- acmeCfg .SubtreeProof = l .SubtreeProof
342- acmeCfg .LogNumber = cfg .Log .Number
343- }
334+ acmeCfg .Landmarks = landmarkSeq
335+ acmeCfg .SubtreeProof = l .SubtreeProof
336+ acmeCfg .LogNumber = cfg .Log .Number
344337 acmeSrv , err := acme .New (acmeCfg )
345338 if err != nil {
346339 return fmt .Errorf ("acme: %w" , err )
@@ -368,10 +361,7 @@ func run(cfg config.Config, logger *slog.Logger) error {
368361 IdleTimeout : idleTimeout ,
369362 MaxHeaderBytes : 16 * 1024 ,
370363 }
371- tileSrv := tile .New (l , fsRoot )
372- if landmarkSeq != nil {
373- tileSrv = tileSrv .WithLandmarks (landmarkSeq )
374- }
364+ tileSrv := tile .New (l , fsRoot ).WithLandmarks (landmarkSeq )
375365 monMux := http .NewServeMux ()
376366 monMux .HandleFunc ("/ca-certificate" , func (w http.ResponseWriter , r * http.Request ) {
377367 w .Header ().Set ("Content-Type" , "application/pem-certificate-chain" )
0 commit comments