diff --git a/pillar/gnuviechadmin/gvaldap.sls b/pillar/gnuviechadmin/gvaldap.sls index 45665fd..4673a67 100644 --- a/pillar/gnuviechadmin/gvaldap.sls +++ b/pillar/gnuviechadmin/gvaldap.sls @@ -1,4 +1,5 @@ include: + - gnuviechadmin - gnuviechadmin.queues.common - gnuviechadmin.queues.gvaldap @@ -6,3 +7,5 @@ gnuviechadmin: component: name: gvaldap amqp_user: ldap + ldap_admin_user: ldapadmin + allowed_hosts: 127.0.0.1,gvaldap.local,localhost diff --git a/pillar/gnuviechadmin/init.sls b/pillar/gnuviechadmin/init.sls index d98250c..875b13f 100644 --- a/pillar/gnuviechadmin/init.sls +++ b/pillar/gnuviechadmin/init.sls @@ -11,6 +11,8 @@ gnuviechadmin: osuserhomedirbase: /home osuserdefaultshell: /usr/bin/rssh uploadserver: gvafile.local - webmail_url: https://webmail.example.com/ - phpmyadmin_url: https://phpmyadmin.example.com/ - phppgadmin_url: https://phppgadmin.example.com/ + ldap_domain: gva.local + ldap_url: ldap://gvaldap.local + ldap_base_dn: dc=gva,dc=local + ldap_groups_ou: groups + ldap_users_ou: users diff --git a/pillar/gnuviechadmin/webinterface.sls b/pillar/gnuviechadmin/webinterface.sls index 8eabd28..e562db9 100644 --- a/pillar/gnuviechadmin/webinterface.sls +++ b/pillar/gnuviechadmin/webinterface.sls @@ -1,4 +1,5 @@ include: + - gnuviechadmin - gnuviechadmin.queues.common - gnuviechadmin.queues.gva @@ -7,3 +8,6 @@ gnuviechadmin: name: gva amqp_user: gva python_module: gnuviechadmin + webmail_url: https://webmail.example.com/ + phpmyadmin_url: https://phpmyadmin.example.com/ + phppgadmin_url: https://phppgadmin.example.com/ diff --git a/roots/base/init.sls b/roots/base/init.sls index 3b896aa..b1e98e8 100644 --- a/roots/base/init.sls +++ b/roots/base/init.sls @@ -4,6 +4,7 @@ base-packages: - screen - htop - git + - locales-all /home/vagrant/.screenrc: file.managed: diff --git a/roots/gnuviechadmin/gvaldap.sls b/roots/gnuviechadmin/gvaldap.sls index f600b9f..d38fc8f 100644 --- a/roots/gnuviechadmin/gvaldap.sls +++ b/roots/gnuviechadmin/gvaldap.sls @@ -9,3 +9,11 @@ gvaldap-packages: - libsasl2-dev - require_in: - pkg: gnuviechadmin-packages + +base-ldap-objects: + cmd.script: + - source: salt://gnuviechadmin/gvaldap/create_base_ldap_objects.sh + - template: jinja + - user: root + - group: root + - unless: ldapsearch -Y EXTERNAL -H ldapi:// -b "{{ salt['pillar.get']('gnuviechadmin:ldap_base_dn') }}" "cn={{ salt['pillar.get']('gnuviechadmin:ldap_admin_user') }}" | grep -q numEntries diff --git a/roots/gnuviechadmin/gvaldap/create_base_ldap_objects.sh b/roots/gnuviechadmin/gvaldap/create_base_ldap_objects.sh new file mode 100644 index 0000000..66edc19 --- /dev/null +++ b/roots/gnuviechadmin/gvaldap/create_base_ldap_objects.sh @@ -0,0 +1,91 @@ +#!/bin/sh + +set -e + +{% set base_dn = salt['pillar.get']('gnuviechadmin:ldap_base_dn') %} +{% set ldap_admin_user = salt['pillar.get']('gnuviechadmin:ldap_admin_user') %} +{% set ldap_groups_ou = salt['pillar.get']('gnuviechadmin:ldap_groups_ou') %} +{% set ldap_users_ou = salt['pillar.get']('gnuviechadmin:ldap_users_ou') %} + +# setup password hashing for cleartext input +ldapadd -v -H ldapi:// -Y EXTERNAL -f /etc/ldap/schema/ppolicy.ldif + +ldapmodify -v -H ldapi:// -Y EXTERNAL <