aboutsummaryrefslogtreecommitdiffstats
path: root/modules/phpbb
diff options
context:
space:
mode:
Diffstat (limited to 'modules/phpbb')
-rw-r--r--modules/phpbb/files/phpbb_apply_config.pl22
-rw-r--r--modules/phpbb/manifests/init.pp22
2 files changed, 43 insertions, 1 deletions
diff --git a/modules/phpbb/files/phpbb_apply_config.pl b/modules/phpbb/files/phpbb_apply_config.pl
new file mode 100644
index 00000000..fd0282d1
--- /dev/null
+++ b/modules/phpbb/files/phpbb_apply_config.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Env qw(VALUE);
+use DBI;
+
+# DBI will use default value coming from env
+# see puppet manifests
+my $key = $ARGV[1];
+
+my $dbh = DBI->connect("dbi:Pg:","","");
+
+my $table = "phpbb_config";
+
+my $update = $dbh->prepare("UPDATE $table SET config_value = ? WHERE config_name = ?");
+my $insert = $dbh->prepare("INSERT INTO $table ( config_value, config_name, is_dynamic ) VALUES ( ? , ? , ? )");
+
+my $res = $update->execute($VALUE ,$key) or die "cannot do update $?";
+if ($res == 0 ) {
+ $insert->execute($VALUE ,$key, 1) or die "cannot do insert $?";
+}
+
diff --git a/modules/phpbb/manifests/init.pp b/modules/phpbb/manifests/init.pp
index 533a4304..1d4bfbe5 100644
--- a/modules/phpbb/manifests/init.pp
+++ b/modules/phpbb/manifests/init.pp
@@ -11,7 +11,27 @@ class phpbb {
# TODO ldap account configuration
- # TODO apache setup
+ file { "/usr/local/bin/phpbb_apply_config.pl":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 755,
+ source => 'puppet:///modules/phpbb/phpbb_apply_config.pl',
+ }
+
+ # TODO ldap account configuration
+ # ldap_user
+ # ldap_server
+ # ldap_password ldap_base_dn cookie_domain
+ # board_contact
+ #
+ define phpbb_config($value) {
+ exec { "/usr/local/bin/phpbb_apply_config.pl $name":
+ user => root,
+ environment => "PGDATABASE=$database PGUSER=$user PGPASSWORD=$password PGHOST=pgsql.$domain VALUE=$value",
+ require => File["/usr/local/bin/phpbb_apply_config.pl"],
+ }
+ }
# TODO git checkout