package globals import ( "context" "time" "go.uber.org/fx" ) // these get populated from main() and copied into the Globals object. var ( Appname string = "vaultik" Version string = "dev" Commit string = "unknown" ) type Globals struct { Appname string Version string Commit string StartTime time.Time } func New(lc fx.Lifecycle) (*Globals, error) { n := &Globals{ Appname: Appname, Version: Version, Commit: Commit, } lc.Append(fx.Hook{ OnStart: func(ctx context.Context) error { n.StartTime = time.Now() return nil }, }) return n, nil }