diff --git a/Makefile b/Makefile
index 7c93ca72304cad1f27defafe5189ce350c5c27c1..845882fb6f6afda7aa8914fb3f05dfde87e4e216 100644
--- a/Makefile
+++ b/Makefile
@@ -501,6 +501,11 @@ data-import-dbsnapshot: 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 ""
+	@sudo -u postgres psql mentat_main -t -e -c "select count(*) from users;"
+	@sudo -u postgres psql mentat_main -t -e -c "select count(*) from groups;"
+	@sudo -u postgres psql mentat_main -t -e -c "select count(*) from filters;"
+	@sudo -u postgres psql mentat_main -t -e -c "select count(*) from networks;"
+	@echo ""
 
 #-------------------------------------------------------------------------------
 
diff --git a/Vagrantfile b/Vagrantfile
index 34fe2976221e0127da4420655adebbc06e43d1f1..dc762cd0d31c1de941cc2d6b1c8ee7c40201f583 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -26,8 +26,16 @@ Vagrant.configure('2') do |config|
   # your network.
   # config.vm.network "public_network"
 
-  config.vm.provision 'bootstrap', type: 'shell', inline: <<-SHELL
-    bash /vagrant/vagrantenv/provision.sh
+  config.vm.provision 'bootstrap_system', type: 'shell', inline: <<-SHELL
+    bash /vagrant/vagrantenv/provisioning/p01_system.sh
+  SHELL
+
+  config.vm.provision 'bootstrap_mentat', type: 'shell', inline: <<-SHELL
+    bash /vagrant/vagrantenv/provisioning/p02_mentat.sh
+  SHELL
+
+  config.vm.provision 'bootstrap_warden', type: 'shell', inline: <<-SHELL
+    bash /vagrant/vagrantenv/provisioning/p03_warden.sh
   SHELL
 
   # Automatically connect as 'mentat' user with ssh command.
diff --git a/conf/scripts/lib.sh b/conf/scripts/lib.sh
index dd274b23006f1918b221d1958c4b07e0f1d5c806..f719af5399394663760fdcf5afd050a54124fbc2 100755
--- a/conf/scripts/lib.sh
+++ b/conf/scripts/lib.sh
@@ -16,3 +16,14 @@ function ensure_link {
 		ln -s $1 $2
 	fi
 }
+
+function print_title {
+	echo "================================================================================"
+	echo " $1"
+	echo "================================================================================"
+	date
+}
+
+function print_subtitle {
+	echo "==========> $1"
+}
diff --git a/vagrantenv/provision.sh b/vagrantenv/provision.sh
deleted file mode 100644
index 1bf8eac2451cf97a94282b02f5fee2fc93c2fd01..0000000000000000000000000000000000000000
--- a/vagrantenv/provision.sh
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/bin/bash
-#-------------------------------------------------------------------------------
-# Initial provisioning of Vagrant environment suitable for Mentat development.
-#
-# Copyright (C) since 2011 CESNET, z.s.p.o
-# Use of this source is governed by the MIT license, see LICENSE file.
-#-------------------------------------------------------------------------------
-
-echo "==========> <BEGIN> provision.sh"
-date
-
-source /vagrant/etc/default/mentat
-source /vagrant/conf/scripts/lib.sh
-
-echo "==========> Configuring timezone and locales"
-echo "Europe/Prague" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata && \
-  sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
-  sed -i -e 's/# cs_CZ.UTF-8 UTF-8/cs_CZ.UTF-8 UTF-8/' /etc/locale.gen && \
-  echo 'LANG="en_US.UTF-8"'>/etc/default/locale && \
-  dpkg-reconfigure --frontend=noninteractive locales && \
-  update-locale LANG=en_US.UTF-8
-
-echo "==========> Preparing system for development"
-chmod g+w /vagrant
-
-echo "==========> Creating Mentat user for development"
-if ! getent passwd ${MENTAT_USER} > /dev/null 2>&1; then
-    useradd -m -s /bin/bash -U ${MENTAT_USER} --groups sudo
-    cp -pr /home/vagrant/.ssh /home/${MENTAT_USER}/
-    chown -R ${MENTAT_USER}:${MENTAT_USER} /home/${MENTAT_USER}
-    echo "%${MENTAT_USER} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/mentat
-    usermod -a -G mentat vagrant
-    usermod -a -G vagrant mentat
-fi
-
-echo "==========> Linking configuration files"
-ensure_link /vagrant/etc/default/mentat /etc/default/mentat
-ensure_link /vagrant/conf /etc/mentat
-ensure_link /vagrant/vagrantenv/.bashrc /root/.bashrc
-ensure_link /vagrant/vagrantenv/.bashrc /home/vagrant/.bashrc
-ensure_link /vagrant/vagrantenv/.bashrc /home/mentat/.bashrc
-ensure_link /vagrant/data/GeoIP.conf /etc/GeoIP.conf
-ensure_link /vagrant/data/geoip /usr/share/GeoIP
-
-echo "==========> Installing essential dependencies"
-apt-get update -qq \
-  && DEBIAN_FRONTEND=noninteractive apt-get -yq dist-upgrade \
-  && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
-    build-essential \
-    gnupg2 \
-    rsync \
-    tmux \
-    curl \
-    wget \
-    less \
-    git \
-    vim \
-    mc \
-    net-tools \
-    openssl \
-    ssl-cert \
-    locales \
-    fakeroot \
-    devscripts \
-    debhelper \
-    lintian \
-  && apt-get clean \
-  && rm -rf /tmp/* /var/tmp/*
-
-echo "==========> Installing third party package repository - PostgreSQL"
-if [ ! -f /etc/apt/sources.list.d/pgdg.list ] ; then
-  curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
-  echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' $PG_MAJOR > /etc/apt/sources.list.d/pgdg.list
-fi
-
-echo "==========> Installing third party package repository - NodeJS"
-if [ ! -f /etc/apt/sources.list.d/nodesource.list ] ; then
-  curl -sL https://deb.nodesource.com/setup_$NODE_MAJOR.x | bash -
-fi
-
-echo "==========> Installing third party package repository - Yarn"
-if [ ! -f /etc/apt/sources.list.d/yarn.list ] ; then
-  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
-  echo 'deb http://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list
-fi
-
-echo "==========> Installing application dependencies"
-apt-get update -qq \
-  && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
-    sudo \
-    bash-completion \
-    python3 \
-    python3-dev \
-    python3-setuptools \
-    python3-pip \
-    python3-venv \
-    libpython3-dev \
-    postgresql-13 \
-    postgresql-13-ip4r \
-    postgresql-client-13 \
-    postgresql-server-dev-13 \
-    libpq-dev \
-    nodejs \
-    yarn \
-    rrdtool \
-    librrd-dev \
-    libdb5.3 \
-    libdb5.3-dev \
-    postfix \
-    mailutils \
-    apache2 \
-    libapache2-mod-wsgi-py3 \
-    init-system-helpers \
-  && apt-get clean \
-  && rm -rf /tmp/* /var/tmp/*
-
-echo "==========> Installing GeoIPupdate tool"
-if [ ! -f /usr/bin/geoipupdate ] && [ ! -e /usr/bin/geoipupdate ] ; then
-  wget -O /tmp/geoipupdate_4.6.0_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v4.6.0/geoipupdate_4.6.0_linux_amd64.deb && \
-    dpkg -i /tmp/geoipupdate_4.6.0_linux_amd64.deb && \
-    rm -f /tmp/geoipupdate_4.6.0_linux_amd64.deb
-fi
-
-echo "==========> Installing Grunt task runner"
-if [ ! -f /usr/bin/grunt ] && [ ! -e /usr/bin/grunt ] ; then
-  npm install -g grunt-cli
-fi
-
-echo "==========> Installing application installation PIP file"
-if [ ! -f /etc/mentat/install.pip ] ; then
-  echo '--editable "/vagrant/"' > /etc/mentat/install.pip
-fi
-
-echo "==========> Preparing Python virtual environment"
-/etc/mentat/scripts/init-venv.sh
-source ${MENTAT_VENV}/bin/activate
-
-echo "==========> Preparing application runtime environment"
-/etc/mentat/scripts/init-runenv.sh
-
-echo "==========> Preparing development environment"
-cd /vagrant/ && make develop-vagrant
-
-echo "==========> Configuring email services for development"
-ensure_link /vagrant/vagrantenv/postfix.main.cf /etc/postfix/main.cf
-systemctl restart postfix.service
-
-ensure_link /vagrant/etc/systemd/system/sendria.service /etc/systemd/system/sendria.service
-mkdir -p /var/sendria
-chown mentat:mentat /var/sendria
-touch /var/log/sendria.log
-chown -R mentat:mentat /var/log/sendria.log
-systemctl daemon-reload
-systemctl start sendria.service
-systemctl enable sendria.service
-
-echo "==========> Tweaking database users"
-for dbuname in root mentat vagrant watchdog
-do
-  sudo -u postgres psql -c "SELECT usename FROM pg_catalog.pg_user;" | grep $dbuname > /dev/null
-  if [ $? -ne 0 ]; then
-      echo "Creating default PostgreSQL user '$dbuname'"
-      sudo -u postgres psql -c "CREATE USER $dbuname WITH SUPERUSER CREATEDB ENCRYPTED PASSWORD '$dbuname';"
-  fi
-done
-#sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-dbmngr.py --command user-add login=admin "fullname=Developer Admin" email=root "organization=CESNET, z.s.p.o." roles=user,admin
-
-echo "==========> Bootstraping database schema and configuration"
-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}/bin/python /vagrant/bin/mentat-precache.py --allow-empty
-
-echo "==========> Configuring Apache to serve development server"
-if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then
-  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
-
-  a2enmod rewrite
-  a2enmod ssl
-  a2enmod wsgi
-  a2dissite 000-default.conf
-  a2dissite default-ssl.conf
-  a2ensite site_mentat_vagrant.conf
-
-  systemctl restart apache2.service
-fi
-
-echo "==========> Installing Warden client library"
-if [ ! -d /opt/warden3 ] ; then
-  git clone https://homeproj.cesnet.cz/git/warden.git/ /opt/warden3
-fi
-mkdir -p /etc/warden_client/warden_filer
-mkdir -p /run/warden_filer
-mkdir -p /var/lib/warden_filer
-chown -R mentat:mentat /run/warden_filer
-chown -R mentat:mentat /var/lib/warden_filer
-ensure_link /opt/warden3/warden_client/warden_client.py /usr/local/bin/warden_client.py
-ensure_link /opt/warden3/warden_filer/warden_filer.py /usr/local/bin/warden_filer.py
-ensure_link /opt/warden3/warden_ra/warden_apply.sh /usr/local/bin/warden_apply.sh
-chmod a+x /usr/local/bin/warden_client.py
-chmod a+x /usr/local/bin/bin/warden_filer.py
-chmod a+x /usr/local/bin/warden_apply.sh
-ensure_link /vagrant/vagrantenv/warden/warden_filer /etc/default/warden_filer
-ensure_link /vagrant/vagrantenv/warden/warden_filer.cfg /etc/warden_client/warden_filer.cfg
-ensure_link /vagrant/vagrantenv/warden/warden_filer_receiver.service /etc/systemd/system/warden_filer_receiver.service
-systemctl daemon-reload
-
-echo "==========> <DONE> provision.sh"
-date
diff --git a/vagrantenv/provisioning/p01_system.sh b/vagrantenv/provisioning/p01_system.sh
new file mode 100644
index 0000000000000000000000000000000000000000..86d528769f2c3f8842aa1f34f5d0a057bd4238e5
--- /dev/null
+++ b/vagrantenv/provisioning/p01_system.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+# Initial provisioning of Vagrant environment suitable for Mentat development.
+#
+# Copyright (C) since 2011 CESNET, z.s.p.o
+# Use of this source is governed by the MIT license, see LICENSE file.
+#-------------------------------------------------------------------------------
+
+
+source /vagrant/etc/default/mentat
+source /vagrant/conf/scripts/lib.sh
+
+print_title '<BEGIN> PROVISIONING BASE SYSTEM'
+
+print_subtitle 'Configuring timezone and locales'
+echo "Europe/Prague" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata && \
+  sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
+  sed -i -e 's/# cs_CZ.UTF-8 UTF-8/cs_CZ.UTF-8 UTF-8/' /etc/locale.gen && \
+  echo 'LANG="en_US.UTF-8"'>/etc/default/locale && \
+  dpkg-reconfigure --frontend=noninteractive locales && \
+  update-locale LANG=en_US.UTF-8
+
+print_subtitle 'Preparing system for development'
+chmod g+w /vagrant
+
+print_subtitle 'Linking configuration files'
+ensure_link /vagrant/vagrantenv/system/.bashrc /root/.bashrc
+ensure_link /vagrant/vagrantenv/system/.bashrc /home/vagrant/.bashrc
+ensure_link /vagrant/data/GeoIP.conf /etc/GeoIP.conf
+ensure_link /vagrant/data/geoip /usr/share/GeoIP
+
+print_subtitle 'Installing essential dependencies'
+apt-get update -qq \
+  && DEBIAN_FRONTEND=noninteractive apt-get -yq dist-upgrade \
+  && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
+    sudo \
+    bash-completion \
+    build-essential \
+    gnupg2 \
+    rsync \
+    tmux \
+    curl \
+    wget \
+    less \
+    git \
+    vim \
+    mc \
+    net-tools \
+    openssl \
+    ssl-cert \
+    locales \
+  && apt-get clean \
+  && rm -rf /tmp/* /var/tmp/*
+
+print_subtitle 'Installing third party package repository - PostgreSQL'
+if [ ! -f /etc/apt/sources.list.d/pgdg.list ] ; then
+  curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
+  echo 'deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main' $PG_MAJOR > /etc/apt/sources.list.d/pgdg.list
+fi
+
+print_subtitle 'Installing third party package repository - NodeJS'
+if [ ! -f /etc/apt/sources.list.d/nodesource.list ] ; then
+  curl -sL https://deb.nodesource.com/setup_$NODE_MAJOR.x | bash -
+fi
+
+print_subtitle 'Installing third party package repository - Yarn'
+if [ ! -f /etc/apt/sources.list.d/yarn.list ] ; then
+  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
+  echo 'deb http://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list
+fi
+
+print_title '<DONE> PROVISIONING BASE SYSTEM'
diff --git a/vagrantenv/provisioning/p02_mentat.sh b/vagrantenv/provisioning/p02_mentat.sh
new file mode 100644
index 0000000000000000000000000000000000000000..9406af9d5057cf7b07ebdf640295f126eca717ae
--- /dev/null
+++ b/vagrantenv/provisioning/p02_mentat.sh
@@ -0,0 +1,133 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+# Initial provisioning of Vagrant environment suitable for Mentat development.
+#
+# Copyright (C) since 2011 CESNET, z.s.p.o
+# Use of this source is governed by the MIT license, see LICENSE file.
+#-------------------------------------------------------------------------------
+
+source /vagrant/etc/default/mentat
+source /vagrant/conf/scripts/lib.sh
+
+print_title '<BEGIN> PROVISIONING MENTAT SYSTEM'
+
+print_subtitle 'Installing application dependencies'
+apt-get update -qq \
+  && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
+    python3 \
+    python3-dev \
+    python3-setuptools \
+    python3-pip \
+    python3-venv \
+    libpython3-dev \
+    postgresql-13 \
+    postgresql-13-ip4r \
+    postgresql-client-13 \
+    postgresql-server-dev-13 \
+    libpq-dev \
+    nodejs \
+    yarn \
+    rrdtool \
+    librrd-dev \
+    libdb5.3 \
+    libdb5.3-dev \
+    postfix \
+    mailutils \
+    apache2 \
+    libapache2-mod-wsgi-py3 \
+    init-system-helpers \
+    fakeroot \
+    devscripts \
+    debhelper \
+    lintian \
+  && apt-get clean \
+  && rm -rf /tmp/* /var/tmp/*
+
+print_subtitle 'Installing Grunt task runner'
+if [ ! -f /usr/bin/grunt ] && [ ! -e /usr/bin/grunt ] ; then
+  npm install -g grunt-cli
+fi
+
+print_subtitle 'Installing GeoIPupdate tool'
+if [ ! -f /usr/bin/geoipupdate ] && [ ! -e /usr/bin/geoipupdate ] ; then
+  wget -O /tmp/geoipupdate_4.6.0_linux_amd64.deb https://github.com/maxmind/geoipupdate/releases/download/v4.6.0/geoipupdate_4.6.0_linux_amd64.deb && \
+    dpkg -i /tmp/geoipupdate_4.6.0_linux_amd64.deb && \
+    rm -f /tmp/geoipupdate_4.6.0_linux_amd64.deb
+fi
+
+print_subtitle 'Creating Mentat user for development'
+if ! getent passwd ${MENTAT_USER} > /dev/null 2>&1; then
+    useradd -m -s /bin/bash -U ${MENTAT_USER} --groups sudo
+    cp -pr /home/vagrant/.ssh /home/${MENTAT_USER}/
+    chown -R ${MENTAT_USER}:${MENTAT_USER} /home/${MENTAT_USER}
+    echo "%${MENTAT_USER} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/mentat
+    usermod -a -G mentat vagrant
+    usermod -a -G vagrant mentat
+fi
+
+print_subtitle 'Linking configuration files'
+ensure_link /vagrant/vagrantenv/system/.bashrc /home/mentat/.bashrc
+ensure_link /vagrant/etc/default/mentat /etc/default/mentat
+ensure_link /vagrant/conf /etc/mentat
+
+print_subtitle 'Preparing Python virtual environment'
+/etc/mentat/scripts/init-venv.sh
+source ${MENTAT_VENV}/bin/activate
+
+print_subtitle 'Preparing application runtime environment'
+/etc/mentat/scripts/init-runenv.sh
+
+print_subtitle 'Preparing development environment'
+cd /vagrant/ && make develop-vagrant
+
+print_subtitle 'Configuring email services for development'
+ensure_link /vagrant/vagrantenv/postfix.main.cf /etc/postfix/main.cf
+systemctl restart postfix.service
+
+ensure_link /vagrant/etc/systemd/system/sendria.service /etc/systemd/system/sendria.service
+mkdir -p /var/sendria
+chown mentat:mentat /var/sendria
+touch /var/log/sendria.log
+chown -R mentat:mentat /var/log/sendria.log
+systemctl daemon-reload
+systemctl start sendria.service
+systemctl enable sendria.service
+
+print_subtitle 'Tweaking database users'
+for dbuname in root mentat vagrant watchdog
+do
+  sudo -u postgres psql -c "SELECT usename FROM pg_catalog.pg_user;" | grep $dbuname > /dev/null
+  if [ $? -ne 0 ]; then
+      echo "Creating default PostgreSQL user '$dbuname'"
+      sudo -u postgres psql -c "CREATE USER $dbuname WITH SUPERUSER CREATEDB ENCRYPTED PASSWORD '$dbuname';"
+  fi
+done
+#sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-dbmngr.py --command user-add login=admin "fullname=Developer Admin" email=root "organization=CESNET, z.s.p.o." roles=user,admin
+
+print_subtitle 'Bootstraping database schema and configuration'
+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
+
+print_subtitle 'Pregenerating application data'
+sudo -u mentat ${MENTAT_VENV}/bin/python /vagrant/bin/mentat-precache.py --allow-empty
+
+print_subtitle 'Configuring Apache to serve development server'
+if [ ! -L /etc/apache2/sites-enabled/site_mentat_vagrant.conf ] ; then
+  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
+
+  a2enmod rewrite
+  a2enmod ssl
+  a2enmod wsgi
+  a2dissite 000-default.conf
+  a2dissite default-ssl.conf
+  a2ensite site_mentat_vagrant.conf
+
+  systemctl restart apache2.service
+fi
+
+print_title '<DONE> PROVISIONING MENTAT SYSTEM'
diff --git a/vagrantenv/provisioning/p03_warden.sh b/vagrantenv/provisioning/p03_warden.sh
new file mode 100644
index 0000000000000000000000000000000000000000..56e85cf3a818611763b9b348a3e40b25224d54dd
--- /dev/null
+++ b/vagrantenv/provisioning/p03_warden.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#-------------------------------------------------------------------------------
+# Initial provisioning of Vagrant environment suitable for Mentat development.
+#
+# Copyright (C) since 2011 CESNET, z.s.p.o
+# Use of this source is governed by the MIT license, see LICENSE file.
+#-------------------------------------------------------------------------------
+
+source /vagrant/etc/default/mentat
+source /vagrant/conf/scripts/lib.sh
+
+print_title '<BEGIN> PROVISIONING WARDEN SYSTEM'
+
+print_subtitle 'Fetching Warden client library'
+if [ ! -d /opt/warden3 ] ; then
+  git clone https://homeproj.cesnet.cz/git/warden.git/ /opt/warden3
+fi
+
+print_subtitle 'Installing Warden client library'
+mkdir -p /etc/warden_client/warden_filer
+mkdir -p /run/warden_filer
+mkdir -p /var/lib/warden_filer
+chown -R mentat:mentat /run/warden_filer
+chown -R mentat:mentat /var/lib/warden_filer
+ensure_link /opt/warden3/warden_client/warden_client.py /usr/local/bin/warden_client.py
+ensure_link /opt/warden3/warden_filer/warden_filer.py /usr/local/bin/warden_filer.py
+ensure_link /opt/warden3/warden_ra/warden_apply.sh /usr/local/bin/warden_apply.sh
+chmod a+x /usr/local/bin/warden_client.py
+chmod a+x /usr/local/bin/warden_filer.py
+chmod a+x /usr/local/bin/warden_apply.sh
+ensure_link /vagrant/vagrantenv/warden/warden_filer /etc/default/warden_filer
+ensure_link /vagrant/vagrantenv/warden/warden_filer.cfg /etc/warden_client/warden_filer.cfg
+ensure_link /vagrant/vagrantenv/warden/warden_filer_receiver.service /etc/systemd/system/warden_filer_receiver.service
+systemctl daemon-reload
+
+print_title '<DONE> PROVISIONING WARDEN SYSTEM'
diff --git a/vagrantenv/.bashrc b/vagrantenv/system/.bashrc
similarity index 97%
rename from vagrantenv/.bashrc
rename to vagrantenv/system/.bashrc
index 5bee3022664be7a060ecdf1a239ae8242ce4d627..535c53017f4b2d6e421119d4bd77523167528b7f 100644
--- a/vagrantenv/.bashrc
+++ b/vagrantenv/system/.bashrc
@@ -126,8 +126,8 @@ fi
 if [ ! -z "$SSH_CONNECTION" ]; then
     echo ""
     echo ""
-    if [ -x /vagrant/vagrantenv/system-banner.sh ]; then
-        /vagrant/vagrantenv/system-banner.sh
+    if [ -x /vagrant/vagrantenv/system/login-banner.sh ]; then
+        /vagrant/vagrantenv/system/login-banner.sh
     fi
     echo ""
 fi
diff --git a/vagrantenv/system-banner.sh b/vagrantenv/system/login-banner.sh
similarity index 100%
rename from vagrantenv/system-banner.sh
rename to vagrantenv/system/login-banner.sh