mirror of
https://github.com/nikdoof/limetime.git
synced 2025-12-13 09:42:26 +00:00
47 lines
1.3 KiB
Puppet
47 lines
1.3 KiB
Puppet
stage { 'pre': before => Stage['main'] }
|
|
|
|
class python {
|
|
|
|
package {
|
|
"build-essential": ensure => latest;
|
|
"python": ensure => latest;
|
|
"python-dev": ensure => latest;
|
|
"python-setuptools": ensure => installed;
|
|
"git-core": ensure => installed;
|
|
"mercurial": ensure => installed;
|
|
"libevent-dev": ensure => installed;
|
|
"libgeos-dev": ensure => installed;
|
|
}
|
|
exec {'pip-package':
|
|
command => 'easy_install pip',
|
|
path => '/usr/local/bin:/usr/bin:/bin',
|
|
require => Package['python-setuptools'],
|
|
subscribe => Package['python-setuptools'],
|
|
}
|
|
package {['virtualenv', 'virtualenvwrapper', 'gunicorn', 'gevent']:
|
|
ensure => latest,
|
|
provider => pip,
|
|
require => Exec['pip-package'],
|
|
}
|
|
}
|
|
class { 'python': stage => 'pre' }
|
|
|
|
define python::venv($path, $requirements) {
|
|
|
|
file {"$requirements":
|
|
ensure => present,
|
|
}
|
|
|
|
exec{"${name}-venv":
|
|
path => '/usr/local/bin:/usr/bin:/bin',
|
|
command => "virtualenv --system-site-packages ${path}",
|
|
creates => "${path}",
|
|
require => Package['virtualenv'],
|
|
}
|
|
exec {"${name}-requirements":
|
|
command => "/usr/bin/env bash -c 'source ${path}/bin/activate; pip install -i http://f.pypi.python.org/simple -r ${requirements}'",
|
|
require => Exec["${name}-venv"],
|
|
subscribe => File["$requirements"],
|
|
}
|
|
|
|
} |