storage.yml 1.96 KB
:DsAdmin::Storage::Ldap:
  :con:
    :host: 'host.weird-web-workers.org'
    :port: 389

  :DsAdmin::Model::User:
    :query:
      :base:   'ou=user,o=system,dc=weird-web-workers,dc=org'
      :filter: '(objectClass=posixAccount)'

    :objectClass:
      - 'account'
      - 'posixAccount'
      - 'shadowAccount'

    :dnPat: "uid=#{:name}"

    :map:
      :uid:           :name
      :userpassword:  :pass
      :uidnumber:     :uid
      :gidnumber:     :gid
      :loginshell:    :shell
      :homedirectory: :home

  :DsAdmin::Model::Group:
    :query:
      :base:   'ou=group,o=system,dc=weird-web-workers,dc=org'
      :filter: '(objectClass=posixGroup)'

    :objectClass: 'posixGroup'

    :dnPat: "cn=#{:name}"

    :map:
      :cn:        :name
      :gidnumber: :gid
      :memberuid: :members

  :DsAdmin::Model::Site:
    :query:
      :base:   'o=hosting,dc=weird-web-workers,dc=org'
      :filter: '(&(objectClass=organization)(!(o=hosting)))'

    :objectClass: 'organization'

    :dnPat: "o=#{:name}"

    :map:
      :o: :name

  :DsAdmin::Model::MailAliasRole:
    :query:
      :base:   'o=hosting,dc=weird-web-workers,dc=org'
      :filter: '(&(objectClass=MailAlias)(objectClass=organizationalrole))'

    :objectClass:
      - 'organizationalRole'
      - 'MailAlias'

    :dnPat: "cn=#{:user},o=#{:mail|sub(/.*@/, '')}"

    :map:
      :cn: :user

  :DsAdmin::Model::MailAliasPerson:
    :query:
      :base:   'o=hosting,dc=weird-web-workers,dc=org'
      :filter: '(&(objectClass=MailAlias)(objectClass=person))'

    :objectClass: 
      - 'person'
      - 'MailAlias'

    :dnPat: "mail=#{:mail},o=#{:mail|sub(/.*@/, '')}"

    :map:
      :sn: :surname
      :cn: :name

  :DsAdmin::Model::MailAccount:
    :query:
      :base:   'o=hosting,dc=weird-web-workers,dc=org'
      :filter: '(objectClass=mailAccount)'

    :objectClass: 
      - 'person'
      - 'MailAccount'

    :dnPat: "mail=#{:mail},o=#{:mail|sub(/.*@/, '')}"

    :map:
      :homedirectory: :home