github.com/letsencrypt/boulder@v0.20251208.0/ctpolicy/ctconfig/ctconfig.go (about)

     1  package ctconfig
     2  
     3  import (
     4  	"github.com/letsencrypt/boulder/config"
     5  )
     6  
     7  // CTConfig is the top-level config object expected to be embedded in an
     8  // executable's JSON config struct.
     9  type CTConfig struct {
    10  	// Stagger is duration (e.g. "200ms") indicating how long to wait for a log
    11  	// from one operator group to accept a certificate before attempting
    12  	// submission to a log run by a different operator instead.
    13  	Stagger config.Duration
    14  	// LogListFile is a path to a JSON log list file. The file must match Chrome's
    15  	// schema: https://www.gstatic.com/ct/log_list/v3/log_list_schema.json
    16  	LogListFile string `validate:"required"`
    17  	// SCTLogs is a list of CT log names to submit precerts to in order to get SCTs.
    18  	SCTLogs []string `validate:"min=1,dive,required"`
    19  	// InfoLogs is a list of CT log names to submit precerts to on a best-effort
    20  	// basis. Logs are included here for the sake of wider distribution of our
    21  	// precerts, and to exercise logs that in the qualification process.
    22  	InfoLogs []string
    23  	// FinalLogs is a list of CT log names to submit final certificates to.
    24  	// This may include duplicates from the lists above, to submit both precerts
    25  	// and final certs to the same log.
    26  	FinalLogs []string
    27  	// SubmitToTestLogs enables inclusion of "test" logs when obtaining SCTs.
    28  	// This should only be used in test environments.
    29  	SubmitToTestLogs bool
    30  }