Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor user role functions to use v3 #449

Merged
merged 1 commit into from
Nov 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions commands/apply.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@ type ApplyCommand struct {
func (c *ApplyCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err != nil {
ldapMgr, err := InitializeLdapManager(c.BaseCFConfigCommand, c.BaseLDAPCommand)
if err != nil {
return err
}
if err = cfMgmt.UserManager.InitializeLdap(c.LdapUser, c.LdapPassword, c.LdapServer); err != nil {
if ldapMgr != nil {
defer ldapMgr.Close()
}
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, ldapMgr); err != nil {
return err
}
defer cfMgmt.UserManager.DeinitializeLdap()
fmt.Println("********* Creating Orgs")
if err = cfMgmt.OrgManager.CreateOrgs(); err != nil {
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/assign_default_security_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type AssignDefaultSecurityGroups struct {
func (c *AssignDefaultSecurityGroups) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SecurityGroupManager.AssignDefaultSecurityGroups()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/cleanup_org_users.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CleanupOrgUsersCommand struct {

// Execute - removes org users
func (c *CleanupOrgUsersCommand) Execute([]string) error {
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
errs := cfMgmt.UserManager.CleanupOrgUsers()
if len(errs) > 0 {
return fmt.Errorf("got errors processing cleanup users %v", errs)
Expand Down
2 changes: 1 addition & 1 deletion commands/create_orgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CreateOrgsCommand struct {
func (c *CreateOrgsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.OrgManager.CreateOrgs()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/create_private_domains.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CreatePrivateDomainsCommand struct {
func (c *CreatePrivateDomainsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.PrivateDomainManager.CreatePrivateDomains()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/create_security_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CreateSecurityGroupsCommand struct {
func (c *CreateSecurityGroupsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SecurityGroupManager.CreateGlobalSecurityGroups()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/create_space_security_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CreateSpaceSecurityGroupsCommand struct {
func (c *CreateSpaceSecurityGroupsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SecurityGroupManager.CreateApplicationSecurityGroups()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/create_spaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type CreateSpacesCommand struct {
func (c *CreateSpacesCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SpaceManager.CreateSpaces()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/delete_orgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type DeleteOrgsCommand struct {
func (c *DeleteOrgsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.OrgManager.DeleteOrgs()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/delete_spaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type DeleteSpacesCommand struct {
func (c *DeleteSpacesCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SpaceManager.DeleteSpaces()
}
return err
Expand Down
1 change: 1 addition & 0 deletions commands/export_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func (c *ExportConfigurationCommand) Execute([]string) error {
cfMgmt.SharedDomainManager,
cfMgmt.ServiceAccessManager,
cfMgmt.QuotaManager,
cfMgmt.RoleManager,
)
exportManager.SkipRoutingGroups = c.SkipRoutingGroups
excludedOrgs := make(map[string]string)
Expand Down
2 changes: 1 addition & 1 deletion commands/export_service_access_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func (c *ExportServiceAccessCommand) Execute([]string) error {
cfMgmt.PrivateDomainManager,
cfMgmt.SharedDomainManager,
cfMgmt.ServiceAccessManager,
cfMgmt.QuotaManager)
cfMgmt.QuotaManager, cfMgmt.RoleManager)

return exportManager.ExportServiceAccess()
}
Expand Down
27 changes: 24 additions & 3 deletions commands/initialize.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ import (
"github.com/vmwarepivotallabs/cf-mgmt/config"
"github.com/vmwarepivotallabs/cf-mgmt/configcommands"
"github.com/vmwarepivotallabs/cf-mgmt/isosegment"
"github.com/vmwarepivotallabs/cf-mgmt/ldap"
"github.com/vmwarepivotallabs/cf-mgmt/organization"
"github.com/vmwarepivotallabs/cf-mgmt/organizationreader"
"github.com/vmwarepivotallabs/cf-mgmt/privatedomain"
"github.com/vmwarepivotallabs/cf-mgmt/quota"
"github.com/vmwarepivotallabs/cf-mgmt/role"
"github.com/vmwarepivotallabs/cf-mgmt/securitygroup"
"github.com/vmwarepivotallabs/cf-mgmt/serviceaccess"
"github.com/vmwarepivotallabs/cf-mgmt/shareddomain"
Expand All @@ -40,6 +42,7 @@ type CFMgmt struct {
IsolationSegmentManager isosegment.Manager
ServiceAccessManager *serviceaccess.Manager
SharedDomainManager *shareddomain.Manager
RoleManager role.Manager
}

type Initialize struct {
Expand All @@ -48,10 +51,26 @@ type Initialize struct {
}

func InitializeManagers(baseCommand BaseCFConfigCommand) (*CFMgmt, error) {
return InitializePeekManagers(baseCommand, false)
return InitializePeekManagers(baseCommand, false, nil)
}

func InitializePeekManagers(baseCommand BaseCFConfigCommand, peek bool) (*CFMgmt, error) {
func InitializeLdapManager(baseCommand BaseCFConfigCommand, ldapCommand BaseLDAPCommand) (*ldap.Manager, error) {
cfg := config.NewManager(baseCommand.ConfigDirectory)
ldapConfig, err := cfg.LdapConfig(ldapCommand.LdapUser, ldapCommand.LdapPassword, ldapCommand.LdapServer)
if err != nil {
return nil, err
}
if ldapConfig.Enabled {
ldapMgr, err := ldap.NewManager(ldapConfig)
if err != nil {
return nil, err
}
return ldapMgr, nil
}
return nil, nil
}

func InitializePeekManagers(baseCommand BaseCFConfigCommand, peek bool, ldapMgr *ldap.Manager) (*CFMgmt, error) {
lo.G.Debugf("Using %s of cf-mgmt", configcommands.GetFormattedVersion())
if baseCommand.SystemDomain == "" ||
baseCommand.UserID == "" ||
Expand Down Expand Up @@ -118,7 +137,9 @@ func InitializePeekManagers(baseCommand BaseCFConfigCommand, peek bool) (*CFMgmt
cfMgmt.OrgReader = organizationreader.NewReader(client, v3client.Organizations, cfg, peek)
cfMgmt.SpaceManager = space.NewManager(v3client.Spaces, v3client.SpaceFeatures, cfMgmt.UAAManager, cfMgmt.OrgReader, cfg, peek)
cfMgmt.OrgManager = organization.NewManager(v3client.Organizations, cfMgmt.OrgReader, cfg, peek)
userManager, err := user.NewManager(client, cfg, cfMgmt.SpaceManager, cfMgmt.OrgReader, cfMgmt.UAAManager, peek)
cfMgmt.RoleManager = role.New(v3client.Roles, v3client.Users, v3client.Jobs, uaaMgr, peek)

userManager, err := user.NewManager(cfg, cfMgmt.SpaceManager, cfMgmt.OrgReader, cfMgmt.UAAManager, cfMgmt.RoleManager, ldapMgr, peek)
if err != nil {
return nil, err
}
Expand Down
2 changes: 1 addition & 1 deletion commands/isolation_segments.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ type IsolationSegmentsCommand struct {

// Execute - updates spaces
func (c *IsolationSegmentsCommand) Execute([]string) error {
cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek)
cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil)
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion commands/service_access.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type ServiceAccessCommand struct {
func (c *ServiceAccessCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.ServiceAccessManager.Apply()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/share_private_domains.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type SharePrivateDomainsCommand struct {
func (c *SharePrivateDomainsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.PrivateDomainManager.SharePrivateDomains()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/shared_domains.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type SharedDomainsCommand struct {
func (c *SharedDomainsCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SharedDomainManager.Apply()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/update_org_quota.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type UpdateOrgQuotasCommand struct {
func (c *UpdateOrgQuotasCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.QuotaManager.CreateOrgQuotas()
}
return err
Expand Down
13 changes: 8 additions & 5 deletions commands/update_org_users.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,14 @@ type UpdateOrgUsersCommand struct {

// Execute - updates orgs quotas
func (c *UpdateOrgUsersCommand) Execute([]string) error {
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if err := cfMgmt.UserManager.InitializeLdap(c.LdapUser, c.LdapPassword, c.LdapServer); err != nil {
return err
}
defer cfMgmt.UserManager.DeinitializeLdap()
ldapMgr, err := InitializeLdapManager(c.BaseCFConfigCommand, c.BaseLDAPCommand)
if err != nil {
return err
}
if ldapMgr != nil {
defer ldapMgr.Close()
}
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, ldapMgr); err == nil {
errs := cfMgmt.UserManager.UpdateOrgUsers()
if len(errs) > 0 {
return fmt.Errorf("got errors processing update org users %v", errs)
Expand Down
2 changes: 1 addition & 1 deletion commands/update_orgs_metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type UpdateOrgsMetadataCommand struct {
func (c *UpdateOrgsMetadataCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.OrgManager.UpdateOrgsMetadata()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/update_space_quota.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type UpdateSpaceQuotasCommand struct {
func (c *UpdateSpaceQuotasCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.QuotaManager.CreateSpaceQuotas()
}
return err
Expand Down
13 changes: 8 additions & 5 deletions commands/update_space_users.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,14 @@ type UpdateSpaceUsersCommand struct {

// Execute - updates space users
func (c *UpdateSpaceUsersCommand) Execute([]string) error {
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if err := cfMgmt.UserManager.InitializeLdap(c.LdapUser, c.LdapPassword, c.LdapServer); err != nil {
return err
}
defer cfMgmt.UserManager.DeinitializeLdap()
ldapMgr, err := InitializeLdapManager(c.BaseCFConfigCommand, c.BaseLDAPCommand)
if err != nil {
return err
}
if ldapMgr != nil {
defer ldapMgr.Close()
}
if cfMgmt, err := InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, ldapMgr); err == nil {
errs := cfMgmt.UserManager.UpdateSpaceUsers()
if len(errs) > 0 {
return fmt.Errorf("got errors processing update space users %v", errs)
Expand Down
2 changes: 1 addition & 1 deletion commands/update_spaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type UpdateSpacesCommand struct {
func (c *UpdateSpacesCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SpaceManager.UpdateSpaces()
}
return err
Expand Down
2 changes: 1 addition & 1 deletion commands/update_spaces_metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ type UpdateSpacesMetadataCommand struct {
func (c *UpdateSpacesMetadataCommand) Execute([]string) error {
var cfMgmt *CFMgmt
var err error
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek); err == nil {
if cfMgmt, err = InitializePeekManagers(c.BaseCFConfigCommand, c.Peek, nil); err == nil {
err = cfMgmt.SpaceManager.UpdateSpacesMetadata()
}
return err
Expand Down
Loading