summaryrefslogtreecommitdiff
path: root/README.md
blob: aafff6a8af48046e8365f32cdffa1ffd7b8cd81d (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[puppet-python](https://github.com/stankevich/puppet-python)
======

Puppet module for installing and managing python, pip, virtualenvs and Gunicorn virtual hosts.

## Usage

### python

Installs and manages python, python-dev, python-virtualenv and Gunicorn.

**version** — Python version to install. Default: system default

**dev** — Install python-dev. Default: false

**virtualenv** — Install python-virtualenv. Default: false

**gunicorn** — Install Gunicorn. Default: false

	class { 'python':
	  version    => 'system',
	  dev        => true,
	  virtualenv => true,
	  gunicorn   => true,
	}

### python::pip

Installs and manages packages from pip.

**ensure** — present/absent. Default: present

**virtualenv** — virtualenv to run pip in.

**url** — URL to install from. Default: none

**proxy** — Proxy server to use for outbound connections. Default: none

	python::pip { 'flask':
	  virtualenv => '/var/www/project1',
	  proxy      => 'http://proxy.domain.com:3128',
	}

### python::requirements

Installs and manages Python packages from requirements file.

**virtualenv** — virtualenv to run pip in. Default: system-wide

**proxy** — Proxy server to use for outbound connections. Default: none

	python::requirements { '/var/www/project1/requirements.txt':
	  virtualenv => '/var/www/project1',
	  proxy      => 'http://proxy.domain.com:3128',
	}

### python::virtualenv

Creates Python virtualenv.

**ensure** — present/absent. Default: present

**version** — Python version to use. Default: system default

**requirements** — Path to pip requirements.txt file. Default: none

**proxy** — Proxy server to use for outbound connections. Default: none

**systempkgs** — Copy system site-packages into virtualenv. Default: don't

**distribute** — Include distribute in the virtualenv. Default: true

	python::virtualenv { '/var/www/project1':
	  ensure       => present,
	  version      => 'system',
	  requirements => '/var/www/project1/requirements.txt',
	  proxy        => 'http://proxy.domain.com:3128',
	  systempkgs   => true,
	  distribute   => false,
	}

### python::gunicorn

Manages Gunicorn virtual hosts.

**ensure** — present/absent. Default: present

**virtualenv** — Run in virtualenv, specify directory. Default: disabled

**mode** — Gunicorn mode. wsgi/django. Default: wsgi

**dir** — Application directory.

**bind** — Bind on: 'HOST', 'HOST:PORT', 'unix:PATH'. Default: unix:/tmp/gunicorn-$name.socket or unix:${virtualenv}/${name}.socket

**environment** — Set ENVIRONMENT variable. Default: none

**template** — Which ERB template to use. Default: python/gunicorn.erb

	python::gunicorn { 'vhost':
	  ensure      => present,
	  virtualenv  => '/var/www/project1',
	  mode        => 'wsgi',
	  dir         => '/var/www/project1/current',
	  bind        => 'unix:/tmp/gunicorn.socket',
	  environment => 'prod',
	  template    => 'python/gunicorn.erb',
	}

## Authors

[Sergey Stankevich](https://github.com/stankevich)
[Ashley Penney](https://github.com/apenney)
[Marc Fournier](https://github.com/mfournier)