diff options
Diffstat (limited to 'modules/catdap')
-rw-r--r-- | modules/catdap/manifests/init.pp | 43 | ||||
-rw-r--r-- | modules/catdap/templates/catdap_local.yml | 37 | ||||
-rw-r--r-- | modules/catdap/templates/catdap_vhost.conf | 15 |
3 files changed, 95 insertions, 0 deletions
diff --git a/modules/catdap/manifests/init.pp b/modules/catdap/manifests/init.pp new file mode 100644 index 00000000..45cd6221 --- /dev/null +++ b/modules/catdap/manifests/init.pp @@ -0,0 +1,43 @@ +class catdap { + + include subversion + include subversion::client + include apache::mod_fcgid + + $catdap_location = "/var/www/identity" + + # TODO switch to a proper rpm packaging + $rpm_requirement = ['perl-Catalyst-Runtime', +"perl-Catalyst-Action-RenderView", "perl-Catalyst-Model-LDAP-FromAuthentication", "perl-Catalyst-P-A-Store-LDAP", "perl-Catalyst-Plugin-Authentication", "perl-Catalyst-Plugin-Captcha", +"perl-Catalyst-Plugin-ConfigLoader", "perl-Catalyst-Plugin-I18N", "perl-Catalyst-Plugin-Session-Store-File", "perl-Catalyst-Plugin-Static-Simple", +"perl-Catalyst-P-S-State-Cookie", "perl-Catalyst-P-S-Store-File", "perl-Catalyst-Runtime", "perl-Catalyst-View-Email", +"perl-Catalyst-View-TT", "perl-Config-General", "perl-Crypt-CBC", "perl-Data-UUID", +"perl-Email-Valid", "perl-Moose", "perl-namespace-autoclean", "perl-Test-Simple" ] + + package { $rpm_requirement: + ensure => installed + } + + subversion::snapshot { $catdap_location: + source => "svn+ssh://svn.mageia.org/srv/mx2-dd0/svn/soft/identity/CatDap/branches/live" + } + + # add a catdap config file + file { "$catdap_location/catdap_local.yml": + ensure => present, + owner => apache, + mode => 600, + content => template("catdap/catdap_local.yml") + } + + # add a apache vhost + file { "identity.$domain.conf": + path => "/etc/httpd/conf/vhosts.d/$name", + ensure => "present", + owner => root, + group => root, + mode => 644, + notify => Service['apache'], + content => template("catdap/catdap_vhost.conf") + } +} diff --git a/modules/catdap/templates/catdap_local.yml b/modules/catdap/templates/catdap_local.yml new file mode 100644 index 00000000..ec9f2753 --- /dev/null +++ b/modules/catdap/templates/catdap_local.yml @@ -0,0 +1,37 @@ +<% +# domain come from facter + +dc_suffix = 'dc=' + domain.gsub('.',',dc=') + +ldap_server = 'ldap' + domain + +ldap_password = extlookup('catdap_password') + +ldap_account = 'cn=catdap-valstar,ou=System Accounts,' + dc_suffix +%> + +organisation: Mageia +apptitle: Mageia Identity Management +emailfrom: noreply@<%= domain %> + +Model::Proxy: + base: ou=People,<%= dc_suffix %> + dn: <%= ldap_account %> + password: <%= ldap_password %> + +Model::User: + base: <%= dc_suffix %> + host: <%= ldap_server %> + start_tls: 1 + +authentication: + default_realm: ldap + realms: + ldap: + store: + ldap_server: <%= ldap_server %> + binddn: <%= dc_suffix %> + bindpw: <%= ldap_password %> + user_basedn: ou=People,<%= dc_suffix %> + role_basedn: <%= dc_suffix %> + diff --git a/modules/catdap/templates/catdap_vhost.conf b/modules/catdap/templates/catdap_vhost.conf new file mode 100644 index 00000000..6569e164 --- /dev/null +++ b/modules/catdap/templates/catdap_vhost.conf @@ -0,0 +1,15 @@ +<VirtualHost *:80> + ServerName identity.<%= domain %> + # Serve static content directly + DocumentRoot <%= catdap_location %>/root + Alias /static <%= catdap_location %>/root/static + + Alias / <%= catdap_location %>/script/catdap_fastcgi.pl/ + + <Directory <%= catdap_location %>/script> + Options +ExecCGI + SetHandler fcgid-script + Allow from all + </Directory> +</VirtualHost> + |