pwmanager

module
v0.0.0-...-f69d383 Latest Latest
Warning

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

Go to latest
Published: May 31, 2025 License: Apache-2.0

README

PwManager

pwmanager is a secure and user-friendly password manager featuring a single-page application (SPA) frontend, a Go-based backend service, and PostgreSQL for persistent storage.

Domain Diagram

domain diagram

Domain Name Description
user Represents users and user specific data like encrypted encryption keys.
bundle A collection of password entries grouped together.
key A key is the bundle symmetric key encrypted with a user's public key.
entry Individual password entries (e.g. username and password), stored encrypted using the bundle symmetric key.
vbundle The domain that returns the users bundles and associated data (e.g. keys, usernames) by querying a SQL view

Directories

Path Synopsis
api
services/auth/build/all
Package all binds all the routes into the specified app.
Package all binds all the routes into the specified app.
services/metrics/collector
Package collector is a simple collector for
Package collector is a simple collector for
services/metrics/publisher
Package publisher manages the publishing of metrics.
Package publisher manages the publishing of metrics.
services/metrics/publisher/datadog
Package datadog provides support for publishing metrics to DD.
Package datadog provides support for publishing metrics to DD.
services/metrics/publisher/expvar
Package expvar manages the publishing of metrics to stdout.
Package expvar manages the publishing of metrics to stdout.
services/metrics/publisher/prometheus
Package prometheus provides suppoert for sending metrics to prometheus.
Package prometheus provides suppoert for sending metrics to prometheus.
services/pwmanager/build/all
Package all binds all the routes into the specified app.
Package all binds all the routes into the specified app.
services/pwmanager/build/crud
Package crud binds the crud domain set of routes into the specified app.
Package crud binds the crud domain set of routes into the specified app.
services/pwmanager/build/reporting
Package reporting binds the reporting domain set of routes into the specified app.
Package reporting binds the reporting domain set of routes into the specified app.
tooling/admin
This program performs administrative tasks for the pwmanager service.
This program performs administrative tasks for the pwmanager service.
tooling/admin/commands
Package commands contains the functionality for the set of commands currently supported by the CLI tooling.
Package commands contains the functionality for the set of commands currently supported by the CLI tooling.
tooling/logfmt
This program takes the structured log output and makes it readable.
This program takes the structured log output and makes it readable.
app
domain/authapp
Package authapp maintains the web based api for auth access.
Package authapp maintains the web based api for auth access.
domain/bundleapp
Package bundleapp maintains the app layer api for the bundle domain.
Package bundleapp maintains the app layer api for the bundle domain.
domain/checkapp
Package checkapp maintains the app layer api for the check domain.
Package checkapp maintains the app layer api for the check domain.
domain/entryapp
Package entryapp maintains the app layer api for the entry domain.
Package entryapp maintains the app layer api for the entry domain.
domain/keyapp
Package keyapp maintains the app layer api for the key domain.
Package keyapp maintains the app layer api for the key domain.
domain/oauthapp
Package oauthapp maintains the web based api for oauth support.
Package oauthapp maintains the web based api for oauth support.
domain/rawapp
Package rawapp provides an example of using a raw handler.
Package rawapp provides an example of using a raw handler.
domain/userapp
Package userapp maintains the app layer api for the user domain.
Package userapp maintains the app layer api for the user domain.
domain/vbundleapp
Package vbundleapp maintains the app layer api for the vbundle domain.
Package vbundleapp maintains the app layer api for the vbundle domain.
sdk/apitest
Package apitest provides support for excuting api test logic.
Package apitest provides support for excuting api test logic.
sdk/auth
Package auth provides authentication and authorization support.
Package auth provides authentication and authorization support.
sdk/authclient
Package authclient provides support to access the auth service.
Package authclient provides support to access the auth service.
sdk/debug
Package debug provides handler support for the debugging endpoints.
Package debug provides handler support for the debugging endpoints.
sdk/errs
Package errs provides types and support related to web error functionality.
Package errs provides types and support related to web error functionality.
sdk/metrics
Package metrics constructs the metrics the application will track.
Package metrics constructs the metrics the application will track.
sdk/mid
Package mid provides app level middleware support.
Package mid provides app level middleware support.
sdk/mux
Package mux provides support to bind domain level routes to the application mux.
Package mux provides support to bind domain level routes to the application mux.
sdk/query
Package query provides support for query paging.
Package query provides support for query paging.
business
domain/bundlebus
Package bundlebus provides business access to bundle domain.
Package bundlebus provides business access to bundle domain.
domain/bundlebus/stores/bundledb
Package bundledb contains bundle related CRUD functionality.
Package bundledb contains bundle related CRUD functionality.
domain/entrybus
Package entrybus provides business access to entry domain.
Package entrybus provides business access to entry domain.
domain/entrybus/stores/entrydb
Package entrydb contains entry related CRUD functionality.
Package entrydb contains entry related CRUD functionality.
domain/keybus
Package keybus provides business access to key domain.
Package keybus provides business access to key domain.
domain/keybus/stores/keydb
Package keydb contains key related CRUD functionality.
Package keydb contains key related CRUD functionality.
domain/userbus
Package userbus provides business access to user domain.
Package userbus provides business access to user domain.
domain/userbus/stores/usercache
Package usercache contains user related CRUD functionality with caching.
Package usercache contains user related CRUD functionality with caching.
domain/userbus/stores/userdb
Package userdb contains user related CRUD functionality.
Package userdb contains user related CRUD functionality.
domain/vbundlebus
Package vbundlebus provides business access to view key domain.
Package vbundlebus provides business access to view key domain.
domain/vbundlebus/stores/vbundledb
Package vbundledb provides access to the key view.
Package vbundledb provides access to the key view.
sdk/dbtest
Package dbtest contains supporting code for running tests that hit the DB.
Package dbtest contains supporting code for running tests that hit the DB.
sdk/delegate
Package delegate provides the ability to make function calls between different domain packages when an import is not possible.
Package delegate provides the ability to make function calls between different domain packages when an import is not possible.
sdk/migrate
Package migrate contains the database schema, migrations and seeding data.
Package migrate contains the database schema, migrations and seeding data.
sdk/order
Package order provides support for describing the ordering of data.
Package order provides support for describing the ordering of data.
sdk/page
Package page provides support for query paging.
Package page provides support for query paging.
sdk/sqldb
Package sqldb provides support for access the database.
Package sqldb provides support for access the database.
sdk/sqldb/dbarray
Package dbarray provides support for database array types.
Package dbarray provides support for database array types.
sdk/unitest
Package unitest provides support for excuting unit test logic.
Package unitest provides support for excuting unit test logic.
types/bundlerole
Package role represents the role type in the system.
Package role represents the role type in the system.
types/bundletype
Package bundletype represents the bundle type in the system.
Package bundletype represents the bundle type in the system.
types/entry
Package entry represents a entry in the system.
Package entry represents a entry in the system.
types/key
Package key represents a key in the system.
Package key represents a key in the system.
types/money
Package money represents a money in the system.
Package money represents a money in the system.
types/name
Package name represents a name in the system.
Package name represents a name in the system.
types/quantity
Package quantity represents a quantity in the system.
Package quantity represents a quantity in the system.
types/role
Package role represents the role type in the system.
Package role represents the role type in the system.
foundation
docker
Package docker provides support for starting and stopping docker containers for running tests.
Package docker provides support for starting and stopping docker containers for running tests.
keystore
Package keystore implements the auth.KeyLookup interface.
Package keystore implements the auth.KeyLookup interface.
logger
Package logger provides support for initializing the log system.
Package logger provides support for initializing the log system.
otel
Package otel provides otel support.
Package otel provides otel support.
web
Package web contains a small web framework extension.
Package web contains a small web framework extension.
worker
Package worker manages a set of registered jobs that execute on demand.
Package worker manages a set of registered jobs that execute on demand.

Jump to

Keyboard shortcuts

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