github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/ephemeral/init.go (about) 1 package ephemeral 2 3 import ( 4 "github.com/keybase/client/go/libkb" 5 ) 6 7 // Creates a ephemeral key storage and installs it into G. 8 func NewEphemeralStorageAndInstall(mctx libkb.MetaContext) { 9 mctx.G().SetDeviceEKStorage(NewDeviceEKStorage(mctx)) 10 mctx.G().SetUserEKBoxStorage(NewUserEKBoxStorage()) 11 mctx.G().SetTeamEKBoxStorage(NewTeamEKBoxStorage(NewTeamEphemeralKeyer())) 12 mctx.G().SetTeambotEKBoxStorage(NewTeamEKBoxStorage(NewTeambotEphemeralKeyer())) 13 ekLib := NewEKLib(mctx) 14 mctx.G().SetEKLib(ekLib) 15 mctx.G().AddLoginHook(ekLib) 16 mctx.G().AddLogoutHook(ekLib, "ekLib") 17 mctx.G().AddDbNukeHook(ekLib, "ekLib") 18 mctx.G().PushShutdownHook(ekLib.Shutdown) 19 } 20 21 func ServiceInit(mctx libkb.MetaContext) { 22 NewEphemeralStorageAndInstall(mctx) 23 }