Initial QSfera import
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# This file can be used to be added to the qsfera_full example
|
||||
# to browse the LDAP server with a web interface.
|
||||
# This is not a production ready setup.
|
||||
services:
|
||||
ldap-manager:
|
||||
image: phpldapadmin/phpldapadmin:latest
|
||||
networks:
|
||||
qsfera-net:
|
||||
environment:
|
||||
LDAP_HOST: ldap-server
|
||||
LDAP_PORT: 1389
|
||||
LDAP_LOGIN_OBJECTCLASS: "inetOrgPerson"
|
||||
APP_URL: "https://${LDAP_MANAGER_DOMAIN:-ldap.qsfera.test}"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.ldap-manager.entrypoints=https"
|
||||
- "traefik.http.routers.ldap-manager.rule=Host(`${LDAP_MANAGER_DOMAIN:-ldap.qsfera.test}`)"
|
||||
- "traefik.http.routers.ldap-manager.tls.certresolver=http"
|
||||
- "traefik.http.routers.ldap-manager.service=ldap-manager"
|
||||
- "traefik.http.services.ldap-manager.loadbalancer.server.port=8080"
|
||||
logging:
|
||||
driver: ${LOG_DRIVER:-local}
|
||||
restart: always
|
||||
@@ -0,0 +1,39 @@
|
||||
# This LDIF files describes the КуСфера schema
|
||||
dn: cn=qsfera,cn=schema,cn=config
|
||||
objectClass: olcSchemaConfig
|
||||
cn: qsfera
|
||||
olcObjectIdentifier: qsferaOid 1.3.6.1.4.1.63016
|
||||
# We'll use qsferaOid:1 subarc for LDAP related stuff
|
||||
# qsferaOid:1.1 for AttributeTypes and qsferaOid:1.2 for ObjectClasses
|
||||
olcAttributeTypes: ( qsferaOid:1.1.1 NAME 'qsferaUUID'
|
||||
DESC 'A non-reassignable and persistent account ID)'
|
||||
EQUALITY uuidMatch
|
||||
SUBSTR caseIgnoreSubstringsMatch
|
||||
SYNTAX 1.3.6.1.1.16.1 SINGLE-VALUE )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.2 NAME 'qsferaExternalIdentity'
|
||||
DESC 'A triple separated by "$" representing the objectIdentity resource type of the Graph API ( signInType $ issuer $ issuerAssignedId )'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SUBSTR caseIgnoreSubstringsMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.3 NAME 'qsferaUserEnabled'
|
||||
DESC 'A boolean value indicating if the user is enabled'
|
||||
EQUALITY booleanMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE)
|
||||
olcAttributeTypes: ( qsferaOid:1.1.4 NAME 'qsferaUserType'
|
||||
DESC 'User type (e.g. Member or Guest)'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.5 NAME 'qsferaLastSignInTimestamp'
|
||||
DESC 'The timestamp of the last sign-in'
|
||||
EQUALITY generalizedTimeMatch
|
||||
ORDERING generalizedTimeOrderingMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE )
|
||||
olcObjectClasses: ( qsferaOid:1.2.1 NAME 'qsferaObject'
|
||||
DESC 'КуСфера base objectclass'
|
||||
AUXILIARY
|
||||
MAY ( qsferaUUID ) )
|
||||
olcObjectClasses: ( qsferaOid:1.2.2 NAME 'qsferaUser'
|
||||
DESC 'КуСфера User objectclass'
|
||||
SUP qsferaObject
|
||||
AUXILIARY
|
||||
MAY ( qsferaExternalIdentity $ qsferaUserEnabled $ qsferaUserType $ qsferaLastSignInTimestamp) )
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
# This LDIF files describes the LDAP schema related to the Education
|
||||
# endpoints of the libregraph API
|
||||
dn: cn=qsferaEdu,cn=schema,cn=config
|
||||
objectClass: olcSchemaConfig
|
||||
cn: qsferaEdu
|
||||
olcAttributeTypes: ( qsferaOid:1.1.6 NAME 'qsferaMemberOfSchool'
|
||||
DESC 'Used as a backreference to the school(s) to which a user or class is assigned'
|
||||
EQUALITY uuidMatch
|
||||
SYNTAX 1.3.6.1.1.16.1 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.7 NAME 'qsferaEducationExternalId'
|
||||
DESC 'An externally assigned string id for an education related object'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.8 NAME 'qsferaEducationClassType'
|
||||
DESC 'category of a class e.g. "course" or "class"'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.9 NAME 'qsferaEducationTeacherMember'
|
||||
DESC 'references a user who is assigned as a teacher to a class'
|
||||
EQUALITY distinguishedNameMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.10 NAME 'qsferaEducationSchoolNumber'
|
||||
DESC 'An externally assigned identifier for a school'
|
||||
EQUALITY caseIgnoreMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
||||
olcAttributeTypes: ( qsferaOid:1.1.11 NAME 'qsferaEducationSchoolTerminationTimestamp'
|
||||
DESC 'A Timestamp at which a school is considered to be disabled'
|
||||
EQUALITY generalizedTimeMatch
|
||||
ORDERING generalizedTimeOrderingMatch
|
||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
|
||||
olcObjectClasses: ( qsferaOid:1.2.3 NAME 'qsferaEducationUser'
|
||||
DESC 'КуСфера education user objectclass'
|
||||
SUP qsferaUser
|
||||
AUXILIARY
|
||||
MAY ( qsferaEducationExternalId $ userClass $ qsferaMemberOfSchool ) )
|
||||
olcObjectClasses: ( qsferaOid:1.2.4 NAME 'qsferaEducationClass'
|
||||
DESC 'КуСфера education class objectclass'
|
||||
SUP qsferaObject
|
||||
AUXILIARY
|
||||
MAY ( qsferaEducationExternalId $ qsferaEducationClassType $ qsferaEducationTeacherMember $ qsferaMemberOfSchool ) )
|
||||
olcObjectClasses: ( qsferaOid:1.2.5 NAME 'qsferaEducationSchool'
|
||||
DESC 'КуСфера education school objectclass'
|
||||
SUP qsferaObject
|
||||
AUXILIARY
|
||||
MAY ( qsferaEducationSchoolNumber $ qsferaEducationSchoolTerminationTimestamp $ qsferaEducationExternalId) )
|
||||
Reference in New Issue
Block a user