Documentation

Overview

    Package generate contains HTTP handler for triggering data generation into the databae.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Config

    type Config struct {
    	Database              database.Config
    	SecretManager         secrets.Config
    	ObservabilityExporter observability.Config
    
    	Port                         string        `env:"PORT, default=8080"`
    	NumExposures                 int           `env:"NUM_EXPOSURES_GENERATED, default=10"`
    	KeysPerExposure              int           `env:"KEYS_PER_EXPOSURE, default=14"`
    	MaxKeysOnPublish             uint          `env:"MAX_KEYS_ON_PUBLISH, default=15"`
    	MaxSameStartIntervalKeys     uint          `env:"MAX_SAME_START_INTERVAL_KEYS, default=2"`
    	SimulateSameDayRelease       bool          `env:"SIMULATE_SAME_DAY_RELEASE, default=false"`
    	MaxIntervalAge               time.Duration `env:"MAX_INTERVAL_AGE_ON_PUBLISH, default=360h"`
    	MaxMagnitudeSymptomOnsetDays uint          `env:"MAX_SYMPTOM_ONSET_DAYS, default=14"`
    	MaxSymptomOnsetReportDays    uint          `env:"MAX_VALID_SYMPTOM_ONSET_REPORT_DAYS, default=28"`
    	CreatedAtTruncateWindow      time.Duration `env:"TRUNCATE_WINDOW, default=1h"`
    	DefaultRegion                string        `env:"DEFAULT_REGION, default=US"`
    	ChanceOfKeyRevision          int           `env:"CHANCE_OF_KEY_REVISION, default=30"` // 0-100 are valid values.
    	ChanceOfTraveler             int           `env:"CHANCE_OF_TRAVELER, default=20"`     // 0-100 are valid values
    	KeyRevisionDelay             time.Duration `env:"KEY_REVISION_DELAY, default=2h"`     // key revision will be forward dates this amount.
    	SymptomOnsetDaysAgo          uint          `env:"DEFAULT_SYMPTOM_ONSET_DAYS_AGO, default=4"`
    }

      Config represents the configuration and associated environment variables for the publish components.

      func (*Config) DatabaseConfig

      func (c *Config) DatabaseConfig() *database.Config

      func (*Config) DebugReleaseSameDayKeys

      func (c *Config) DebugReleaseSameDayKeys() bool

      func (*Config) DefaultSymptomOnsetDaysAgo

      func (c *Config) DefaultSymptomOnsetDaysAgo() uint

      func (*Config) MaxExposureKeys

      func (c *Config) MaxExposureKeys() uint

      func (*Config) MaxIntervalStartAge

      func (c *Config) MaxIntervalStartAge() time.Duration

      func (*Config) MaxSameDayKeys

      func (c *Config) MaxSameDayKeys() uint

      func (*Config) MaxSymptomOnsetDays

      func (c *Config) MaxSymptomOnsetDays() uint

      func (*Config) MaxValidSymptomOnsetReportDays

      func (c *Config) MaxValidSymptomOnsetReportDays() uint

      func (*Config) ObservabilityExporterConfig

      func (c *Config) ObservabilityExporterConfig() *observability.Config

      func (*Config) SecretManagerConfig

      func (c *Config) SecretManagerConfig() *secrets.Config

      func (*Config) TruncateWindow

      func (c *Config) TruncateWindow() time.Duration

      type Server

      type Server struct {
      	// contains filtered or unexported fields
      }

      func NewServer

      func NewServer(cfg *Config, env *serverenv.ServerEnv) (*Server, error)

      func (*Server) Routes

      func (s *Server) Routes(ctx context.Context) *mux.Router

        Routes returns the router for this server.