# -*- coding: utf-8 -*-
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  Encoding.default_external = "utf-8"
  if Vagrant.has_plugin?("vagrant-vbguest")
    config.vbguest.auto_update = false
    config.vbguest.no_remote = true
  end
  config.vm.box = "takesako/alpine-virt-v3.19"
  config.vm.box_version = "3.19.1"
  config.vm.box_check_update = false
  config.vm.boot_timeout = 300
  config.ssh.insert_key = false
  # config.ssh.guest_port = 2222
  config.vm.network "forwarded_port", guest: 80, host: 9999
  config.vm.network "forwarded_port", guest: 8888, host: 8888
  config.vm.provider :virtualbox do |vb|
    vb.gui = true
  end
  config.vm.provider :vmware_desktop do |v|
    v.gui = true
    v.ssh_info_public = true
    v.linked_clone = false
    v.whitelist_verified = true
  end
  # config.vm.synced_folder ".", "/vagrant", type: "virtualbox", SharedFoldersEnableSymlinksCreate: false
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
  config.vm.provision "shell", inline: <<-SHELL
    echo "https://www.10t.dev/alpine-iot/v3.19" >> /etc/apk/repositories
    wget -P /etc/apk/keys https://www.10t.dev/alpine-iot/keys/takesako@namazu.org-587ad2bb.rsa.pub
    apk update
    apk add varnish vmod-parseform
    ln -s /vagrant/default.vcl /etc/varnish/default.vcl
    echo 'VARNISHD_OPTS="-a :8888"' >> /etc/conf.d/varnishd
    service varnishd start
    rc-update add varnishd
    apk add mariadb mariadb-client perl perl-cgi perl-dbd-mysql
    service mariadb setup
    service mariadb start
    rc-update add mariadb
    mysql < /vagrant/sql/dump.sql
    apk add apache2 apache2-utils
    mkdir -p /usr/local/apache
    ln -s /vagrant/cgi-bin /usr/local/apache/cgi-bin
    ln -s /vagrant/data    /usr/local/apache/data
    ln -s /vagrant/htdocs  /usr/local/apache/htdocs
    ln -s /var/log/apache2 /usr/local/apache/logs
    ln -s /etc/apache2/    /usr/local/apache/conf
    cp /vagrant/badstore.conf /etc/apache2/conf.d/
    chmod a+x /usr/local/apache/cgi-bin/*.cgi
    sed -i 's/^[[:space:]]*ScriptAlias/#&/' /etc/apache2/httpd.conf
    chmod a+w /vagrant /vagrant/data
    service apache2 start
    rc-update add apache2
  SHELL
end
