Groups

An Igor group is a collection of Igor users. It’s that simple. Igor maintains its own process of creating and maintaining groups since this feature is dynamic and can’t rely on an outside service like LDAP. Any user can create a group and add members to it. The group owner maintains the power of modifying a group, but they can also transfer ownership to another Igor user, if needed.

Groups are used throughout Igor to provide command and control access to reservations, distros, and other resources for multiple people.

Viewing Groups

To get started with groups, you can view groups with a normal show command. The base command hides member names for brevity. You can display members by adding the -m flag.

$ igor group show
$ igor group show -m

Creating a new Group

To create a new group, issue the following command with list of usernames that you want to include. The list doesn’t have to include yourself; the group creator will automatically be added. An optional description can help clarify what the group is being used for. Groups along with their descriptions are visible to all Igor users, but membership in groups is only visible to members and admins.

igor group create NAME [-m USER1,USER2…] [--desc "optional description"]

Example:

$ igor group create Avengers -m ironman,hawkeye,thor,blackwidow --desc "The world's mightiest heroes"

Of course you may not know the usernames you wish to populate your group with. If you need to look someone up you can grab a list of all Igor users by running the command:

$ igor user show -a

If the full name field is populated it can be helpful in identifying usernames for your group creation or modification commands.

Modifying a Group

Sometimes a group needs to be modified when members join and leave or an owner wants to hand over the group to another Igor user.

Adding/Removing Users

Use the -a and the -r flags to add or remove members from a group you own. Multiple users are declared with comma-delimited lists.

$ igor group edit Avengers -a hulk,antman
$ igor group edit Avengers -r vision,wanda

Transferring Ownership

To make another Igor user the owner of a group, use -o flag followed by their username. The new owner doesn’t have to be a current group member. If they are not, they will be automatically added to the group when the command is executed.

$ igor group edit Avengers -o minime

Deleting a Group

Deleting a group is simple.

igor group del NAME

$ igor group del Avengers
If you delete a group that is attached to reservations or distros, then that group will be removed from the access list of those resources. In each case the resource will only be accessible by the owner unless, for example, a distro has more than one group.