initial
This commit is contained in:
70
cmd/kill_totp_secrets/main.go
Normal file
70
cmd/kill_totp_secrets/main.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
`fmt`
|
||||
`log`
|
||||
`os`
|
||||
|
||||
`update_vault_totp/internal`
|
||||
|
||||
"golang.org/x/term"
|
||||
"r00t2.io/sysutils/envs"
|
||||
)
|
||||
|
||||
func getToken() (tok string, err error) {
|
||||
|
||||
var p1 []byte
|
||||
var oldState *term.State
|
||||
|
||||
if envs.HasEnv(internal.VaultTokEnv) {
|
||||
tok = os.Getenv(internal.VaultTokEnv)
|
||||
return
|
||||
}
|
||||
|
||||
// Prompt for it instead
|
||||
fmt.Println("Vault token needed.\nVault token (will not be echoed back):")
|
||||
if oldState, err = term.GetState(internal.TermFd); err != nil {
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = term.Restore(internal.TermFd, oldState); err != nil {
|
||||
log.Println("restore failed:", err)
|
||||
}
|
||||
}()
|
||||
|
||||
if p1, err = term.ReadPassword(internal.TermFd); err != nil {
|
||||
return
|
||||
}
|
||||
tok = string(p1)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
var err error
|
||||
var errs []error
|
||||
var tok string
|
||||
var c *internal.Client
|
||||
|
||||
if tok, err = getToken(); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
if c, err = internal.New(tok, internal.DefAddr, internal.TgtMnt, internal.CollNm); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
c.DeleteAllVaultKeys()
|
||||
|
||||
if err = c.Close(); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
if errs = c.Errors(); len(errs) > 0 {
|
||||
for _, err = range errs {
|
||||
log.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("Done.")
|
||||
}
|
||||
70
cmd/update_vault_totp/main.go
Normal file
70
cmd/update_vault_totp/main.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
`fmt`
|
||||
`log`
|
||||
`os`
|
||||
|
||||
`update_vault_totp/internal`
|
||||
|
||||
"golang.org/x/term"
|
||||
"r00t2.io/sysutils/envs"
|
||||
)
|
||||
|
||||
func getToken() (tok string, err error) {
|
||||
|
||||
var p1 []byte
|
||||
var oldState *term.State
|
||||
|
||||
if envs.HasEnv(internal.VaultTokEnv) {
|
||||
tok = os.Getenv(internal.VaultTokEnv)
|
||||
return
|
||||
}
|
||||
|
||||
// Prompt for it instead
|
||||
fmt.Println("Vault token needed.\nVault token (will not be echoed back):")
|
||||
if oldState, err = term.GetState(internal.TermFd); err != nil {
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if err = term.Restore(internal.TermFd, oldState); err != nil {
|
||||
log.Println("restore failed:", err)
|
||||
}
|
||||
}()
|
||||
|
||||
if p1, err = term.ReadPassword(internal.TermFd); err != nil {
|
||||
return
|
||||
}
|
||||
tok = string(p1)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
var err error
|
||||
var errs []error
|
||||
var tok string
|
||||
var c *internal.Client
|
||||
|
||||
if tok, err = getToken(); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
if c, err = internal.New(tok, internal.DefAddr, internal.TgtMnt, internal.CollNm); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
c.Sync()
|
||||
|
||||
if err = c.Close(); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
if errs = c.Errors(); len(errs) > 0 {
|
||||
for _, err = range errs {
|
||||
log.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("Done.")
|
||||
}
|
||||
27
cmd/vault_totp_util/consts.go
Normal file
27
cmd/vault_totp_util/consts.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
`update_vault_totp/internal`
|
||||
|
||||
sysdUtil "github.com/coreos/go-systemd/v22/util"
|
||||
`github.com/jessevdk/go-flags`
|
||||
`r00t2.io/goutils/logging`
|
||||
)
|
||||
|
||||
var (
|
||||
isSystemd bool = sysdUtil.IsRunningSystemd()
|
||||
)
|
||||
|
||||
const (
|
||||
logFlags int = log.LstdFlags | log.Lmsgprefix
|
||||
logFlagsDebug int = logFlags | log.Llongfile
|
||||
)
|
||||
|
||||
var (
|
||||
logger *logging.MultiLogger
|
||||
args *internal.Args = new(internal.Args)
|
||||
logFlagsRuntime int = logFlags
|
||||
parser *flags.Parser = flags.NewParser(args, flags.Default)
|
||||
)
|
||||
72
cmd/vault_totp_util/main.go
Normal file
72
cmd/vault_totp_util/main.go
Normal file
@@ -0,0 +1,72 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
`errors`
|
||||
`fmt`
|
||||
`log`
|
||||
`os`
|
||||
|
||||
`update_vault_totp/version`
|
||||
|
||||
`github.com/davecgh/go-spew/spew`
|
||||
`github.com/jessevdk/go-flags`
|
||||
`r00t2.io/goutils/logging`
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
var err error
|
||||
|
||||
log.SetOutput(os.Stderr)
|
||||
|
||||
parser.EnvNamespaceDelimiter = ""
|
||||
if _, err = parser.Parse(); err != nil {
|
||||
var flagsErr *flags.Error
|
||||
switch {
|
||||
case errors.As(err, &flagsErr):
|
||||
switch {
|
||||
case errors.Is(flagsErr.Type, flags.ErrHelp), errors.Is(flagsErr.Type, flags.ErrCommandRequired), errors.Is(flagsErr.Type, flags.ErrRequired): // These print their relevant messages by themselves.
|
||||
return
|
||||
default:
|
||||
log.Panicln(err)
|
||||
}
|
||||
default:
|
||||
log.Panicln(err)
|
||||
}
|
||||
}
|
||||
|
||||
if version.Ver, err = version.Version(); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
// If args.Version or args.DetailVersion are true, just print them and exit.
|
||||
if args.DetailVersion || args.Version {
|
||||
if args.Version {
|
||||
fmt.Println(version.Ver.Short())
|
||||
return
|
||||
} else if args.DetailVersion {
|
||||
fmt.Println(version.Ver.Detail())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// We want to set up logging before anything else.
|
||||
if args.DoDebug {
|
||||
logFlagsRuntime = logFlagsDebug
|
||||
}
|
||||
logger = logging.GetMultiLogger(args.DoDebug, "ZorkBot")
|
||||
if err = logger.AddDefaultLogger(
|
||||
"default",
|
||||
logFlagsRuntime,
|
||||
"/var/log/zorkbot/zorkbot.log", "~/logs/zorkbot.log",
|
||||
); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
if err = logger.Setup(); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
defer logger.Shutdown()
|
||||
logger.Info("main: ZorkBot version %v", version.Ver.Short())
|
||||
logger.Debug("main: ZorkBot version (extended):\n%v", version.Ver.Detail())
|
||||
logger.Debug("main: Invocation args:\n%s", spew.Sdump(args))
|
||||
}
|
||||
Reference in New Issue
Block a user