Browse Source

Move Boussole to its own venv

Boussole (which watches the SCSS files for changes and compiles them)
has just been running in the same venv as the main app until now, but
it's holding back the version of the click package. There's no real
reason that it needs to be in the app venv, so this moves it to its own
one, which also eliminates quite a few other packages that were only
being installed because of Boussole.
merge-requests/26/head
Deimos 6 years ago
parent
commit
8c6a537665
  1. 4
      salt/salt/boussole.service.jinja2
  2. 20
      salt/salt/boussole.sls
  3. 4
      tildes/requirements-to-freeze.txt
  4. 10
      tildes/requirements.txt

4
salt/salt/boussole.service.jinja2

@ -1,11 +1,11 @@
{% from 'common.jinja2' import app_dir, bin_dir -%}
{% from 'common.jinja2' import app_dir -%}
[Unit] [Unit]
Description=Boussole - auto-compile SCSS files on change Description=Boussole - auto-compile SCSS files on change
[Service] [Service]
WorkingDirectory={{ app_dir }} WorkingDirectory={{ app_dir }}
Environment="LC_ALL=C.UTF-8" "LANG=C.UTF-8" Environment="LC_ALL=C.UTF-8" "LANG=C.UTF-8"
ExecStart={{ bin_dir }}/boussole watch --backend=yaml --config=boussole.yaml --poll
ExecStart=/opt/venvs/boussole/bin/boussole watch --backend=yaml --config=boussole.yaml --poll
Restart=always Restart=always
RestartSec=5 RestartSec=5

20
salt/salt/boussole.sls

@ -1,4 +1,20 @@
{% from 'common.jinja2' import app_dir, bin_dir %}
{% from 'common.jinja2' import app_dir, python_version %}
{% set boussole_venv_dir = '/opt/venvs/boussole' %}
# Salt seems to use the deprecated pyvenv script, manual for now
boussole-venv-setup:
cmd.run:
- name: /usr/local/pyenv/versions/{{ python_version }}/bin/python -m venv {{ boussole_venv_dir }}
- creates: {{ boussole_venv_dir }}
- require:
- pkg: python3-venv
- pyenv: {{ python_version }}
boussole-pip-installs:
cmd.run:
- name: {{ boussole_venv_dir }}/bin/pip install boussole
- unless: ls {{ boussole_venv_dir }}/lib/python3.6/site-packages/boussole
/etc/systemd/system/boussole.service: /etc/systemd/system/boussole.service:
file.managed: file.managed:
@ -22,7 +38,7 @@ create-css-directory:
initial-boussole-run: initial-boussole-run:
cmd.run: cmd.run:
- name: {{ bin_dir }}/boussole compile --backend=yaml --config=boussole.yaml
- name: {{ boussole_venv_dir }}/bin/boussole compile --backend=yaml --config=boussole.yaml
- cwd: {{ app_dir }} - cwd: {{ app_dir }}
- env: - env:
- LC_ALL: C.UTF-8 - LC_ALL: C.UTF-8

4
tildes/requirements-to-freeze.txt

@ -4,8 +4,7 @@ amqpy
argon2_cffi argon2_cffi
astroid==1.5.3 # pylama has issues with pylint 1.8.1 astroid==1.5.3 # pylama has issues with pylint 1.8.1
bleach bleach
boussole
click==5.1 # boussole needs < 6.0
click
cornice cornice
freezegun freezegun
gunicorn gunicorn
@ -29,6 +28,7 @@ pyramid-tm
pyramid-webassets pyramid-webassets
pytest pytest
pytest-mock pytest-mock
PyYAML # needs to be installed separately for webassets
SQLAlchemy SQLAlchemy
SQLAlchemy-Utils SQLAlchemy-Utils
stripe stripe

10
tildes/requirements.txt

@ -1,7 +1,6 @@
ago==0.0.92 ago==0.0.92
alembic==1.0.0 alembic==1.0.0
amqpy==0.13.1 amqpy==0.13.1
argh==0.26.2
argon2-cffi==18.1.0 argon2-cffi==18.1.0
astroid==1.5.3 astroid==1.5.3
atomicwrites==1.1.5 atomicwrites==1.1.5
@ -9,13 +8,10 @@ attrs==18.1.0
backcall==0.1.0 backcall==0.1.0
beautifulsoup4==4.6.3 beautifulsoup4==4.6.3
bleach==2.1.3 bleach==2.1.3
boussole==1.2.3
certifi==2018.4.16 certifi==2018.4.16
cffi==1.11.5 cffi==1.11.5
chardet==3.0.4 chardet==3.0.4
click==5.1
colorama==0.3.9
colorlog==3.1.4
click==6.7
cornice==3.4.0 cornice==3.4.0
decorator==4.3.0 decorator==4.3.0
freezegun==0.3.10 freezegun==0.3.10
@ -29,7 +25,6 @@ isort==4.3.4
jedi==0.12.1 jedi==0.12.1
Jinja2==2.10 Jinja2==2.10
lazy-object-proxy==1.3.1 lazy-object-proxy==1.3.1
libsass==0.14.5
Mako==1.0.7 Mako==1.0.7
MarkupSafe==1.0 MarkupSafe==1.0
marshmallow==2.15.4 marshmallow==2.15.4
@ -39,7 +34,6 @@ mypy==0.620
mypy-extensions==0.3.0 mypy-extensions==0.3.0
parso==0.3.1 parso==0.3.1
PasteDeploy==1.5.2 PasteDeploy==1.5.2
pathtools==0.1.2
pexpect==4.6.0 pexpect==4.6.0
pickleshare==0.7.4 pickleshare==0.7.4
plaster==1.0 plaster==1.0
@ -51,7 +45,6 @@ psycopg2==2.7.5
ptyprocess==0.6.0 ptyprocess==0.6.0
publicsuffix2==2.20160818 publicsuffix2==2.20160818
py==1.5.4 py==1.5.4
pyaml==17.12.1
pycodestyle==2.4.0 pycodestyle==2.4.0
pycparser==2.18 pycparser==2.18
pydocstyle==2.1.1 pydocstyle==2.1.1
@ -92,7 +85,6 @@ typed-ast==1.1.0
urllib3==1.23 urllib3==1.23
venusian==1.1.0 venusian==1.1.0
waitress==1.1.0 waitress==1.1.0
watchdog==0.8.3
wcwidth==0.1.7 wcwidth==0.1.7
webargs==4.0.0 webargs==4.0.0
webassets==0.12.1 webassets==0.12.1

Loading…
Cancel
Save