Back to godoc.org
github.com/google/exposure-notifications-server

Directory github.com/google/exposure-notifications-server

v0.9.2
Latest Go to latest

The latest major version is .

Published: 0 hours ago | License: Apache-2.0 | Module: github.com/google/exposure-notifications-server
Path Synopsis
cmd/cleanup-export This package is the service that deletes old exposure keys; it is intended to be invoked over HTTP by Cloud Scheduler.
cmd/cleanup-exposure This package is the service that deletes old exposure keys; it is intended to be invoked over HTTP by Cloud Scheduler.
cmd/debugger Package main runs the debugger service.
cmd/export This package is the service that publishes infected keys; it is intended to be invoked over HTTP by Cloud Scheduler.
cmd/exposure This package is the primary infected keys upload service.
cmd/federationin This package is the service that pulls federation results from other federation severs.
cmd/federationout This package is the gRPC server for federation requests to send data to other federations servers.
cmd/generate Deployable server to generate fake exposure keys on demand.
cmd/jwks-updater This package is the service update encryption keys; it is intended to be invoked over HTTP by Cloud Scheduler.
cmd/key-rotation This package is the service rotates revision token encryption keys; it is intended to be invoked over HTTP by Cloud Scheduler.
cmd/migrate
internal/admin Package admin provides a small admin UI.
internal/admin/authorizedapps Package authorizedapps is part of the admin system.
internal/admin/exports Package exports is part of the admin system.
internal/admin/healthauthority Package healthauthority is part of the admin system.
internal/admin/index Package index contains admin console indexHandler for the main landing page.
internal/admin/siginfo Package siginfo is part of the admin system.
internal/authorizedapp Package authorizedapp handles allowed applications.
internal/authorizedapp/database Package database is a database interface to authorized apps.
internal/authorizedapp/model Package model is a model abstraction of authorized apps.
internal/azurekeyvault Package azurekeyvault provides shared functionality between the signing and secret clients for KeyVault
internal/buildinfo Package buildinfo provides high-level build information injected during build.
internal/cleanup Package cleanup implements the API handlers for running data deletion jobs.
internal/database Package database is a facade over the data storage layer.
internal/debugger Package debugger is a server-side debugger component that displays debug information about the system.
internal/export Package export defines the handlers for managing exposure key exporting.
internal/export/database Package database is a database interface to export.
internal/export/model Package model is a model abstraction of exports.
internal/federationin Package federationin handles pulling data from other federation servers.
internal/federationin/database Package database is a database interface to federation in.
internal/federationin/model Package model is a model abstraction of federation in.
internal/federationout Package federationout handles requests from other federation servers for data.
internal/federationout/database Package database is a database interface to federation out.
internal/flag Package flag includes custom flag parsing logic.
internal/generate Package generate contains HTTP handler for triggering data generation into the databae.
internal/integration Package integration contains EN Server integration tests.
internal/jsonutil Package jsonutil provides common utilities for properly handling JSON payloads in HTTP body.
internal/keyrotation Package keyrotation implements the API handlers for running key rotation jobs.
internal/metrics Package metrics contains utilities for exporting metrics.
internal/metrics/cleanup Package cleanup contains OpenCensus metrics and views for cleanup operations
internal/metrics/export Package export contains OpenCensus metrics and views for export operations
internal/metrics/federationin Package federationin contains OpenCensus metrics and views for federationin operations
internal/metrics/federationout Package federationout contains OpenCensus metrics and views for federationout operations
internal/metrics/metricsware Package metricsware provides a middleware for recording metrics of different kinds
internal/metrics/publish Package publish contains OpenCensus metrics and views for publish operations
internal/metrics/rotate Package rotate contains OpenCensus metrics and views for rotate operations
internal/pb
internal/pb/export
internal/publish Package publish defines the exposure keys publishing API.
internal/publish/database Package database is a database interface to publish.
internal/publish/model Package model is a model abstraction of publish.
internal/revision Package revision defines the internal structure of the revision token and utilities for marshal/unmarshal which also encrypts/decrypts the payload.
internal/revision/database Package database contains the management of interactions with the database for createion and storage of the wrapped keys that encrypet revision certificates.
internal/serverenv Package serverenv defines common parameters for the sever environment.
internal/setup Package setup provides common logic for configuring the various services.
internal/storage Package storage is an interface over Google Cloud Storage.
internal/utils Package utils provides utilities to be used in testing.
internal/verification Package verification provides the ability to verify the diagnosis certificates (JWTs) coming from public health authorities that are responsible for verifying diagnosis pin codes and ceritfying the TEKs.
internal/verification/database Package database is a database interface to health authorities.
internal/verification/model Package model is a model abstraction of health authorities.
pkg/api/v1 Package v1 contains API definitions that can be used outside of this codebase.
pkg/api/v1alpha1 Package v1alpha1 contains API definitions that can be used outside of this codebase in their alpha form.
pkg/base64util Package base64util extracts base64 encoding/decoding logic into a single API that is tolerant of various paddings.
pkg/cache Package cache implements an inmemory cache for any interface{} object.
pkg/jwks Package jwks manages downloading and updating the keys from a JWKS source for keys.
pkg/keys Package keys defines the interface to and implementation of key management operations.
pkg/logging Package logging sets up and configures logging.
pkg/observability Package observability sets up and configures observability tools.
pkg/secrets Package secrets defines a minimum abstract interface for a secret manager.
pkg/server Package server provides an opinionated http server.
pkg/util Package util is a CLI tool for generating test exposure key data.
pkg/verification Package verification provides verification utilities.
testing/enclient Package enclient is a client for making requests against the exposure notification server.
tools/admin-console This tool provides a small admin UI.
tools/b64decode
tools/example-verification-signing This package implements a sample server that implements a piece of the public health authority verification protocol: https://github.com/google/exposure-notifications-server/blob/main/docs/design/verification_protocol.md To call this server using curl: curl -d '{"verificationCode":"fakeCode","tekhmac":"replace w/ tek hmac"}' -H "Content-Type: application/json" -X POST http://localhost:8080/ The FULL protocol is implemented by https://github.com/google/exposure-notifications-verification-server/
tools/export-analyzer This tool displays the content of the export file.
tools/export-config This package is used to create entries in the ExportConfig table.
tools/export-generate This utility generates test exports signed with local keys
tools/exposure-client This package is a CLI tool for generating test exposure key data.
tools/federationin-query This package is a CLI tool for creating federationin FederationQuery records.
tools/federationout-authorization This package is a CLI tool for creating FederationAuthorization entries, controlling who can access the federationout endpoint.
tools/federationout-test This package is a CLI tool for calling the gRPC federationout server, for manual testing.
tools/hexconvert
tools/hmac-calculator Unmarshals a public JSON message from a file and calculated the HMAC using the server code.
tools/interval This utility takes an exposure notifications interval number and turns it into a timestamp.
tools/sign This tool attempts to sign a string with all configurd export signing keys in the system.
tools/unwrap-signature This utility unwraps the export.TEKSignatureList proto and extracts the signature so that an export file can be verified with openssl.
tools/verify This tool verifies that a SHA256 and signature can be valided by the provided public key.