index 610c6252a1e1f4fb14e7ab7a52cc328579f414c2..5bfbcd8a7cb1f254921e4214cc92116407211b50 100644 (file)
# F A I - Fully automatic installation LDAP schema file #
# #
#-----------------------------------------------------------------------------#
-# Date: 20050902 #
+# Last modified: Cajus Pollmeier / 20050902 #
#-----------------------------------------------------------------------------#
# Copyright 2005, Cajus Pollmeier <cajus@debian.org> #
# Thomas Lange <lange@debian.org> #
#
# Objectclasses | Attributes
# -----------------------------------------------------------------------------
-# FAIclass | cn,description
-# FAIprofile | (inherit from FAIclass)
-# FAIprofileEntry | FAIclass, FAIpriority
+# FAIclass | cn,description,FAIclassType
+# FAIprofile | FAIclass
# FAIhook | (inherit from FAIclass)
# FAIhookEntry | FAIscript, FAItask
# FAIscript | (inherit from FAIclass)
# FAIvariableEntry | FAIvariableContent
# FAItemplate | (inherit from FAIclass)
# FAItemplateEntry | FAItemplateFile, FAItemplatePath, FAIowner, FAImode
-# FAIpartition | (inherit from FAIclass)
+# FAIpartitionTable | (inherit from FAIclass)
# FAIpartitionDisk | (inherit from FAIclass)
# FAIpartitionEntry | FAIpartitionType, FAIpartitionNr, FAImountOptions,
-# | FAIfsOptions, FAIfsType, FAImountPoint
+# | FAIfsOptions, FAIfsType, FAImountPoint,FAIpartitionSize,
+# | FAIpartitionFlag
# FAIpackageList | FAIinstallMethod, FAIpackage
# FAIdebconfInfo | FAIvariable, FAIvariableContent, FAIvariableType
# FAIobject | FAIclass, FAIstatus, macAddress
+# FAIrepository | FAIdebianMirror, FAIdebianRelease, FAIdebianSection
+# FAIrepositoryServer | FAIrepository
#
# Rem.: Except of FAIdebconfInfo and FAIobject, all object classes are inherited
# from FAIclass, so ALL cn's MUST be unique in your tree.
-# Example tree in foobar.org, dn's of subtrees have been stripped for reasons
-# of a better readability. The tree may be used to get an idea of how data is
-# organized in the tree, use the contributed ldif file to load more detailed
-# entries in your LDAP server or brain.
-#
-# dc=foobar,dc=org
-# |-ou=somewhere
-# | |-ou=accounts
-# | |-ou=hosts
-# | | |-cn=detritus
-# | | | |-objectClass: FAIobject
-# | | | |-description: Host entry for a rock solid server
-# | | | |-macAddress: 00:11:8C:70:AC:01
-# | | | |-FAIclass: FAIBASE
-# | | | |-FAIclass: SRVPART
-# | | | |-FAIclass: SRVBASE
-# | | | |-FAIClass: SRVWWW
-# | | | `-...
-# | | `-cn=rincewind
-# | | |-objectClass: FAIobject
-# | | |-description: Hostentry for a casemodded workstation
-# | | |-macAddress: 00:08:15:47:11:00
-# | | `-FAIclass: WSDEFAULT
-# ¦ `-ou=fai-configs
-# . |-cn=WSDEFAULT
-# | |-objectClass: FAIprofile
-# | |-description: Workstation default profile
-# | |-cn=FAIBASE
-# | | |-objectClass: FAIprofileEntry
-# | | |-FAIclass: FAIBASE
-# | | `-FAIpriority: 0
-# | |-cn=WSPART
-# | | |-objectClass: FAIprofileEntry
-# | | |-FAIclass: WSPART
-# | ¦ `-FAIpriority: 1
-# |
-# |-cn=SRVPART
-# | |-objectClass: FAIpartition
-# | |-description: Common partition table for servers
-# | |-cn=disk1
-# | | |-objectClass: FAIpartitionDisk
-# | | |-FAImountPoint=/
-# | | | |-objectClass: FAIpartitionEntry
-# | | | |-FAIpartitionType: primary
-# | | | |-FAIpartitionNr: 1
-# | | | `-FAIfsType: ext3
-# | ¦ `-...
-# |
-# |-cn=SRVBASE
-# | |-objectClass: FAIpackageList
-# | |-description: Server base package list
-# | |-FAIinstallMethod: recommend
-# | |-FAIpackage=adduser
-# | | |-FAIvariable=adduser/homedir-permission
-# | | | |-FAIvariableContent: false
-# | | | `-FAIvariableType: boolean
-# | | `-...
-# | |-FAIpackage: apache2-common
-# | `-...
-# |
-# |-cn=SRVWWW
-# | |-objectClass: FAIscript
-# | |-description: A set of scripts that configure something
-# | |-cn=apache
-# | | |-objectClass: FAIscriptEntry
-# | ¦ `-FAIscript:: [base64 encoded sciript]
-# |
-# |-cn=WSVARSET
-# | |-objectClass: FAIvariable
-# | |-description: Variable set for workstations
-# | |-cn=rootpw
-# ¦ | |-objectClass: FAIvariableEntry
-# ¦ `-FAIvariableContent: i00u1aVIB4cIo
-
-
##
## Attribute definitions (allocated from the GONICUS oid space)
##
# Description: Store multiline text, mostly used for scripts and hooks.
attributetype ( 1.3.6.1.4.1.10098.1.1.5.9 NAME 'FAIscript'
DESC 'General storage field for multiline text aka scripts'
- EQUALITY caseIgnoreIA5Match
- SUBSTR caseIgnoreIA5SubstringsMatch
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE)
# Name : FAItask
# Description: Assign a hook to a special task. You can use it i.e. to alter
# way like 775.
attributetype ( 1.3.6.1.4.1.10098.1.1.5.19 NAME 'FAImode'
DESC 'Store template file storage path'
- EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE)
# Name : FAIstatus
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+# Name : FAIpartitionSize
+# Description: Store a size or a size range for partitions. I.e. 50,
+# 50-200.
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.22 NAME 'FAIpartitionSize'
+ DESC 'Store size range for partition size'
+ EQUALITY caseIgnoreIA5Match
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+
+# Name : FAIpartitionFlags
+# Description: Optionally this flag contains the "preserve" keyword, in
+# order to influence partitioning.
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.23 NAME 'FAIpartitionFlags'
+ DESC 'Optional flags like "preserve"'
+ EQUALITY caseIgnoreIA5Match
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+
+# Name : FAIdebianMirror
+# Description: Used for bootstrap sources.list settings. It contains
+# the mirror server url.
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.24 NAME 'FAIdebianMirror'
+ DESC 'TODO'
+ EQUALITY caseIgnoreIA5Match
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+
+# Name : FAIdebianRelease
+# Description: Used for bootstrap sources.list settings. It contains
+# the release.
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.25 NAME 'FAIdebianRelease'
+ DESC 'TODO'
+ EQUALITY caseIgnoreIA5Match
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
+
+# Name : FAIdebianSection
+# Description: Used for bootstrap sources.list settings. It contains
+# the section. Multiple Sections get appended.
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.26 NAME 'FAIdebianSection'
+ DESC 'TODO'
+ EQUALITY caseIgnoreIA5Match
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
+
+# Name : FAIrepository
+# Description: Used to store repository settings
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.27 NAME 'FAIrepository'
+ DESC 'TODO'
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
+
+# Name : FAIstate
+# Description: Used to store repository state (branched/freezed)
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.28 NAME 'FAIstate'
+ DESC 'TODO'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
+
+# Name : FAIrelease
+# Description: Used to store the release
+attributetype ( 1.3.6.1.4.1.10098.1.1.5.29 NAME 'FAIrelease'
+ DESC 'TODO'
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
+
##
## Object class definitions (allocated from the GONICUS oid space)
##
objectclass (1.3.6.1.4.1.10098.1.2.1.40.1 NAME 'FAIclass'
SUP top STRUCTURAL
DESC 'Generic class parent for FAI objects'
- MUST ( cn ) MAY ( description ) )
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIprofile
# Description: FAIprofile which bundles a set of FAIclass entries
# to simplify administration tasks for so called junior
# administrators.
objectclass (1.3.6.1.4.1.10098.1.2.1.40.2 NAME 'FAIprofile'
- SUP FAIclass STRUCTURAL
- DESC 'FAI profile container for multiple class objects' )
-
-# Name : FAIprofileEntry
-# Description: FAIprofileEntry is one subentry inside a FAIprofile.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIprofileEntry'
- SUP FAIprofile STRUCTURAL
- DESC 'One class object stored under FAIprofile'
- MUST ( FAIclass $ FAIpriority ) )
+ SUP top AUXILIARY
+ DESC 'FAI profile container for multiple class objects'
+ MUST ( cn $ FAIclass ) MAY ( FAIstate $ description ) )
-# Name : FAIpartition
+# Name : FAIpartitionTable
# Description: Each installation profile should contain a partition
# table in order to perform well. FAIpartitionTable is
# a container for partition entries.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionTable'
- SUP FAIclass STRUCTURAL
- DESC 'Stores FAI partition tables' )
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIpartitionTable'
+ SUP top AUXILIARY
+ DESC 'Stores FAI partition tables'
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIpartitionDisk
# Description: Each installation profile should contain a partition
# table in order to perform well. FAIpartitionTable is
# a container for partition entries.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionDisk'
- SUP FAIclass STRUCTURAL
- DESC 'Stores FAI partition tables' )
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionDisk'
+ SUP top AUXILIARY
+ DESC 'Stores FAI partition tables'
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIpartitionEntry
# Description: This object defines a single partition entry for the
# FAI partitioner.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIpartitionEntry'
- SUP FAIpartitionTable STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionEntry'
+ SUP top AUXILIARY
DESC 'One partition table entry'
MUST ( FAIpartitionType $ FAIpartitionNr $ FAIfsType $
- FAImountPoint )
- MAY ( FAImountOptions $ FAIfsOptions ) )
+ FAImountPoint $ FAIpartitionSize $ cn )
+ MAY ( FAImountOptions $ FAIfsOptions $ FAIpartitionFlags $
+ description $ FAIstate ) )
# Name : FAIhook
# Description: Container for hooks
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhook'
- SUP FAIclass STRUCTURAL
- DESC 'Stores FAI partition tables' )
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIhook'
+ SUP top AUXILIARY
+ DESC 'Stores FAI partition tables'
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIhookEntry
# Description: Hooks are stored with their FAI task inside the
# FAIhook object.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIhookEntry'
- SUP FAIclass STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhookEntry'
+ SUP top AUXILIARY
DESC 'FAI hook storage'
- MUST ( FAIscript $ FAItask ) )
+ MUST ( cn $ FAIscript $ FAItask ) MAY ( FAIstate $ description ) )
-# Name : FAIscript
+# Name : FAIscriptEntry
# Description: Container for scripts
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript'
- SUP FAIclass STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIscriptEntry'
+ SUP top AUXILIARY
DESC 'FAI script storage'
- MUST ( FAIscript $ FAIpriority ) )
+ MUST ( cn $ FAIscript $ FAIpriority ) MAY ( FAIstate $ description ) )
-# Name : FAIscriptEntry
+# Name : FAIscript
# Description: Hooks and scripts are somewhat similar.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIscriptEntry'
- SUP FAIclass STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript'
+ SUP top AUXILIARY
DESC 'FAI script storage'
- MUST ( FAIscript $ FAIpriority ) )
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIvariable
# Description: Store a set of variables in this container.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariable'
- SUP FAIclass STRUCTURAL
- DESC 'Stores FAI variables sub entries' )
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIvariable'
+ SUP top AUXILIARY
+ DESC 'Stores FAI variables sub entries'
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAIvariableEntry
# Description: Stores a single variable.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIvariableEntry'
- SUP FAIvariable STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariableEntry'
+ SUP top AUXILIARY
DESC 'Stores single variable entries'
- MUST ( FAIvariableContent ) )
+ MUST ( cn $ FAIvariableContent ) MAY ( FAIstate $ description ) )
# Name : FAIpackagelist
# Description: Stores a complete package list and is container
# for several FAIdebconfInfo scripts
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAIpackageList'
- SUP FAIclass STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIpackageList'
+ SUP top AUXILIARY
DESC 'Stores complete package lists'
- MUST ( FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod ) )
+ MUST ( cn $ FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod $ description $ FAIstate ) )
# Name : FAItemplate
# Description: Container for template objects.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplate'
- SUP FAIclass STRUCTURAL
- DESC 'Container for template objects' )
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAItemplate'
+ SUP top AUXILIARY
+ DESC 'Container for template objects'
+ MUST ( cn ) MAY ( FAIstate $ description ) )
# Name : FAItemplateEntry
# Description: Stores FAI templates and the corresponding path.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAItemplateEntry'
- SUP FAItemplate STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplateEntry'
+ SUP top AUXILIARY
DESC 'Stores real file templates'
- MUST ( FAItemplateFile $ FAItemplatePath ) )
+ MUST ( cn $ FAItemplateFile $ FAItemplatePath $ FAIowner $ FAImode )
+ MAY ( FAIstate $ description ) )
# Name : FAIdebconfInfo
# Description: Stores debconf information like shown in
# debconf-getselections.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIdebconfInfo'
- SUP FAIclass STRUCTURAL
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAIdebconfInfo'
+ SUP top STRUCTURAL
DESC 'Stores debconf informations for single packages'
- MUST ( FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent ) )
+ MUST ( FAIpackage $ FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent $ FAIstate ) )
# Name : FAIobject
# Description: Marks objects to have a set of FAI classes.
-objectclass (1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIobject'
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIobject'
SUP top AUXILIARY
DESC 'Marks an object as an FAI object.'
- MUST ( FAIclass $ macAddress ) MAY ( FAIstatus ) )
+ MAY ( FAIstate $ FAIstatus $ FAIclass $ FAIdebianMirror $ macAddress) )
+
+# Name : FAIrepository
+# Description: Marks objects to have a set of FAI classes.
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIrepository'
+ SUP top AUXILIARY
+ DESC 'Provides per object repository informations.'
+ MUST ( FAIdebianRelease $ FAIdebianSection ) MAY ( FAIdebianMirror ) )
+
+# Name : FAIrepositoryServer
+# Description: FAIrepositoryServer stores information about repository settings.
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.18 NAME 'FAIrepositoryServer'
+ SUP top AUXILIARY
+ DESC 'Provides repository informations.'
+ MAY ( FAIrepository ) )
+
+# Name : FAIbranch
+# Description: FAIbranch stores information about the state of a set of FAI classes.
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.19 NAME 'FAIbranch'
+ SUP top AUXILIARY
+ DESC 'Provides information for versioning.'
+ MAY ( FAIstate ) )
+
+# Name : FAIreleaseTag
+# Description: FAIreleaseTag stores information about the fai release of an object.
+objectclass (1.3.6.1.4.1.10098.1.2.1.40.20 NAME 'FAIreleaseTag'
+ SUP top AUXILIARY
+ DESC 'Provides information for versioning.'
+ MAY ( FAIrelease ) )
### END of FAI schema file