Back to godoc.org

Package export

v0.14.0
Latest Go to latest

The highest tagged major version is .

Published: 2 days ago | License: Apache-2.0 | Module: github.com/google/exposure-notifications-server

Overview

Package export defines the handlers for managing exposure key exporting.

Index

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, []byte, error)

UnmarshalExportFile extracts the protobuf encoded exposure key present in the zip archived payload. Returns the parsed TemporaryExposureKeyExport protocol buffer message, the SHA256 digest of the signed content and/or an error if error. The digest is useful in validating the signature as it returns the deigest of the content that was signed when the archive was created.

func UnmarshalSignatureFile

func UnmarshalSignatureFile(zippedProtoPayload []byte) (*export.TEKSignatureList, error)

UnmarshalSignatureFile extracts the protobuf encode dsignatures.

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
}

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier