aboutsummaryrefslogtreecommitdiffstats
path: root/modules/catdap
diff options
context:
space:
mode:
Diffstat (limited to 'modules/catdap')
-rw-r--r--modules/catdap/manifests/init.pp43
-rw-r--r--modules/catdap/templates/catdap_local.yml37
-rw-r--r--modules/catdap/templates/catdap_vhost.conf15
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>
+