# LDAP SSH Public Key schema
# Source: https://blog.oddbit.com/post/2013-07-22-generating-a-membero/
# Notes will need to get our own number https://www.iana.org/assignments/enterprise-numbers/assignment/apply/
# it needs a space at teh end of it, dont remove

dn: cn=skynet-person,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: skynet-person
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.2.1
    NAME 'skMemberOf'
    DESC 'Groups this user is a member of'
    EQUALITY distinguishedNameMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
  )
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.3.1
    NAME 'skMail'
    DESC 'username@skynet.ie'
    EQUALITY caseIgnoreMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  )
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.4.1
    NAME 'skID'
    DESC 'Student ID'
    EQUALITY caseIgnoreMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  )
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.6.1
    NAME 'skCreated'
    DESC 'When the account was created'
    EQUALITY caseIgnoreMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  )
# https://github.com/variablenix/ldap-mail-schema/blob/master/quota.schema
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.8.1
    NAME 'quotaEmail'
    DESC 'Quotas for Email'
    EQUALITY caseIgnoreIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255}
  )
olcAttributeTypes: ( 1.3.6.1.4.1.24441.1.9.1
    NAME 'quotaDisk'
    DESC 'Quotas for Home dir'
    EQUALITY caseIgnoreIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{255}
  )
olcObjectClasses: ( 1.3.6.1.4.1.24441.1.1.1
    NAME 'skPerson'
    DESC 'skynet person'
    SUP top AUXILIARY
    MUST ( skMail $ skCreated )
    MAY ( skMemberOf $ skID $ quotaEmail $ quotaDisk )
  )