# -*- mode: ruby -*-
# vi: set ft=ruby :

$script = <<SCRIPT
echo I am provisioning...
PG_VERSION=12
zypper --non-interactive install "postgresql$PG_VERSION" "postgresql$PG_VERSION-contrib" "postgresql$PG_VERSION-server"
"/usr/pgsql-$PG_VERSION/bin/postgresql-$PG_VERSION-setup" initdb
systemctl enable "postgresql"
systemctl start "postgresql"
PG_CONF="/var/lib/pgsql/$PG_VERSION/data/postgresql.conf"
PG_HBA="/var/lib/pgsql/$PG_VERSION/data/pg_hba.conf"
PG_DIR="/var/lib/pgsql/$PG_VERSION/data"
sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" "$PG_CONF"
echo "host all all all md5" >> "$PG_HBA"
echo "client_encoding = utf8" >> "$PG_CONF"
echo "max_replication_slots = 10" >> "$PG_CONF"
echo "wal_level = logical" >> "$PG_CONF"
cat << EOF | su - postgres -c psql
ALTER USER postgres WITH PASSWORD 'postgres';
EOF
systemctl restart "postgresql"
zypper install -t pattern kde
systemctl set-default graphical.target
date > /etc/vagrant_provisioned_at
SCRIPT

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: $script
  config.vm.box = "opensuse/Tumbleweed.x86_64"
  config.vm.box_url = "https://app.vagrantup.com/opensuse/boxes/Tumbleweed.x86_64"
  config.vm.host_name = "omnidbuatopensuse"
  config.vm.provider :virtualbox do |vb|
    vb.name = "omnidb_uat_opensuse"
    vb.gui = true
    vb.memory = 2048
    vb.cpus = 2
  end
end