From 435b97f50bdc1c8a5e48bedf3772fcb16abb3440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 5 Jun 2018 20:54:18 +0200 Subject: Order ldap configuration by priority --- .../base_installation/lib/puppet/functions/ldap_data.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/base_installation/lib/puppet/functions/ldap_data.rb b/modules/base_installation/lib/puppet/functions/ldap_data.rb index 0c92d89..0a6d935 100644 --- a/modules/base_installation/lib/puppet/functions/ldap_data.rb +++ b/modules/base_installation/lib/puppet/functions/ldap_data.rb @@ -30,9 +30,19 @@ Puppet::Functions.create_function(:ldap_data) do filter = "(objectclass=*)" data = {} - connection.search(base, scope, filter) do |entry| - data_ = entry.to_hash - jsons = data_["immaePuppetJson"] || [] + data_array = connection.search2(base, scope, filter, attrs=["immaePuppetJson", "dn"]).map do |entry| + [entry["dn"].first, entry["immaePuppetJson"] || []] + end.sort_by do |dn, json| + if dn == "ou=roles,ou=hosts,dc=immae,dc=eu" + [0, dn] + elsif dn.end_with?("ou=roles,ou=hosts,dc=immae,dc=eu") + [1, dn] + else + [2, dn] + end + end.to_h + + data_array.each do |dn, jsons| jsons.each do |json| data.merge!(JSON.parse(json)) end -- cgit v1.2.3 From 851ca3c6f662e26e949e57669d7962abb6c22510 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 5 Jun 2018 21:14:55 +0200 Subject: Caldance --- modules/base_installation/manifests/users.pp | 8 ++++++++ modules/role/manifests/caldance.pp | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 modules/role/manifests/caldance.pp (limited to 'modules') diff --git a/modules/base_installation/manifests/users.pp b/modules/base_installation/manifests/users.pp index 34df4bd..d0ac449 100644 --- a/modules/base_installation/manifests/users.pp +++ b/modules/base_installation/manifests/users.pp @@ -22,6 +22,13 @@ class base_installation::users ( $users.each |$user| { if ($user["username"] != "root") { + unless $user["shell"] == undef or empty($user["shell"]) { + ensure_packages([$user["shell"]]) + $shell = "/bin/${user[shell]}" + } else { + $shell = undef + } + user { "${user[username]}:${user[userid]}": name => $user[username], uid => $user[userid], @@ -30,6 +37,7 @@ class base_installation::users ( managehome => true, system => !!$user[system], home => "/home/${user[username]}", + shell => $shell, notify => Exec["remove_password:${user[username]}:${user[userid]}"], purge_ssh_keys => true } diff --git a/modules/role/manifests/caldance.pp b/modules/role/manifests/caldance.pp new file mode 100644 index 0000000..75d9dbd --- /dev/null +++ b/modules/role/manifests/caldance.pp @@ -0,0 +1,11 @@ +class role::caldance ( +) { + include "base_installation" + + include "profile::tools" + include "profile::postgresql" + include "profile::apache" + include "profile::redis" + + ensure_packages(["python-pip", "python-virtualenv", "python-django"]) +} -- cgit v1.2.3