diff options
author | Sergey Stankevich <sergey@stankevi.ch> | 2012-11-06 13:01:55 -0800 |
---|---|---|
committer | Sergey Stankevich <sergey@stankevi.ch> | 2012-11-06 13:01:55 -0800 |
commit | 94d9ca52b531c76949bddfe45c5402ecb2586ab8 (patch) | |
tree | 2779f2eb95a79a071bdee02fd4bc09f053bfea6d /manifests | |
parent | 91b595de937e938807d942d650dde3cd5f45f2ec (diff) | |
parent | e7f975a20639d1e3adbfa85f956485238c040506 (diff) |
Merge pull request #2 from mfournier/gunicorn_and_virtualenv_additions
Gunicorn and virtualenv additions
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/gunicorn.pp | 10 | ||||
-rw-r--r-- | manifests/requirements.pp | 2 | ||||
-rw-r--r-- | manifests/virtualenv.pp | 16 |
3 files changed, 23 insertions, 5 deletions
diff --git a/manifests/gunicorn.pp b/manifests/gunicorn.pp index 2548e95..13f4872 100644 --- a/manifests/gunicorn.pp +++ b/manifests/gunicorn.pp @@ -25,6 +25,9 @@ # [*environment*] # Set ENVIRONMENT variable. Default: none # +# [*template*] +# Which ERB template to use. Default: python/gunicorn.erb +# # === Examples # # python::gunicorn { 'vhost': @@ -34,11 +37,14 @@ # dir => '/var/www/project1/current', # bind => 'unix:/tmp/gunicorn.socket', # environment => 'prod', +# template => 'python/gunicorn.erb', # } # # === Authors # # Sergey Stankevich +# Ashley Penney +# Marc Fournier # define python::gunicorn ( $ensure = present, @@ -46,8 +52,8 @@ define python::gunicorn ( $mode = 'wsgi', $dir = false, $bind = false, - $app_interface = 'wsgi', $environment = false, + $template = 'python/gunicorn.erb', ) { # Parameter validation @@ -60,7 +66,7 @@ define python::gunicorn ( mode => '0644', owner => 'root', group => 'root', - content => template('python/gunicorn.erb'), + content => template($template), } } diff --git a/manifests/requirements.pp b/manifests/requirements.pp index b6c9b34..4dd1f1f 100644 --- a/manifests/requirements.pp +++ b/manifests/requirements.pp @@ -20,6 +20,7 @@ # === Authors # # Sergey Stankevich +# Ashley Penney # define python::requirements ( $virtualenv = 'system', @@ -38,7 +39,6 @@ define python::requirements ( default => "--proxy=${proxy}", } - $req_dir = inline_template('<%= requirements.match(%r!(.+)/.+!)[1] %>') $req_crc = "${requirements}.sha1" file { $requirements: diff --git a/manifests/virtualenv.pp b/manifests/virtualenv.pp index f22f4e1..e816468 100644 --- a/manifests/virtualenv.pp +++ b/manifests/virtualenv.pp @@ -16,6 +16,9 @@ # [*proxy*] # Proxy server to use for outbound connections. Default: none # +# [*systempkgs*] +# Copy system site-packages into virtualenv. Default: don't +# # === Examples # # python::virtualenv { '/var/www/project1': @@ -23,17 +26,21 @@ # version => 'system', # requirements => '/var/www/project1/requirements.txt', # proxy => 'http://proxy.domain.com:3128', +# systempkgs => true, # } # # === Authors # # Sergey Stankevich +# Ashley Penney +# Marc Fournier # define python::virtualenv ( $ensure = present, $version = 'system', $requirements = false, - $proxy = false + $proxy = false, + $systempkgs = false, ) { $venv_dir = $name @@ -55,10 +62,15 @@ define python::virtualenv ( default => "&& export http_proxy=${proxy}", } + $system_pkgs_flag = $systempkgs ? { + false => '', + default => '--system-site-packages', + } + exec { "python_virtualenv_${venv_dir}": command => "mkdir -p ${venv_dir} \ ${proxy_command} \ - && virtualenv -p `which ${python}` ${venv_dir} \ + && virtualenv -p `which ${python}` ${system_pkgs_flag} ${venv_dir} \ && ${venv_dir}/bin/pip install ${proxy_flag} --upgrade distribute pip", creates => $venv_dir, } |