summaryrefslogtreecommitdiff
path: root/README.md
blob: a7b00d5d288b4b88d2838e458e5311c6b8320377 (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
[puppet-python](https://github.com/stankevich/puppet-python)
======

Puppet module for installing and managing python, pip, virtualenv, 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.

**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

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

### 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

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

## Authors

[Sergey Stankevich](https://github.com/stankevich)