Repoman-Client 0.2:

Install process:

1.    Install prerequisites
      $ yum install python-setuptools
      $ easy_install pip

2.    Install repoman-client
      $ pip install repoman-client

3.    Copy the file file to your home directory
      $ cp /etc/repoman-client/repoman-client.conf ~/.repoman-client

4.    Edit ~/.repoman-client and change the repository line to point to your Repoman repository in the form https://HOST:PORT.
      Repoman-client will check /tmp/x509up_u%USER_ID% for a proxy certificate to authenticate with the repoman server. If you'd like to override this, uncomment the lines userkey and usercert and specify a location manually.
5.    Run repoman-client with the command repoman.

Repoman-client uses grid certificates to authenticate with the repoman server.
Ensure that you have a valid, RFC-compliant grid proxy certificate before running repoman.
(e.g. $ grid-proxy-init -rfc)

Available Sub-Commands

help | h | --help | -h 
    returns this message

about
    returns information about the client
    
list-users | lu [--long] [--group GROUP]
    list-users 
        list all users
    list-users --group GROUP
        list all the users in GROUP

list-groups | lg [--all] [--long] [--user USER]
    list-groups 
        list current users groups
    list-groups --all 
        list all groups
    list-groups --user USER 
        list all groups USER is part of

list-images | li [--long] [--sharedwith] [--all | --user USER | --group GROUP]
    list-images 
        list the current users images
    list-images --all
        list all images for ALL users
    list-images --sharedwith 
        list all images shared with you
    list-images --user USER 
        list images for the USER
    list-images --sharedwith --user USER 
        list images shared with USER
    list-images --sharedwith --group GROUP
        list images shared with GROUP

create-user | cu --METAVAR VALUE ...
    create a new user based on metadata specified

create-group | cg --METAVAR VALUE ...
    create a new group based on metadata specified

create-image | ci [--file FILE] [--METAVAR VALUE ...]
    create a new image based on metadata specified
    create-image --variable value ... 
        creates the metadata for an image. You need to upload the image seperatly.
    create-image --file FILE --variable value ... 
        creates the image metadata and uploads the file in one go.

modify-user | mu USER [--METAVAR VALUE ...]
    update the user USER with the metadata specified

modify-group | mg GROUP [--METAVAR VALUE ...]
    update the group GROUP with the metadata specified

modify-image | mi [USER/]IMAGE [--METAVAR VALUE ...]
    update the existing image IMAGE with the metadata specified

remove-user | ru USER
    remove the user USER from repoman

remove-group | rg GROUP
    remove the group GROUP from repoman

remove-image | ri [USER/]IMAGE
    remove the image [USER/]IMAGE from repoman

download-image | get [USER/]IMAGE [--dest DEST]
    download the raw image [USER/]IMAGE and optionally save it to DEST

upload-image | ui [USER/]IMAGE --file FILE
    upload FILE to the existing repoman image [USER/]IMAGE

describe-user | du USER
    view the metadata for the user USER

describe-group | dg GROUP
    view the metadata for the group GROUP

describe-image | di [USER/]IMAGE
    view the metadata for the image '[USER/]IMAGE'

share-image | si [USER/]IMAGE (--user USER | --group GROUP)
    share the image [USER/]IMAGE with either GROUP or USER

unshare-image | usi [USER/]IMAGE (--user USER | --group GROUP)
    unshare the image [USER/]IMAGE with either GROUP or USER

add-users-to-group | aug GROUP --users USER1 [USER2 ...]
    add users USER1, USER2, ... to the group GROUP

remove-users-from-group | rug GROUP --users USER1 [USER2 ...]
    remove the users USER1, USER2, ... from the group GROUP

add-permissions | ap GROUP --permissions PERMISSION1 [PERMISSION2 ...]
    add the PERMISSION, PERMISSION2, ... permissions to the group GROUP

remove-permissions | rp GROUP --permissions PERMSISSION1 [PERMISSION2 ...]
    remove the PERMISSION1, PERMISSION2, ... permissions from the group GROUP

whoami
    get the currently logged in user

snapshot-system | ss [--upload] [--force] [--METAVAR VALUE ...]
    snapshot-system 
        snapshot your system locally (to the destination specified in repoman-client.conf), but do not yet bundle for upload
    snapshot-system --upload --name test_image.gz --description "blah blah balh"
        snapshot the system, bundle it and upload it.
    snapshot-system --force --upload --name test_image.gz --description "blah blah balh"
        same as the command without the --force option, with the exception that it will overwrite an existing image if there is a naming conflict.

upload-snapshot | us [--force] --METAVAR VALUE ...
    bundle and upload the latest snapshot
    upload-snapshot --name test_image.gz --description "blah blah balh"
        upload the latest snapshot to the server with the specified metadata.
        if the image destination already exists an error will be generated
    upload-snapshot --force --name test_image.gz --description "blah blah balh"
        the --force option will overwrite an existing image if there is a name conflict

All defaults are set in repoman-client.conf, set in /etc/repoman-client/repoman-client.conf by default (custom may be placed at ~/.repoman-client)
