add ability to store/create encrypted vcenter password
This commit is contained in:
@@ -19,9 +19,15 @@ import (
|
||||
)
|
||||
|
||||
type Vcenter struct {
|
||||
Logger *slog.Logger
|
||||
ctx context.Context
|
||||
client *govmomi.Client
|
||||
Logger *slog.Logger
|
||||
ctx context.Context
|
||||
client *govmomi.Client
|
||||
credentials *VcenterLogin
|
||||
}
|
||||
|
||||
type VcenterLogin struct {
|
||||
Username string
|
||||
Password string
|
||||
}
|
||||
|
||||
type VmProperties struct {
|
||||
@@ -30,23 +36,25 @@ type VmProperties struct {
|
||||
}
|
||||
|
||||
// New creates a new Vcenter with the given logger
|
||||
func New(logger *slog.Logger) *Vcenter {
|
||||
func New(logger *slog.Logger, creds *VcenterLogin) *Vcenter {
|
||||
|
||||
//ctx, cancel := context.WithCancel(context.Background())
|
||||
//defer cancel()
|
||||
|
||||
return &Vcenter{
|
||||
Logger: logger,
|
||||
ctx: context.Background(),
|
||||
Logger: logger,
|
||||
ctx: context.Background(),
|
||||
credentials: creds,
|
||||
}
|
||||
}
|
||||
|
||||
func (v *Vcenter) Login(vUrl string) error {
|
||||
var insecure bool
|
||||
|
||||
// TODO - fix this
|
||||
insecureString := os.Getenv("VCENTER_INSECURE")
|
||||
username := os.Getenv("VCENTER_USERNAME")
|
||||
password := os.Getenv("VCENTER_PASSWORD")
|
||||
//username := os.Getenv("VCENTER_USERNAME")
|
||||
//password := os.Getenv("VCENTER_PASSWORD")
|
||||
|
||||
// Connect to vCenter
|
||||
u, err := soap.ParseURL(vUrl)
|
||||
@@ -54,7 +62,7 @@ func (v *Vcenter) Login(vUrl string) error {
|
||||
log.Fatalf("Error parsing vCenter URL: %s", err)
|
||||
}
|
||||
|
||||
u.User = url.UserPassword(username, password)
|
||||
u.User = url.UserPassword(v.credentials.Username, v.credentials.Password)
|
||||
|
||||
/*
|
||||
c, err := govmomi.NewClient(ctx, u, insecure)
|
||||
@@ -77,7 +85,7 @@ func (v *Vcenter) Login(vUrl string) error {
|
||||
|
||||
v.client = c
|
||||
|
||||
v.Logger.Debug("successfully connected to vCenter", "url", vUrl, "username", username)
|
||||
v.Logger.Debug("successfully connected to vCenter", "url", vUrl, "username", v.credentials.Username)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user