notmain

package
v0.20260331.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	VA struct {
		vaConfig.Common
		RemoteVAs []RemoteVAGRPCClientConfig `validate:"omitempty,dive"`
		// SlowRemoteTimeout sets how long the VA is willing to wait for slow
		// RemoteVA instances to finish their work. It starts counting from
		// when the VA first gets a quorum of (un)successful remote results.
		// Leaving this value zero means the VA won't early-cancel slow remotes.
		SlowRemoteTimeout config.Duration

		// ExperimentalVA configures an optional parallel VA that repeats the
		// primary VA's DCV and CAA checks using an alternative DNS resolver,
		// emitting comparison metrics without affecting the real validation
		// decision.
		ExperimentalVA *struct {
			// DNSProvider is the dynamic DNS provider config for the
			// experimental VA's resolver.
			DNSProvider *cmd.DNSProvider `validate:"required"`
			// DNSTimeout is the timeout for DNS queries. Defaults to the
			// primary VA's DNSTimeout if unset.
			DNSTimeout config.Duration `validate:"omitempty"`
			// SampleRate controls the rate of validations that are repeated
			// (0.0 to 1.0). A value of 0 disables it entirely, while 1 repeats
			// all validations.
			SampleRate float64 `validate:"min=0,max=1"`
			// Timeout is the timeout for experimental validation operations.
			// This should be configured to match the RA->VA timeout.
			Timeout config.Duration `validate:"required"`
		}
		Features features.Config
	}

	Syslog        cmd.SyslogConfig
	OpenTelemetry cmd.OpenTelemetryConfig
}

type RemoteVAGRPCClientConfig

type RemoteVAGRPCClientConfig struct {
	cmd.GRPCClientConfig
	// Perspective uniquely identifies the Network Perspective used to
	// perform the validation, as specified in BRs Section 5.4.1,
	// Requirement 2.7 ("Multi-Perspective Issuance Corroboration attempts
	// from each Network Perspective"). It should uniquely identify a group
	// of RVAs deployed in the same datacenter.
	Perspective string `validate:"required"`

	// RIR indicates the Regional Internet Registry where this RVA is
	// located. This field is used to identify the RIR region from which a
	// given validation was performed, as specified in the "Phased
	// Implementation Timeline" in BRs Section 3.2.2.9. It must be one of
	// the following values:
	//   - ARIN
	//   - RIPE
	//   - APNIC
	//   - LACNIC
	//   - AFRINIC
	RIR string `validate:"required,oneof=ARIN RIPE APNIC LACNIC AFRINIC"`
}

RemoteVAGRPCClientConfig contains the information necessary to setup a gRPC client connection. The following GRPC client configuration field combinations are allowed:

ServerAddress, DNSAuthority, [Timeout], [HostOverride] SRVLookup, DNSAuthority, [Timeout], [HostOverride], [SRVResolver] SRVLookups, DNSAuthority, [Timeout], [HostOverride], [SRVResolver]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL