45 lines
881 B
Go
45 lines
881 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"net/url"
|
|
|
|
"github.com/hashicorp/vault-client-go"
|
|
vAPI "github.com/hashicorp/vault/api"
|
|
"r00t2.io/goutils/logging"
|
|
)
|
|
|
|
const (
|
|
logFlags int = log.LstdFlags | log.Lmsgprefix
|
|
logFlagsDebug int = logFlags | log.Llongfile
|
|
)
|
|
|
|
var (
|
|
logger *logging.MultiLogger
|
|
args *Args = new(Args)
|
|
ctx context.Context = context.Background()
|
|
)
|
|
|
|
var (
|
|
apiTok string
|
|
apiUrl *url.URL
|
|
api *vAPI.Client
|
|
apiCfg *vAPI.Config
|
|
apiTls *vAPI.TLSConfig
|
|
client *vault.Client
|
|
clientOpts []vault.ClientOption
|
|
// clientCfg *vault.ClientConfiguration
|
|
// reqOpts []vault.RequestOption
|
|
)
|
|
|
|
var (
|
|
totpUrl *url.URL
|
|
authMntId string
|
|
authMntAccessor string
|
|
totpMethodId string
|
|
totpMethod map[string]interface{}
|
|
entity map[string]interface{}
|
|
totpSeed map[string]interface{}
|
|
)
|