Gold User's Guide

Scott Jackson

Pacific Northwest National Laboratory
Version 2.1.8.0

Table of Contents
Notice
Overview
Background
Features
Interfaces
Command Line Clients
Interactive Control Program
Web-based Graphical User Interface
Perl API
SSSRMAP Wire Protocol
Installation
Preparation
Select a Database
Install Prerequisites
PostgreSQL database 7.2 or higher (or other tested database) [REQUIRED]
Perl 5.6.1 or higher (with suidperl) [REQUIRED]
libxml2 2.4.25 or higher [REQUIRED]
Gnu readline 2.0 or higher [OPTIONAL]
Apache Httpd Server 2.0 or higher [OPTIONAL]
OpenSSL 0.9.5a or higher [OPTIONAL]
mod_ssl 2.26 or higher [OPTIONAL]
Configuration
Compilation
Perl Module Dependencies
Installation
General Setup
Database Setup
Web Server Setup
Bootstrap
Startup
Initialization
Getting Started
Define Users
Define Machines
Define Projects
Add Users to the Projects
Make Deposits
Check The Balance
Integrate Gold with your Resource Management System
Obtain A Job Quote
Make A Job Reservation
Charge for a Job
Refund a Job
List Transactions
Examine Account Statement
Examine Project Usage
Getting More Advanced
Define Projects
Define Accounts
Make Deposits
Check The Balance
Define Charge Rates
Obtain A Guaranteed Job Quote
Make A Quoted Job Reservation
Charge for a Quoted Job
Partially Refund a Job
Examine Account Statement
Managing Users
Creating Users
Querying Users
Modifying Users
Deleting Users
Managing Machines
Creating Machines
Querying Machines
Modifying Machines
Deleting Machines
Managing Projects
Creating Projects
Querying Projects
Modifying Projects
Deleting Projects
Project Usage Summary
Managing Accounts
Creating Accounts
Querying Accounts
Modifying Accounts
Making Deposits
Querying The Balance
Personal Balance
Making Withdrawals
Making Transfers
Obtaining an Account Statement
Deleting Accounts
Managing Allocations
Creating Allocations
Querying Allocations
Modifying Allocations
Deleting Allocations
Managing Reservations
Creating Reservations
Querying Reservations
Modifying Reservations
Deleting Reservations
Managing Quotations
Creating Quotations
Querying Quotations
Modifying Quotations
Deleting Quotations
Managing Jobs
Creating Jobs
Querying Jobs
Modifying Jobs
Deleting Jobs
Obtaining Job Quotes
Making Job Reservations
Charging Jobs
Issuing Job Refunds
Managing Charge Rates
Creating ChargeRates
Querying ChargeRates
Modifying Charge Rates
Deleting Charge Rates
Managing Transactions
Querying Transactions
Managing Roles
Querying Roles
Querying Role Users
Querying Role Actions
Creating Roles
Associating an Action with a Role
Adding a Role to a User
Removing an Action from a Role
Removing a Role from a User
Deleting Roles
Managing Passwords
Creating Passwords
Querying Passwords
Modifying Passwords
Deleting Passwords
Using the Gold Shell (goldsh)
Usage
Command Syntax
Valid Objects
Valid Actions for an Object
Valid Predicates for an Object and Action
Common Options
Common Actions Available for most Objects
Query Action
Create Action
Modify Action
Delete Action
Undelete Action
Multi-Object Queries
Customizing Gold Objects
Removing an Attribute from an Object
Adding an Attribute to an Object
Modifying an Attribute
Creating a Custom Object
Adding an Action to an Object
Examples Creating Custom Objects
Integration with the Resource Management System
Dynamic versus Delayed Accounting
Delayed Accounting
Dynamic Accounting
Interaction Points
Job Quotation @ Job Submission Time [Optional — Recommended]
Job Reservation @ Job Start Time [Optional — Highly Recommended]
Job Charge @ Job End Time [Required]
Methods of interacting with Gold
Configuring an application that already has hooks for Gold
Using the appropriate command-line client
Using the Gold control program
Use the Perl API
Communicating via the SSSRMAP Protocol
Configuration Files
Server Configuration
Client Configuration