diff --git a/layout.d2 b/layout.d2 index 6ebd231..f64a2ac 100644 --- a/layout.d2 +++ b/layout.d2 @@ -56,11 +56,10 @@ ppassd.Vault: { Id: "string" Keys: "[]Peer.PublicKey" - Add(p Password): "error" + Put(p Password): "error" Get(k string): "(Password, error)" Modify(p Password): "error" Remove(k string): "(bool, error)" - Exists(k string): "(bool)" OnUpdate(handler func()): "error" ctx: "context.Context" @@ -73,10 +72,13 @@ ppassd.PasswordStore: { shape: class Init(): "error" - Add(p Password): "error" + Put(p Password): "error" Get(k string): "(Password, error)" Modify(p Password): "error" Remove(k string): "(bool, error)" + Has(k string): "(bool)" + GetSize(k string): "(int, error)" + Query(q Query): "(query.Result, error)" Exists(k string): "(bool)" NewVault(id string): "(Vault, error)" diff --git a/layout.svg b/layout.svg index 57a402e..9c36896 100644 --- a/layout.svg +++ b/layout.svg @@ -1,28 +1,28 @@ -ppassctlppassdThoughtsCommands+init+ls+grep+find+show+insert+edit+generate+rm+mv+cp+git+help+versionHost+PeerIdlibp2p.ID+PublicKeylibp2p.PubKey+PrivateKeylibp2p.PrivKeyConfig+VaultCfgs[]VaultCfgVaultCfg+peers[]Peer+VaultIdstringPeer+PeerIdlibp2p.ID+PublicKeystringVault+Idstring+Keys[]Peer.PublicKey+ctxcontext.Context+ps*pubsub.PubSub+topic*pubsub.Topic+sub*pubsub.Subscription+Add(p Password)error+Get(k string)(Password, error)+Modify(p Password)error+Remove(k string)(bool, error)+Exists(k string)(bool)+OnUpdate(handler func())errorPasswordStore+CfgConfig+Vaults[]Vaults+Passwords[]Password+Secrets[]GnuPGKey+hostHost+Init()error+Add(p Password)error+Get(k string)(Password, error)+Modify(p Password)error+Remove(k string)(bool, error)+Exists(k string)(bool)+NewVault(id string)(Vault, error)Password+Keystring+Passwordstring+Vaults[]*Vault

Architecture

+ppassctlppassdThoughtsCommands+init+ls+grep+find+show+insert+edit+generate+rm+mv+cp+git+help+versionHost+PeerIdlibp2p.ID+PublicKeylibp2p.PubKey+PrivateKeylibp2p.PrivKeyConfig+VaultCfgs[]VaultCfgVaultCfg+peers[]Peer+VaultIdstringPeer+PeerIdlibp2p.ID+PublicKeystringVault+Idstring+Keys[]Peer.PublicKey+ctxcontext.Context+ps*pubsub.PubSub+topic*pubsub.Topic+sub*pubsub.Subscription+Put(p Password)error+Get(k string)(Password, error)+Modify(p Password)error+Remove(k string)(bool, error)+OnUpdate(handler func())errorPasswordStore+CfgConfig+Vaults[]Vaults+Passwords[]Password+Secrets[]GnuPGKey+hostHost+Init()error+Put(p Password)error+Get(k string)(Password, error)+Modify(p Password)error+Remove(k string)(bool, error)+Has(k string)(bool)+GetSize(k string)(int, error)+Query(q Query)(query.Result, error)+Exists(k string)(bool)+NewVault(id string)(Vault, error)Password+Keystring+Passwordstring+Vaults[]*Vault

Architecture

  • The host is a libp2p node. It connects with Peers of the given VaultCfgs.
  • The Vaults itself a basically pubsub topics that each hosts subscribes and publishes to.
  • @@ -861,12 +861,12 @@
-
control via unix socket Load on Init() - +
control via unix socket Load on Init() + - +