diff --git a/apacheds/init.sls b/apacheds/init.sls new file mode 100644 index 0000000..db0b247 --- /dev/null +++ b/apacheds/init.sls @@ -0,0 +1,79 @@ +# + +{% from "plnx/apacheds/map.jinja" import ads with context %} +{% from "plnx/java/map.jinja" import java with context %} + +include: + - plnx.java + +Apache Directory Server: + archive.extracted: + - name: {{ads.opt_dir}} + - source: {{ads.src}} + - source_hash: {{ads.chksum}} + - require: + - pkg: {{java.pkg}} + + file.symlink: + - name: {{ads.opt_dir}}/ads + - target: {{ads.opt_dir}}/apacheds-2.0.0.AM26 + +AdsDir0: + file.directory: + - name: "/var/db" + +AdsDirs: + file.directory: + - name: {{ads.instances}} + - require: + - AdsDir0 + +Apache Directory Server Config: + file.managed: + - name: "{{ads.opt_dir}}/ads/bin/setenv.sh" + - source: "salt://plnx/apacheds/templates/setenv.sh.jinja" + - template: jinja + - defaults: + ads_home: {{ads.opt_dir}}/ads + java_home: {{java.java_home}} + java_opts: "" + ads_shutdown_port: "" + ads_instances: {{ads.instances}} + - require: + - AdsDirs + +{% for dval in pillar['apacheds'].instances -%} + {% for key,val in dval.items() %} +ADS Instance{{key}} Dir: + file.directory: + - name: "{{ads.instances}}/{{key}}" + +ADS Instance{{key}} Conf Dir: + file.directory: + - name: "{{ads.instances}}/{{key}}/conf" + +ADS Instance{{key}} Log Props: + file.managed: + - name: "{{ads.instances}}/{{key}}/conf/log4j.properties" + - source: "salt://plnx/apacheds/templates/log4j.properties.jinja" + - template: jinja + - defaults: + log_file: "/tmp/{{key}}.log" + + {%- if not salt['file.file_exists' ](ads.instances +"/" + key + "/conf/config.ldif_migrated") %} +ADS Instance{{key}} New Conf Dir: + file.managed: + - name: "{{ads.instances}}/{{key}}/conf/config.ldif" + - source: "salt://plnx/apacheds/templates/config.ldif.jinja" + - template: jinja + - defaults: + partitionid: tube + partitionsuffix: "dc=planix,dc=org" + ldap_port: 12389 + ads_contextentry: "" + + {%- endif %} + {% endfor %} +{% endfor %} + + diff --git a/apacheds/map.jinja b/apacheds/map.jinja new file mode 100644 index 0000000..1f2bf9b --- /dev/null +++ b/apacheds/map.jinja @@ -0,0 +1,8 @@ +# +{% set ads = { + 'instances': "/var/db/ads", + 'src': "https://archive.apache.org/dist/directory/apacheds/dist/2.0.0.AM26/apacheds-2.0.0.AM26.tar.gz", + 'chksum': "sha256=925D4FEB3693838A0336D5EA2A3AA7945A258CE147F11345AEA2BBE044AF061E" | lower, + 'opt_dir': "/opt"} %} + + diff --git a/apacheds/templates/config.ldif.jinja b/apacheds/templates/config.ldif.jinja new file mode 100644 index 0000000..dc66277 --- /dev/null +++ b/apacheds/templates/config.ldif.jinja @@ -0,0 +1,843 @@ +version: 1 +dn: ou=config +ou: config +objectclass: top +objectclass: organizationalUnit + +dn: ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-directoryService +ads-directoryserviceid: default +ads-dsreplicaid: 1 +ads-dssyncperiodmillis: 15000 +ads-dsPasswordHidden: FALSE +ads-dsallowanonymousaccess: TRUE +ads-dsaccesscontrolenabled: FALSE +ads-dsdenormalizeopattrsenabled: FALSE +ads-enabled: TRUE + +dn: ads-changeLogId=defaultChangeLog,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-changeLog +ads-changeLogId: defaultChangeLog +ads-changeLogExposed: FALSE +ads-enabled: FALSE + +dn: ads-journalId=defaultJournal,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-journal +ads-journalId: defaultJournal +ads-journalFileName: Journal.txt +ads-journalWorkingDir: / +ads-journalRotation: 2 +ads-enabled: FALSE + +dn: ou=interceptors,ads-directoryServiceId=default,ou=config +ou: interceptors +objectclass: organizationalUnit +objectclass: top + +dn: ads-interceptorId=normalizationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 1 +ads-interceptorclassname: org.apache.directory.server.core.normalization.NormalizationInterceptor +ads-interceptorid: normalizationInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +objectclass: ads-authenticationInterceptor +ads-interceptororder: 2 +ads-interceptorclassname: org.apache.directory.server.core.authn.AuthenticationInterceptor +ads-interceptorid: authenticationInterceptor +ads-enabled: TRUE + +dn: ou=authenticators,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +ou: authenticators +objectclass: top +objectclass: organizationalUnit + +dn: ads-authenticatorid=anonymousauthenticator,ou=authenticators,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +ads-authenticatorid: anonymousauthenticator +objectclass: top +objectclass: ads-base +objectClass: ads-authenticator +objectClass: ads-authenticatorImpl +ads-authenticatorClass: org.apache.directory.server.core.authn.AnonymousAuthenticator +ads-baseDn: +ads-enabled: TRUE + +dn: ads-authenticatorid=simpleauthenticator,ou=authenticators,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +ads-authenticatorid: simpleauthenticator +objectclass: top +objectclass: ads-base +objectClass: ads-authenticator +objectClass: ads-authenticatorImpl +ads-authenticatorClass: org.apache.directory.server.core.authn.SimpleAuthenticator +ads-baseDn: +ads-enabled: TRUE + +dn: ads-authenticatorid=strongauthenticator,ou=authenticators,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +ads-authenticatorid: strongauthenticator +objectclass: top +objectclass: ads-base +objectClass: ads-authenticator +objectClass: ads-authenticatorImpl +ads-authenticatorClass: org.apache.directory.server.core.authn.StrongAuthenticator +ads-baseDn: +ads-enabled: TRUE + +dn: ads-authenticatorid=delegatingauthenticator,ou=authenticators,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +ads-authenticatorid: delegatingauthenticator +objectclass: top +objectclass: ads-base +objectClass: ads-authenticator +objectClass: ads-authenticatorImpl +ads-authenticatorClass: org.apache.directory.server.core.authn.DelegatingAuthenticator +ads-baseDn: +ads-enabled: FALSE + +dn: ou=passwordPolicies,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectClass: organizationalUnit +objectClass: top +ou: passwordPolicies + +dn: ads-pwdId=default,ou=passwordPolicies,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectClass: top +objectClass: ads-base +objectClass: ads-passwordPolicy +ads-pwdId: default +ads-pwdSafeModify: FALSE +ads-pwdMaxAge: 0 +ads-pwdFailureCountInterval: 30 +ads-pwdAttribute: userPassword +ads-pwdMaxFailure: 5 +ads-pwdLockout: TRUE +ads-pwdMustChange: FALSE +ads-pwdLockoutDuration: 0 +ads-pwdMinLength: 5 +ads-pwdInHistory: 5 +ads-pwdExpireWarning: 600 +ads-pwdMinAge: 0 +ads-pwdAllowUserChange: TRUE +ads-pwdGraceAuthNLimit: 5 +ads-pwdCheckQuality: 1 +ads-pwdMaxLength: 0 +ads-pwdGraceExpire: 0 +ads-pwdMinDelay: 0 +ads-pwdMaxDelay: 0 +ads-pwdMaxIdle: 0 +ads-pwdValidator: org.apache.directory.server.core.api.authn.ppolicy.DefaultPasswordValidator +ads-enabled: TRUE + +dn: ads-interceptorId=referralInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 3 +ads-interceptorclassname: org.apache.directory.server.core.referral.ReferralInterceptor +ads-interceptorid: referralInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=aciAuthorizationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 4 +ads-interceptorclassname: org.apache.directory.server.core.authz.AciAuthorizationInterceptor +ads-interceptorid: aciAuthorizationInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=defaultAuthorizationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 5 +ads-interceptorclassname: org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor +ads-interceptorid: defaultAuthorizationInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=administrativePointInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 6 +ads-interceptorclassname: org.apache.directory.server.core.admin.AdministrativePointInterceptor +ads-interceptorid: administrativePointInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=exceptionInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 7 +ads-interceptorclassname: org.apache.directory.server.core.exception.ExceptionInterceptor +ads-interceptorid: exceptionInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=keyDerivationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-enabled: FALSE +ads-interceptororder: 8 +ads-interceptorclassname: org.apache.directory.server.core.kerberos.KeyDerivationInterceptor +ads-interceptorid: keyDerivationInterceptor + +dn: ads-interceptorId=passwordHashingInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +objectclass: ads-hashInterceptor +ads-enabled: TRUE +ads-interceptororder: 9 +ads-interceptorclassname: org.apache.directory.server.core.hash.ConfigurableHashingInterceptor +ads-interceptorid: passwordHashingInterceptor +ads-hashAlgorithm: SSHA +ads-hashAttribute: 2.5.4.35 + +dn: ads-interceptorId=schemaInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 10 +ads-interceptorclassname: org.apache.directory.server.core.schema.SchemaInterceptor +ads-interceptorid: schemaInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=operationalAttributeInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 11 +ads-interceptorclassname: org.apache.directory.server.core.operational.OperationalAttributeInterceptor +ads-interceptorid: operationalAttributeInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=collectiveAttributeInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 12 +ads-interceptorclassname: org.apache.directory.server.core.collective.CollectiveAttributeInterceptor +ads-interceptorid: collectiveAttributeInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=subentryInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 13 +ads-interceptorclassname: org.apache.directory.server.core.subtree.SubentryInterceptor +ads-interceptorid: subentryInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=eventInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 14 +ads-interceptorclassname: org.apache.directory.server.core.event.EventInterceptor +ads-interceptorid: eventInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=triggerInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 15 +ads-interceptorclassname: org.apache.directory.server.core.trigger.TriggerInterceptor +ads-interceptorid: triggerInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=journalInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 16 +ads-interceptorclassname: org.apache.directory.server.core.journal.JournalInterceptor +ads-interceptorid: journalInterceptor +ads-enabled: TRUE + +dn: ads-interceptorId=numberInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-interceptor +ads-interceptororder: 17 +ads-interceptorclassname: org.apache.directory.server.core.number.NumberIncrementingInterceptor +ads-interceptorId: numberInterceptor +ads-enabled: FALSE + +dn: ou=partitions,ads-directoryServiceId=default,ou=config +ou: partitions +objectclass: organizationalUnit +objectclass: top + +dn: ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +objectclass: top +objectClass: ads-base +objectclass: ads-partition +objectclass: ads-jdbmPartition +ads-partitionSuffix: ou=system +ads-jdbmpartitionoptimizerenabled: TRUE +ads-partitioncachesize: 10000 +ads-partitionsynconwrite: TRUE +ads-partitionid: system +ads-enabled: TRUE + +dn: ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ou: indexes +objectclass: organizationalUnit +objectclass: top + +dn: ads-indexAttributeId=apacheRdn,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheRdn +ads-indexHasReverse: TRUE +ads-indexcachesize: 1000 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apachePresence,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apachePresence +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheOneAlias,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheOneAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheSubAlias,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheSubAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheAlias,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=objectClass,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: objectClass +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=entryCSN,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: entryCSN +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=ou,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: ou +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=uid,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: uid +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=administrativeRole,ou=indexes,ads-partitionId=system,ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: administrativeRole +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +objectclass: top +objectClass: ads-base +objectclass: ads-partition +objectclass: ads-jdbmPartition +ads-partitionSuffix: {{ partitionsuffix }} +ads-contextentry:: {{ ads_contextentry }} +ads-jdbmpartitionoptimizerenabled: TRUE +ads-partitioncachesize: 10000 +ads-partitionsynconwrite: TRUE +ads-partitionid: {{ partitionid }} +ads-enabled: TRUE + +dn: ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ou: indexes +objectclass: organizationalUnit +objectclass: top + +dn: ads-indexAttributeId=apacheRdn,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheRdn +ads-indexHasReverse: TRUE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apachePresence,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apachePresence +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheOneAlias,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheOneAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheSubAlias,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheSubAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=apacheAlias,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: apacheAlias +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=dc,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: dc +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=krb5PrincipalName,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: krb5PrincipalName +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=objectClass,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: objectClass +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=entryCSN,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: entryCSN +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=ou,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: ou +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=uid,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: uid +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-indexAttributeId=administrativeRole,ou=indexes,ads-partitionId={{ partitionid }},ou=partitions,ads-directoryServiceId=default,ou=config +ads-indexattributeid: administrativeRole +ads-indexHasReverse: FALSE +ads-indexcachesize: 100 +objectclass: ads-index +objectclass: ads-jdbmIndex +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ou=servers,ads-directoryServiceId=default,ou=config +ou: servers +objectclass: organizationalUnit +objectclass: top + +dn: ads-serverId=changePasswordServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: ads-server +objectclass: ads-changePasswordServer +objectclass: ads-dsBasedServer +objectclass: ads-base +objectclass: top +ads-serverid: changePasswordServer +ads-enabled: FALSE + +dn: ou=transports,ads-serverId=changePasswordServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: transports +objectclass: organizationalUnit +objectclass: top + +dn: ads-transportId=tcp,ou=transports,ads-serverId=changePasswordServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: 60464 +ads-transportnbthreads: 2 +ads-transportaddress: 0.0.0.0 +ads-transportid: tcp +objectclass: ads-transport +objectclass: ads-tcpTransport +objectClass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-transportId=udp,ou=transports,ads-serverId=changePasswordServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: 60464 +ads-transportnbthreads: 2 +ads-transportaddress: 0.0.0.0 +ads-transportid: udp +objectclass: ads-transport +objectclass: ads-udpTransport +objectClass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-serverid: httpServer +ads-enabled: FALSE +objectclass: ads-server +objectclass: ads-httpServer +objectclass: ads-base +objectclass: top + +dn: ou=transports,ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: transports +objectclass: organizationalUnit +objectclass: top + +dn: ads-transportid=http,ou=transports,ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-transport +objectclass: ads-tcpTransport +ads-transportid: http +ads-systemport: 8080 +ads-transportaddress: 0.0.0.0 +ads-enabled: TRUE + +dn: ads-transportid=https,ou=transports,ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: top +objectclass: ads-base +objectclass: ads-transport +objectclass: ads-tcpTransport +ads-transportid: https +ads-transportaddress: 0.0.0.0 +ads-systemport: 8443 +ads-enabled: TRUE + +dn: ou=httpWebApps,ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: organizationalUnit +objectclass: top +ou: httpWebApps + +dn: ads-id=testapp,ou=httpWebApps,ads-serverId=httpServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-httpwarfile: /path/to/foo/war +ads-httpappctxpath: /foo +ads-id: testapp +objectclass: ads-httpWebApp +objectclass: ads-base +objectclass: top +ads-enabled: FALSE + +dn: ads-serverId=kerberosServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: ads-server +objectclass: ads-kdcServer +objectclass: ads-dsBasedServer +objectclass: ads-base +objectclass: top +ads-serverid: kerberosServer +ads-enabled: FALSE +ads-krbAllowableClockSkew: 300000 +ads-krbBodyChecksumVerified: TRUE +ads-krbEmptyAddressesAllowed: TRUE +ads-krbEncryptionTypes: aes128-cts-hmac-sha1-96 +ads-krbEncryptionTypes: des3-cbc-sha1-kd +ads-krbEncryptionTypes: des-cbc-md5 +ads-krbForwardableAllowed: TRUE +ads-krbmaximumrenewablelifetime: 604800000 +ads-krbMaximumTicketLifetime: 86400000 +ads-krbPaEncTimestampRequired: TRUE +ads-krbPostdatedAllowed: TRUE +ads-krbPrimaryRealm: EXAMPLE.COM +ads-krbProxiableAllowed: TRUE +ads-krbRenewableAllowed: TRUE +ads-searchBaseDN: ou=users,dc=example,dc=com + +dn: ou=transports,ads-serverId=kerberosServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: transports +objectclass: organizationalUnit +objectclass: top + +dn: ads-transportid=tcp,ou=transports,ads-serverId=kerberosServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: 60088 +ads-transportnbthreads: 4 +ads-transportaddress: 0.0.0.0 +ads-transportid: tcp +objectclass: ads-transport +objectClass: ads-base +objectclass: ads-tcpTransport +objectclass: top +ads-enabled: TRUE + +dn: ads-transportid=udp,ou=transports,ads-serverId=kerberosServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: 60088 +ads-transportnbthreads: 4 +ads-transportaddress: 0.0.0.0 +ads-transportid: udp +objectclass: ads-transport +objectclass: ads-udpTransport +objectClass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +objectclass: ads-server +objectclass: ads-ldapServer +objectclass: ads-dsBasedServer +objectclass: ads-base +objectclass: top +ads-serverId: ldapServer +ads-confidentialityRequired: FALSE +ads-maxSizeLimit: 1000 +ads-maxTimeLimit: 15000 +ads-maxpdusize: 2000000 +ads-saslHost: ldap.example.com +ads-saslPrincipal: ldap/ldap.example.comEXAMPLE.COM +ads-saslRealms: example.com +ads-saslRealms: apache.org +ads-searchBaseDN: ou=users,ou=system +ads-replEnabled: true +ads-replPingerSleep: 5 +ads-enabled: TRUE + +dn: ou=replConsumers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +objectClass: organizationalUnit +objectClass: top +ou: replConsumers + +dn: ou=transports,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: transports +objectclass: organizationalUnit +objectclass: top + +dn: ads-transportid=ldap,ou=transports,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: {{ ldap_port }} +ads-transportnbthreads: 8 +ads-transportaddress: 0.0.0.0 +ads-transportid: ldap +objectclass: ads-transport +objectclass: ads-tcpTransport +objectClass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-transportid=ldaps,ou=transports,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-systemport: 10636 +ads-transportenablessl: TRUE +ads-transportaddress: 0.0.0.0 +ads-transportid: ldaps +objectclass: ads-transport +objectclass: ads-tcpTransport +objectClass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: extendedOpHandlers +objectclass: organizationalUnit +objectclass: top + +dn: ads-extendedOpId=gracefulShutdownHandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: gracefulShutdownHandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.GracefulShutdownHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-extendedOpId=starttlshandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: starttlshandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.StartTlsHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-extendedOpId=storedprochandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-enabled: FALSE +ads-extendedOpId: storedprochandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.StoredProcedureExtendedOperationHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top + +dn: ads-extendedOpId=pwdModifyHandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: pwdModifyHandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.PwdModifyHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-extendedOpId=whoAmIHandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: whoAmIHandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.WhoAmIHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-extendedOpId=startTransactionHandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: startTransactionHandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.StartTransactionHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ads-extendedOpId=endTransactionHandler,ou=extendedOpHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-extendedOpId: endTransactionHandler +ads-extendedOpHandlerclass: org.apache.directory.server.ldap.handlers.extended.EndTransactionHandler +objectclass: ads-extendedOpHandler +objectclass: ads-base +objectclass: top +ads-enabled: TRUE + +dn: ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ou: saslMechHandlers +objectclass: organizationalUnit +objectclass: top + +dn: ads-saslMechName=CRAM-MD5,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.cramMD5.CramMd5MechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: CRAM-MD5 +ads-enabled: TRUE + +dn: ads-saslMechName=DIGEST-MD5,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.digestMD5.DigestMd5MechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: DIGEST-MD5 +ads-enabled: TRUE + +dn: ads-saslMechName=GSS-SPNEGO,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.ntlm.NtlmMechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: GSS-SPNEGO +ads-ntlmMechProvider: com.foo.Bar +ads-enabled: TRUE + +dn: ads-saslMechName=GSSAPI,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.gssapi.GssapiMechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: GSSAPI +ads-enabled: TRUE + +dn: ads-saslMechName=NTLM,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.ntlm.NtlmMechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: NTLM +ads-ntlmMechProvider: com.foo.Bar +ads-enabled: TRUE + +dn: ads-saslMechName=SIMPLE,ou=saslMechHandlers,ads-serverId=ldapServer,ou=servers,ads-directoryServiceId=default,ou=config +ads-saslMechClassName: org.apache.directory.server.ldap.handlers.sasl.SimpleMechanismHandler +objectclass: ads-saslMechHandler +objectclass: ads-base +objectclass: top +ads-saslMechName: SIMPLE +ads-enabled: TRUE diff --git a/apacheds/templates/log4j.properties.jinja b/apacheds/templates/log4j.properties.jinja new file mode 100644 index 0000000..d193c9e --- /dev/null +++ b/apacheds/templates/log4j.properties.jinja @@ -0,0 +1,17 @@ +# +# managed by puppet +# + +log4j.rootCategory=WARN, F, stdout + +log4j.appender.F=org.apache.log4j.RollingFileAppender +log4j.appender.F.File={{ log_file }} +log4j.appender.F.MaxFileSize=100MB +log4j.appender.F.MaxBackupIndex=3 +log4j.appender.F.layout=org.apache.log4j.PatternLayout +log4j.appender.F.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n + diff --git a/apacheds/templates/setenv.sh.jinja b/apacheds/templates/setenv.sh.jinja new file mode 100644 index 0000000..537db14 --- /dev/null +++ b/apacheds/templates/setenv.sh.jinja @@ -0,0 +1,7 @@ +#!/bin/bash + +JAVA_HOME={{java_home}} +JAVA_OPTS={{java_opts}} +ADS_HOME={{ads_home}} +ADS_INSTANCES={{ads_instances}} +ADS_SHUTDOWN_PORT={{ads_shutdown_port}}