@@ -38,284 +38,9 @@ puppet module install stankevich-python
38
38
```
39
39
40
40
## Usage
41
-
42
- ### python
43
-
44
- Installs and manages python, python-pip, python-dev, python-virtualenv and Gunicorn.
45
-
46
- ** ensure** - Desired installation state for the Python package. Options are absent, present and latest. Default: present
47
-
48
- ** version** - Python version to install. Default: system
49
-
50
- ** pip** - Desired installation state for the python-pip package. Options are absent, present and latest. Default: present
51
-
52
- ** dev** - Desired installation state for the python-dev package. Options are absent, present and latest. Default: absent
53
-
54
- ** virtualenv** - Desired installation state for the virtualenv package. Options are absent, present and latest. Default: absent
55
-
56
- ** gunicorn** - Desired installation state for Gunicorn. Options are absent, present and latest. Default: absent
57
-
58
- ** manage_gunicorn** - Allow Installation / Removal of Gunicorn. Default: true
59
-
60
- ** use_epel** - Boolean to determine if the epel class is used. Default: true on RHEL like systems, false otherwise
61
-
62
- * Install Python from system python*
63
- ``` puppet
64
- class { 'python' :
65
- version => 'system',
66
- pip => 'present',
67
- dev => 'absent',
68
- virtualenv => 'absent',
69
- gunicorn => 'absent',
70
- }
71
- ```
72
- * Install Python 3 from the scl repo*
73
- ``` puppet
74
- class { 'python' :
75
- ensure => 'present',
76
- version => 'rh-python36-python',
77
- dev => 'present',
78
- virtualenv => 'present',
79
- }
80
- ```
81
-
82
- ### python::pip
83
-
84
- Installs and manages packages from pip.
85
-
86
- ** pkgname** - the name of the package to install. Required.
87
-
88
- ** ensure** - present/latest/absent. You can also specify the version. Default: present
89
-
90
- ** virtualenv** - virtualenv to run pip in. Default: system (no virtualenv)
91
-
92
- ** pip_provider** - pip provider to execute pip with. Default: pip.
93
-
94
- ** url** - URL to install from. Default: none
95
-
96
- ** owner** - The owner of the virtualenv to ensure that packages are installed with the correct permissions (must be specified). Default: root
97
-
98
- ** proxy** - Proxy server to use for outbound connections. Default: none
99
-
100
- ** environment** - Additional environment variables required to install the packages. Default: none
101
-
102
- ** extras** - Extra features provided by the package which should be installed. Default: none
103
-
104
- ** egg** - The egg name to use. Default: ` $name ` of the class, e.g. cx_Oracle
105
-
106
- ** install_args** - String of additional flags to pass to pip during installaton. Default: none
107
-
108
- ** uninstall_args** - String of additional flags to pass to pip during uninstall. Default: none
109
-
110
- ** timeout** - Timeout for the pip install command. Defaults to 1800.
111
-
112
- * Install cx_Oracle with pip*
113
- ``` puppet
114
- python::pip { 'cx_Oracle' :
115
- pkgname => 'cx_Oracle',
116
- ensure => '5.1.2',
117
- virtualenv => '/var/www/project1',
118
- owner => 'appuser',
119
- proxy => 'http://proxy.domain.com:3128',
120
- environment => 'ORACLE_HOME=/usr/lib/oracle/11.2/client64',
121
- install_args => '-e',
122
- timeout => 1800,
123
- }
124
- ```
125
- * Install Requests with pip3*
126
- ``` puppet
127
- python::pip { 'requests' :
128
- ensure => 'present',
129
- pkgname => 'requests',
130
- pip_provider => 'pip3',
131
- virtualenv => '/var/www/project1',
132
- owner => 'root',
133
- timeout => 1800
134
- }
135
- ```
136
-
137
- ### python::requirements
138
-
139
- Installs and manages Python packages from requirements file.
140
-
141
- ** virtualenv** - virtualenv to run pip in. Default: system-wide
142
-
143
- ** proxy** - Proxy server to use for outbound connections. Default: none
144
-
145
- ** owner** - The owner of the virtualenv to ensure that packages are installed with the correct permissions (must be specified). Default: root
146
-
147
- ** src** - The ` --src ` parameter to ` pip ` , used to specify where to install ` --editable ` resources; by default no ` --src ` parameter is passed to ` pip ` .
148
-
149
- ** group** - The group that was used to create the virtualenv. This is used to create the requirements file with correct permissions if it's not present already.
150
-
151
- ** manage_requirements** - Create the requirements file if it doesn't exist. Default: true
152
-
153
- ``` puppet
154
- python::requirements { '/var/www/project1/requirements.txt' :
155
- virtualenv => '/var/www/project1',
156
- proxy => 'http://proxy.domain.com:3128',
157
- owner => 'appuser',
158
- group => 'apps',
159
- }
160
- ```
161
-
162
- ### python::virtualenv
163
-
164
- Creates Python virtualenv.
165
-
166
- ** ensure** - present/absent. Default: present
167
-
168
- ** version** - Python version to use. Default: system default
169
-
170
- ** requirements** - Path to pip requirements.txt file. Default: none
171
-
172
- ** systempkgs** - Copy system site-packages into virtualenv. Default: don't
173
-
174
- ** venv_dir** - The location of the virtualenv if resource path not specified. Must be absolute path. Default: resource name
175
-
176
- ** ensure_venv_dir** - Create virtualenv directory. Default: true
177
-
178
- ** distribute** - Include distribute in the virtualenv. Default: true
179
-
180
- ** index** - Base URL of Python package index. Default: none
181
-
182
- ** owner** - Specify the owner of this virtualenv
183
-
184
- ** group** - Specify the group for this virtualenv
185
-
186
- ** mode** - Specify the directory mode. Default: 0755
187
-
188
- ** proxy** - Proxy server to use for outbound connections. Default: none
189
-
190
- ** environment** - Additional environment variables required to install the packages. Default: none
191
-
192
- ** path** - Set the $PATH environment variable. Default: [ '/bin', '/usr/bin', '/usr/sbin' ]
193
-
194
- ** cwd** - The directory from which to run the "pip install" command. Default: undef
195
-
196
- ** timeout** - The maximum time in seconds the "pip install" command should take. Default: 1800
197
-
198
- ** pip_args** - Arguments to pass to pip during installation. Default: blank
199
-
200
- ** extra_pip_args** - Arguments to pass to pip for package install. These are included in the pip command * after* the requirements file. Default: blank
201
-
202
- ``` puppet
203
- python::virtualenv { '/var/www/project1' :
204
- ensure => present,
205
- version => 'system',
206
- requirements => '/var/www/project1/requirements.txt',
207
- systempkgs => true,
208
- venv_dir => '/home/appuser/virtualenvs',
209
- ensure_venv_dir => false,
210
- distribute => false,
211
- index => 'appuser',
212
- owner => 'appuser',
213
- group => 'apps',
214
- proxy => 'http://proxy.domain.com:3128',
215
- cwd => '/var/www/project1',
216
- timeout => 0,
217
- extra_pip_args => '--no-binary :none:',
218
- }
219
- ```
220
-
221
- ### python::pyvenv
222
-
223
- Creates Python3 virtualenv.
224
-
225
- ** ensure** - present/absent. Default: present
226
-
227
- ** version** - Python version to use. Default: system default
228
-
229
- ** systempkgs** - Copy system site-packages into virtualenv. Default: don't
230
-
231
- ** venv_dir** - The location of the virtualenv if resource path not specified. Must be absolute path. Default: resource name
232
-
233
- ** owner** - Specify the owner of this virtualenv
234
-
235
- ** group** - Specify the group for this virtualenv
236
-
237
- ** path** - Specifies the PATH variable that contains ` pyvenv ` executable. Default: [ '/bin', '/usr/bin', '/usr/sbin' ]
238
-
239
- ** environment** - Specify any environment variables to use when creating pyvenv
240
-
241
- ``` puppet
242
- python::pyvenv { '/var/www/project1' :
243
- ensure => present,
244
- version => 'system',
245
- systempkgs => true,
246
- venv_dir => '/home/appuser/virtualenvs',
247
- owner => 'appuser',
248
- group => 'apps',
249
- }
250
- ```
251
-
252
- ### python::gunicorn
253
-
254
- Manages Gunicorn virtual hosts.
255
-
256
- ** ensure** - present/absent. Default: present
257
-
258
- ** virtualenv** - Run in virtualenv, specify directory. Default: disabled
259
-
260
- ** mode** - Gunicorn mode. wsgi/django. Default: wsgi
261
-
262
- ** dir** - Application directory.
263
-
264
- ** bind** - Bind on: 'HOST', 'HOST: PORT ', 'unix: PATH '. Default: ` unix:/tmp/gunicorn-$name.socket ` or ` unix:${virtualenv}/${name}.socket `
265
-
266
- ** environment** - Set ENVIRONMENT variable. Default: none
267
-
268
- ** appmodule** - Set the application module name for gunicorn to load when not using Django. Default: ` app:app `
269
-
270
- ** osenv** - Allows setting environment variables for the gunicorn service. Accepts a hash of 'key': 'value' pairs. Default: false
271
-
272
- ** timeout** - Allows setting the gunicorn idle worker process time before being killed. The unit of time is seconds. Default: 30
273
-
274
- ** template** - Which ERB template to use. Default: python/gunicorn.erb
275
-
276
- ``` puppet
277
- python::gunicorn { 'vhost' :
278
- ensure => present,
279
- virtualenv => '/var/www/project1',
280
- mode => 'wsgi',
281
- dir => '/var/www/project1/current',
282
- bind => 'unix:/tmp/gunicorn.socket',
283
- environment => 'prod',
284
- appmodule => 'app:app',
285
- osenv => { 'DBHOST' => 'dbserver.example.com' },
286
- timeout => 30,
287
- template => 'python/gunicorn.erb',
288
- }
289
- ```
290
-
291
- ### python::dotfile
292
-
293
- Manages arbitrary python dotiles with a simple config hash.
294
-
295
- ** ensure** - present/absent. Default: present
296
-
297
- ** filename** - Default: $title
298
-
299
- ** mode** - Default: 0644
300
-
301
- ** owner** - Default: root
302
-
303
- ** group** - Default: root
304
-
305
- ** config** Config hash. This will be expanded to an ini-file. Default: {}
306
-
307
- ``` puppet
308
- python::dotfile { '/var/lib/jenkins/.pip/pip.conf':
309
- ensure => present,
310
- owner => 'jenkins',
311
- group => 'jenkins',
312
- config => {
313
- 'global' => {
314
- 'index-url => 'https://mypypi.acme.com/simple/'
315
- 'extra-index-url => https://pypi.risedev.at/simple/
316
- }
317
- }
318
- }
41
+ For class usage refer to the <a href =" https://github.com/voxpupuli/puppet-python/blob/master/REFERENCE.md " >REFERENCE.md</a >. If contributing, this is updated with
42
+ ``` shell
43
+ bundle exec rake strings:generate\[ ' ,,,,false,true' ]
319
44
```
320
45
321
46
### hiera configuration
0 commit comments