Karaage Architecture¶
This document describes the basic Karaage architecture.
Karaage core¶
The core Karaage defines the following db models in the
karaage.models
module.
-
class
karaage.models.
LogEntry
¶ Represents a log entry for any action or comment left on an object.
-
class
karaage.models.
InstituteDelegate
¶ Represents an institute delegate for an institute with extra attributes.
-
class
karaage.models.
Machine
¶ Represents an individual machine or cluster in a machine category.
-
class
karaage.models.
Account
¶ Represents an account for a particular person on a particular machine category.
-
class
karaage.models.
Person
¶ Represents a person who may have one or more accounts. A person is global across all machine categories.
-
class
karaage.models.
Group
¶ Represents a group of people. A group is global accross all machine categories.
-
class
karaage.models.
Project
¶ Represents a project for a set of machine categories. A project is considered global, although is only active on given machine categories.
Karaage Applications plugin¶
Karaage Applications is a plugin that defines additional functionality
used for applications. It defines the following db models in the
karaage.plugins.kgapplications.models
module.
-
class
karaage.plugins.kgapplications.models.
Application
¶ Abstract class that represents any application. Further classes should inherit from this class.
-
class
karaage.plugins.kgapplications.models.
ProjectApplication
¶ Class that is derived from
Application
for project applications.
-
class
karaage.plugins.kgapplications.models.
Applicant
¶ An applicant for an application who doesn’t already have a
karaage.models.Person
entry.
Karaage Software plugin¶
Karaage Software is a plugin that defines additional functionality
used for tracking software. It defines the following db models in the
karaage.plugins.kgsoftware.models
module.
-
class
karaage.plugins.kgsoftware.models.
Software
¶ Represents a particular software package.
-
class
karaage.plugins.kgsoftware.models.
SoftwareCategory
¶ Represents a category of software, for easy searching.
-
class
karaage.plugins.kgsoftware.models.
SoftwareVersion
¶ Repesents a specific version of a software package.
-
class
karaage.plugins.kgsoftware.models.
SoftwareLicense
¶ Represents a license for a software package. A software package may have zero or more licenses. If there are none, the user’ won’t be able to add the software. There there are more then one, the latest is used by default.
-
class
karaage.plugins.kgsoftware.models.
SoftwareLicenseAgreement
¶ Represents the fact a person agreed to a particular
SoftwareLicense
at a particular point in time.
-
class
karaage.plugins.kgsoftware.models.
SoftwareApplication
¶ Class that is derived from
karaage.plugins.kgapplications.models.Application
for applications to access restricted software.
Karaage Usage plugin¶
Karaage Usage is a plugin that defines additional functionality used for tracking cluster usage. It may get rewritten in the future, and you should not rely on anything remaining the same.