Jan Dittberner
6a8997e950
This commit adds an initial Vagrant and Saltstack setup that reuses the same configuration as that of the gva repository. The LDAP server itself is not configured yet.
99 lines
2.6 KiB
Plaintext
99 lines
2.6 KiB
Plaintext
{% from 'gnuviechadmin/vars.sls' import home, gva_component, gva_amqp_user, checkout, appdir, venv %}
|
|
|
|
gva.local:
|
|
host.present:
|
|
- ip: 172.16.3.2
|
|
- names:
|
|
- mq
|
|
- gva.local
|
|
|
|
gvaldap.local:
|
|
host.present:
|
|
- ip: 172.16.3.3
|
|
|
|
gvafile.local:
|
|
host.present:
|
|
- ip: 172.16.3.4
|
|
|
|
gvaweb.local:
|
|
host.present:
|
|
- ip: 172.16.3.5
|
|
|
|
gvamysql.local:
|
|
host.present:
|
|
- ip: 172.16.3.6
|
|
|
|
gvapgsql.local:
|
|
host.present:
|
|
- ip: 172.16.3.7
|
|
|
|
gnuviechadmin-packages:
|
|
pkg.installed:
|
|
- pkgs:
|
|
- libyaml-dev
|
|
- python-virtualenv
|
|
- python-dev
|
|
- python-pip
|
|
- gettext
|
|
|
|
{{ home }}/gvasettings.sh:
|
|
file.managed:
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- mode: 0640
|
|
- source: salt://gnuviechadmin/{{ gva_component }}/settings.sh
|
|
- template: jinja
|
|
- context:
|
|
broker_url: {{ 'amqp://%s:%s@mq/%s' % (gva_amqp_user, salt['pillar.get']('gnuviechadmin:queues:users:%s:password' % gva_amqp_user), salt['pillar.get']('gnuviechadmin:queues:vhost')) }}
|
|
|
|
gnuviechadmin-venv:
|
|
cmd.run:
|
|
- name: virtualenv {{ venv }}
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- unless: test -f {{ venv }}/bin/pip
|
|
|
|
gnuviechadmin-requires:
|
|
cmd.run:
|
|
- name: {{ venv }}/bin/pip install -U -r requirements/local.txt && touch {{ venv }}/lastinstall
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- cwd: {{ checkout }}
|
|
- require:
|
|
- cmd: gnuviechadmin-venv
|
|
- pkg: gnuviechadmin-packages
|
|
- unless: test -e {{ venv }}/lastinstall && test {{ checkout }}/requirements/local.txt -ot {{ venv }}/lastinstall && test {{ checkout }}/requirements/base.txt -ot {{ venv }}/lastinstall
|
|
|
|
gnuviechadmin-dbschema:
|
|
cmd.wait:
|
|
- name: . {{ home }}/gvasettings.sh ; unset LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME ; {{ venv }}/bin/python manage.py migrate --noinput
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- cwd: {{ appdir }}
|
|
- watch:
|
|
- cmd: gnuviechadmin-requires
|
|
- file: {{ home }}/gvasettings.sh
|
|
|
|
gnuviechadmin-locale-data-compile:
|
|
cmd.wait:
|
|
- name: . {{ home }}/gvasettings.sh ; {{ venv }}/bin/python {{ appdir }}/manage.py compilemessages
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- cwd: {{ appdir }}
|
|
- require:
|
|
- pkg: gnuviechadmin-packages
|
|
- file: {{ home }}/gvasettings.sh
|
|
- cmd: gnuviechadmin-venv
|
|
|
|
/home/vagrant/.bash_functions:
|
|
file.managed:
|
|
- user: vagrant
|
|
- group: vagrant
|
|
- mode: 0644
|
|
- source: salt://base/bash_functions
|
|
- template: jinja
|
|
- context:
|
|
home: {{ home }}
|
|
venv: {{ venv }}
|
|
appdir: {{ appdir }}
|