Help us shape the future of Go! Take the 2026 Go Developer Survey

syncgroups

package
v1.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2015 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ISO8601

func ISO8601(t time.Time) string

ISO8601 returns an ISO 6801 formatted string from a time.

func NewAllOpenShiftGroupLister

func NewAllOpenShiftGroupLister(blacklist []string, ldapURL string, groupClient osclient.GroupInterface) interfaces.LDAPGroupListerNameMapper

NewAllOpenShiftGroupLister returns a new allOpenShiftGroupLister

func NewEntryAttributeGroupNameMapper

func NewEntryAttributeGroupNameMapper(nameAttribute []string, groupGetter interfaces.LDAPGroupGetter) interfaces.LDAPGroupNameMapper

NewEntryAttributeGroupNameMapper returns a new EntryAttributeLDAPGroupNameMapper

func NewLDAPBlacklistGroupLister

func NewLDAPBlacklistGroupLister(blacklist []string, baseLister interfaces.LDAPGroupLister) interfaces.LDAPGroupLister

NewLDAPBlacklistGroupLister filters out the blacklisted names from the base lister

func NewLDAPWhitelistGroupLister

func NewLDAPWhitelistGroupLister(whitelist []string) interfaces.LDAPGroupLister

NewLDAPWhitelistGroupLister returns a new whitelistLDAPGroupLister that divulges the given whitelist of LDAP group unique identifiers

func NewOpenShiftGroupLister

func NewOpenShiftGroupLister(whitelist, blacklist []string, ldapURL string, client osclient.GroupInterface) interfaces.LDAPGroupListerNameMapper

NewOpenShiftGroupLister returns a new openshiftGroupLister that divulges the LDAP group unique identifier for each entry in the given whitelist of OpenShift Group names

func NewUserDefinedGroupNameMapper

func NewUserDefinedGroupNameMapper(mapping map[string]string) interfaces.LDAPGroupNameMapper

NewUserDefinedGroupNameMapper returns a new UserDefinedLDAPGroupNameMapper which maps a ldapGroupUID representing an LDAP group to the OpenShift Group name for the resource

func NewUserNameMapper

func NewUserNameMapper(nameAttributes []string) interfaces.LDAPUserNameMapper

NewUserNameMapper returns a new DefaultLDAPGroupUserNameMapper

Types

type DNLDAPGroupNameMapper

type DNLDAPGroupNameMapper struct{}

DNLDAPGroupNameMapper passes through the ldapGroupUID as the OpenShift group name

func (*DNLDAPGroupNameMapper) GroupNameFor

func (m *DNLDAPGroupNameMapper) GroupNameFor(ldapGroupUID string) (string, error)

type DefaultLDAPUserNameMapper

type DefaultLDAPUserNameMapper struct {
	// contains filtered or unexported fields
}

DefaultLDAPUserNameMapper extracts the OpenShift User name of an LDAP entry representing a user in a deterministic manner

func (*DefaultLDAPUserNameMapper) UserNameFor

func (m *DefaultLDAPUserNameMapper) UserNameFor(ldapUser *ldap.Entry) (string, error)

type EntryAttributeLDAPGroupNameMapper

type EntryAttributeLDAPGroupNameMapper struct {
	// contains filtered or unexported fields
}

EntryAttributeLDAPGroupNameMapper references the name attribute mapping to determine which attribute of a first-class LDAP group entry should be used as the OpenShift Group name for the resource

func (*EntryAttributeLDAPGroupNameMapper) GroupNameFor

func (m *EntryAttributeLDAPGroupNameMapper) GroupNameFor(ldapGroupUID string) (string, error)

type GroupSyncer

type GroupSyncer interface {
	Sync() (errors []error)
}

GroupSyncer runs a Sync job on Groups

type LDAPGroupSyncer

type LDAPGroupSyncer struct {
	// Lists all groups to be synced
	GroupLister interfaces.LDAPGroupLister
	// Fetches a group and extracts object metainformation and membership list from a group
	GroupMemberExtractor interfaces.LDAPMemberExtractor
	// Maps an LDAP user entry to an OpenShift User's Name
	UserNameMapper interfaces.LDAPUserNameMapper
	// Maps an LDAP group enrty to an OpenShift Group's Name
	GroupNameMapper interfaces.LDAPGroupNameMapper
	// Allows the Syncer to search for OpenShift Groups
	GroupClient client.GroupInterface
	// Host stores the address:port of the LDAP server
	Host string
	// DryRun indicates that no changes should be made.
	DryRun bool

	// Out is used to provide output while the sync job is happening
	Out io.Writer
	Err io.Writer
}

LDAPGroupSyncer sync Groups with records on an external LDAP server

func (*LDAPGroupSyncer) Sync

func (s *LDAPGroupSyncer) Sync() ([]*userapi.Group, []error)

Sync allows the LDAPGroupSyncer to be a GroupSyncer

type UnionGroupNameMapper

type UnionGroupNameMapper struct {
	GroupNameMappers []interfaces.LDAPGroupNameMapper
}

func (*UnionGroupNameMapper) GroupNameFor

func (m *UnionGroupNameMapper) GroupNameFor(ldapGroupUID string) (string, error)

type UserDefinedLDAPGroupNameMapper

type UserDefinedLDAPGroupNameMapper struct {
	// contains filtered or unexported fields
}

UserDefinedLDAPGroupNameMapper maps a ldapGroupUID representing an LDAP group to the OpenShift Group name for the resource by using a pre-defined mapping of ldapGroupUID to name (e.g. from a file)

func (*UserDefinedLDAPGroupNameMapper) GroupNameFor

func (m *UserDefinedLDAPGroupNameMapper) GroupNameFor(ldapGroupUID string) (string, error)

Source Files

  • grouplister.go
  • groupnamemapper.go
  • groupsyncer.go
  • usernamemapper.go

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL