Select Git revision
-
Fynn Becker authored
Add pagination along with lazy evaluation, caching, counting strategies and a bunch of documentation on these concepts.
Fynn Becker authoredAdd pagination along with lazy evaluation, caching, counting strategies and a bunch of documentation on these concepts.
venv.sls 2.02 KiB
{% from "deploy/map.jinja" import deploy with context %}
include:
- deploy.user
deploy_venv_pkgs:
pkg.installed:
- pkgs: ['python3', 'virtualenv', 'python3-pip', 'python3-virtualenv', 'python3-venv']
{% set group_members = [] %}
{% for key in deploy.projects.keys() %}
{% do group_members.append(key) %}
{% endfor %}
deploy_provision_virtualenv_group_with_members:
group.present:
- name: virtualenv
- system: True
- members: {{ group_members }}
deploy_venv_directory:
file.directory:
- name: {{ deploy.config.venv_directory }}
- user: root
- group: virtualenv
- mode: 2770
- require:
- group: virtualenv
deploy_venv_pip_profile:
file.managed:
- name: /etc/profile.d/pip.sh
- user: root
- group: root
- mode: 644
- contents: |
export PIP_TRUSTED_HOST='apt-proxy.it.hs-hannover.de'
export PIP_INDEX_URL='http://apt-proxy.it.hs-hannover.de:3141/root/pypi/+simple/'
{% for project_name, project_config in deploy.projects.items() if project_config.get('venv', False) %}
{% set venv_config = project_config.venv %}
create_{{ project_name }}_venv:
cmd.run:
- name: python3 -m venv {{ venv_config.path }}
- onlyif: test ! -e {{ venv_config.path }}
- runas: root
- require:
- file: deploy_venv_directory
- pkg: deploy_venv_pkgs
upgrade_pip_in_{{ project_name }}_venv:
cmd.run:
- name: {{ venv_config.path }}/bin/pip install --upgrade pip
- runas: root
- env:
LANG: en_US.UTF-8
LC_CTYPE: en_US.UTF-8
LC_ALL: en_US.UTF-8
- require:
- cmd: create_{{ project_name }}_venv
- file: deploy_venv_pip_profile
install_requirements_in_{{ project_name }}_venv:
cmd.run:
- name: {{ venv_config.path }}/bin/pip install --upgrade -r {{ venv_config.requirements }}
- runas: root
- env:
LANG: en_US.UTF-8
LC_CTYPE: en_US.UTF-8
LC_ALL: en_US.UTF-8
- require:
- cmd: upgrade_pip_in_{{ project_name }}_venv
- file: deploy_venv_pip_profile
{% endfor %}