aboutsummaryrefslogtreecommitdiffstats
path: root/deployment/websites/manifests/init.pp
blob: e530972ea20ed263d19b1e17de99edcd1df81846 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
class websites {
    class base {
       # FIXME :
       # We should be able to define this path on each host.
       # Maybe using Facter ?
       $webdatadir = '/srv/web1-dd0/www'

       file { "$webdatadir":
          ensure => directory,
	  mode => 755,
       }
    }

    # should expire on June 2011
    class donate {
        apache::vhost_other_app { "donate.$domain":
            vhost_file => "websites/vhost_donate.conf",
        }
    }

    # vhost to host static files used by web sites
    class static inherits base {
        $vhostdir = "$webdatadir/static.$domain"
	$svn_location = "svn://svn.$domain/svn/web/www/trunk/g/"
    	apache::vhost_other_app { "static.$domain":
	    vhost_file => 'websites/vhost_static.conf',
	}

	file { $vhostdir:
	    ensure => directory,
	    mode => 655,
	}

	subversion::snapshot { "$vhostdir/g":
	    source => $svn_location
	}
    }

    class hugs inherits base {
        $vhostdir = "$webdatadir/hugs.$domain"
	$svn_location = "svn://svn.$domain/svn/web/hugs/public/"
    	apache::vhost_base { "hugs.$domain":
	    location => $vhostdir,
	}

	subversion::snapshot { "$vhostdir":
	    source => $svn_location
	}
    }

    class releases inherits base {
        $vhostdir = "$webdatadir/releases.$domain"
	$svn_location = "svn://svn.$domain/svn/web/releases/"
    	apache::vhost_base { "releases.$domain":
	    location => $vhostdir,
	    content => "<Directory $vhostdir>
	Options FollowSymLinks
</Directory>"
	}

	subversion::snapshot { "$vhostdir":
	    source => $svn_location
	}
    }

    class svn {
        apache::vhost_redirect { "svn.$domain":
            url => "http://svnweb.$domain/",
        }
    }

    class forum_proxy {

        $web_domain = "forums.$domain"
        host { "$web_domain":
            ip => '192.168.122.131',
            ensure => 'present',
        }

        apache::vhost_reverse_proxy { "$web_domain":
            url => "http://$web_domain/",
        } 

        apache::vhost_reverse_proxy { "ssl_$web_domain":
            vhost => $web_domain,
            use_ssl => true,
            url => "http://$web_domain/",
        } 
    }
}