diff --git a/.vagrantenv/provision.sh b/.vagrantenv/provision.sh index e87fdfba028bf81549908fa9ad858bee5fd269da..1c14c0249d0c6ab9329760d8002e9b3f540dc0d4 100644 --- a/.vagrantenv/provision.sh +++ b/.vagrantenv/provision.sh @@ -7,6 +7,7 @@ #------------------------------------------------------------------------------- echo "==========> <BEGIN> provision.sh" +date source /vagrant/etc/default/mentat source /vagrant/conf/scripts/lib.sh @@ -24,6 +25,7 @@ echo "==========> Linking configuration files" ensure_link /vagrant/etc/default/mentat /etc/default/mentat ensure_link /vagrant/conf /etc/mentat ensure_link /vagrant/.vagrantenv/.bashrc /home/vagrant/.bashrc +ensure_link /vagrant/data/GeoIP.conf /etc/GeoIP.conf echo "==========> Creating Mentat user for development" if ! getent passwd ${MENTAT_USER} > /dev/null 2>&1; then @@ -137,16 +139,17 @@ ensure_link /vagrant/etc/systemd/system/sendria.service /etc/systemd/system/send systemctl daemon-reload systemctl start sendria.service - +echo "==========> Bootstraping runtime environment" +/etc/mentat/scripts/runenv-init.sh echo "==========> Bootstraping database schema and configuration" -sudo -u mentat ${MENTAT_VENV}/python /vagrant/bin/mentat-dbmngr.py --command init -sudo -u mentat bash -c "source ${MENTAT_VENV}/activate ; hawat-cli db stamp head" -sudo -u mentat bash -c "source ${MENTAT_VENV}/activate ; /etc/mentat/scripts/sqldb-migrate.sh stamp head" +sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-dbmngr.py --command init +sudo -u mentat bash -c "source ${MENTAT_VENV}/bin/activate ; hawat-cli db stamp head" +sudo -u mentat bash -c "source ${MENTAT_VENV}/bin/activate ; /etc/mentat/scripts/sqldb-migrate.sh stamp head" /etc/mentat/scripts/sqldb-optimize.sh echo "==========> Pregenerating application data" -sudo -u mentat ${MENTAT_VENV}/python /vagrant/bin/mentat-precache.py --allow-empty +sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-precache.py --allow-empty echo "==========> Tweaking database users" sudo -u postgres psql -c "SELECT usename FROM pg_catalog.pg_user;" | grep root > /dev/null @@ -162,7 +165,7 @@ fi echo "==========> Configuring Apache to serve development server" if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then - ensure_linked_file /vagrant/conf/apache/site_mentat_vagrant.conf /etc/apache2/sites-available/site_mentat_vagrant.conf + ensure_link /vagrant/conf/apache/site_mentat_vagrant.conf /etc/apache2/sites-available/site_mentat_vagrant.conf sed -i.bak s/APACHE_RUN_USER=www-data/APACHE_RUN_USER=mentat/g /etc/apache2/envvars sed -i.bak s/APACHE_RUN_GROUP=www-data/APACHE_RUN_GROUP=mentat/g /etc/apache2/envvars rm -f /etc/apache2/envvars.bak @@ -178,3 +181,4 @@ if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then fi echo "==========> <DONE> provision.sh" +date diff --git a/Makefile b/Makefile index 7a0b992e811c67b4155ad817324afe938dabe58d..e6a48156e7799c8a54265ac4ea3b31d1b50d7023 100644 --- a/Makefile +++ b/Makefile @@ -36,7 +36,7 @@ BIN_FILES := $(wildcard bin/mentat-*.py) LIB_FILES := $(shell find $(DIR_LIB) -name '*.py' | grep -v 'test_') VENV_PYTHON ?= python3.7 -VENV_PATH ?= venv +VENV_PATH ?= /var/mentat/venv PYTHON = python3 PIP = pip @@ -464,10 +464,11 @@ presentations: FORCE done -db-data-fetch: FORCE +data-fetch: FORCE @echo "\n$(GREEN)*** Fetching latest production database dump ***$(NC)\n" @rm -rf ./data @mkdir -p ./data + @scp mentat-alt:/etc/GeoIP.conf ./data/ @scp mentat-alt:/var/mentat/production-dump/mentat_psqldb_latest.tar.gz ./data/ @cd ./data/ && tar -xzvf ./mentat_psqldb_latest.tar.gz @rm -f ./data/mentat_psqldb_latest.tar.gz @@ -475,7 +476,7 @@ db-data-fetch: FORCE @rm -rf ./data/var @echo "" -db-data-import: FORCE +data-import: FORCE @echo "\n$(GREEN)*** Importing latest production database dump ***$(NC)\n" @sudo -u postgres pg_restore --verbose --format=d --dbname=mentat_main /vagrant/data/mentat_psqldb_latest/main @echo "" diff --git a/doc/sphinx/_doclib/development.rst b/doc/sphinx/_doclib/development.rst index 4bb529809b61f4990060a1adce7320095daf369a..689dd0f127481d4707b3b9c405c7cd5dacb143c1 100644 --- a/doc/sphinx/_doclib/development.rst +++ b/doc/sphinx/_doclib/development.rst @@ -624,11 +624,11 @@ Development with Vagrant sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" sudo apt update && sudo apt install vagrant - make db-data-fetch + make data-fetch vagrant up vagrant ssh cd /vagrant/ - make db-data-import + make data-import At this point you are all set to develop Mentat locally without cluttering your personal workstation.