export

package
v0.0.0-...-075157f Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2020 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package export defines the handlers for managing exposure key exporting.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalExportFile

func MarshalExportFile(eb *model.ExportBatch, exposures, revisedExposures []*publishmodel.Exposure, batchNum, batchSize int, signers []*Signer) ([]byte, error)

MarshalExportFile converts the inputs into an encoded byte array.

func UnmarshalExportFile

func UnmarshalExportFile(zippedProtoPayload []byte) (*export.TemporaryExposureKeyExport, error)

UnmarshalExportFile extracts the protobuf encoded exposure key present in the zip archived payload.

Types

type Config

type Config struct {
	Database              database.Config
	KeyManager            keys.Config
	SecretManager         secrets.Config
	Storage               storage.Config
	ObservabilityExporter observability.Config

	Port           string        `env:"PORT, default=8080"`
	CreateTimeout  time.Duration `env:"CREATE_BATCHES_TIMEOUT, default=5m"`
	WorkerTimeout  time.Duration `env:"WORKER_TIMEOUT, default=5m"`
	MinRecords     int           `env:"EXPORT_FILE_MIN_RECORDS, default=1000"`
	PaddingRange   int           `env:"EXPORT_FILE_PADDING_RANGE, default=100"`
	MaxRecords     int           `env:"EXPORT_FILE_MAX_RECORDS, default=30000"`
	TruncateWindow time.Duration `env:"TRUNCATE_WINDOW, default=1h"`
	MinWindowAge   time.Duration `env:"MIN_WINDOW_AGE, default=2h"`
	TTL            time.Duration `env:"CLEANUP_TTL, default=336h"`
}

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

func (*Config) BlobstoreConfig

func (c *Config) BlobstoreConfig() *storage.Config

func (*Config) DatabaseConfig

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

func (*Config) KeyManagerConfig

func (c *Config) KeyManagerConfig() *keys.Config

func (*Config) ObservabilityExporterConfig

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

func (*Config) SecretManagerConfig

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

type Server

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

Server hosts end points to manage export batches.

func NewServer

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

NewServer makes a Server.

func (*Server) Routes

func (s *Server) Routes(ctx context.Context) *http.ServeMux

Routes defines and returns the routes for this server.

type Signer

type Signer struct {
	SignatureInfo *model.SignatureInfo
	Signer        crypto.Signer
}

Directories

Path Synopsis
Package database is a database interface to export.
Package database is a database interface to export.
Package model is a model abstraction of exports.
Package model is a model abstraction of exports.

Jump to

Keyboard shortcuts

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