dev/modules/sysconfig/manifests/deploy.pp
author ymh <ymh.work@gmail.com>
Fri, 28 Feb 2014 09:55:12 +0100
changeset 588 8e9ea314e06e
parent 587 a1aa29e7809f
child 590 e103299bccc0
permissions -rw-r--r--
dev box bug correction + minimal doc in README.txt
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
class sysconfig::deploy {
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
    
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
    # create /var/run/gunicorn folder and insert entry in /etc/rc.local
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    file { 'run-folder':
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
        path    => '/var/run/gunicorn',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
        ensure  => 'directory',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
        owner   => 'www-data',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
        group   => 'www-data',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
        mode    => '0775',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    #create run folder for gunicorn
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    file { 'rc.local':
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        path    => '/etc/rc.local',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        ensure  => 'present',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        mode    => 755,
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        owner   => 'root',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        group   => 'root',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        content => template('sysconfig/rc.local.erb')
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    # install supervidsord
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    class { 'supervisord': }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    supervisord::program { 'coment' :
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        command      => '/srv/comt/bin/gunicorn -b unix:/var/run/gunicorn/comt.socket cm.wsgi:app',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        user         => 'www-data',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
        directory    => '/srv/comt',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        environment  => "PYTHONPATH='/srv/comt/src',PROJECT_PATH='/srv/comt/src/cm'"
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    exec { 'reload_supervisor' :
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        command  => '/usr/bin/supervisorctl update',
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        require  => Supervisord::Program['coment']
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    #add site
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    nginx::resource::upstream { 'coment_app':
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        ensure                => present,
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
        members               => [ 'unix:/var/run/gunicorn/comt.socket' ],
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
        upstream_fail_timeout => 0,
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        require               => Exec['reload_supervisor']
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
588
8e9ea314e06e dev box bug correction + minimal doc in README.txt
ymh <ymh.work@gmail.com>
parents: 587
diff changeset
    45
    nginx::resource::vhost { $ipaddress_eth1:
587
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
        ensure           => present,
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        proxy            => 'http://coment_app',
588
8e9ea314e06e dev box bug correction + minimal doc in README.txt
ymh <ymh.work@gmail.com>
parents: 587
diff changeset
    48
        proxy_set_header => ['Host \$http_host'],
587
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
        vhost_cfg_append => {
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
            'proxy_redirect' => 'off'
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
        },
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
        require          => Nginx::Resource::Upstream['coment_app']
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
    }
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
a1aa29e7809f add a vagrant profile + puppet config for dev box
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
}